# 从写入表提取更改

当用户在[可编辑列](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Visualizations/WriteTable/Create/editable-column.htm)的写入表中添加数据时，其更改不会应用于应用程序的数据模型。它们也是临时的——更改会存储在 Qlik 管理的[](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Visualizations/WriteTable/Extract/write-table-extract-data.htm#ChangeStore)[更改存储](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Visualizations/WriteTable/Create/change-store.htm)中 90 天，之后将被删除。

您可以通过 更改存储 API 检索这些更改。这些更改可以通过多种方式使用，包括：

* 将更改加载到 QVD 文件或应用程序中，以便在 Qlik Cloud 中进行永久存储和使用。

* 提取更改，并将其添加到外部系统，例如 Excel 电子表格或 SQL 数据库。

* 将数据动态集成到自动化流程中，例如发送电子邮件和采购库存。

* 构建您自己的应用程序，并将对 更改存储 API 的调用集成到您的操作工作流中。

## 先决条件

在访问更改存储中保存的数据之前，您需要能够访问 更改存储 API。为此，您需要：

* Qlik Cloud租户的 API 密钥。请参阅[管理 API 密钥](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Admin/mc-generate-api-keys.htm)。

* 由租户管理员分配的、用于处理写入表所需的权限。请参阅：

  * [设置写入表的权限](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Admin/write-table-permissions.htm)（基于容量的订阅）

  * [设置写入表的权限](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Admin/write-table-permissions-capacity.htm)（基于用户的订阅）

* 更改存储 ID。这可以在工作表上创建写入表后获取。请参阅[使用更改存储](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Visualizations/WriteTable/Create/change-store.htm)。

## 用于提取更改的可用工具

您可以使用以下工具从更改存储 API中提取和使用更改：

* Qlik Automate

* 通过Qlik脚本编写和数据准备提供的REST连接器。

相关示例和用例，请参见：

* [使用 Qlik Automate 提取写入表更改](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Visualizations/WriteTable/Extract/write-table-extract-data.htm#ExampleAutomateMain)

* [使用 REST 连接器提取写入表更改](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Visualizations/WriteTable/Extract/write-table-extract-data.htm#ExampleAutomate1)

* [注释表的用例](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Visualizations/WriteTable/Stories/stories.htm)

## 使用 Qlik Automate 提取写入表更改

通过使用 Change Store 中 Qlik Cloud Services 连接器中的 Qlik Automate 块，可以提取更改存储中保存的更改。此连接器会自动连接到自动化所有者的 Qlik 账户，因此无需额外的身份验证步骤。

有关 Qlik Automate 的更多信息可在 [Qlik Automate](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_QlikAutomation/introduction/home-automation.htm) 获取。

可用的 Qlik Automate 块以提取写入表更改

可用的 Qlik Automate 块以提取写入表更改

可用的 Qlik AutomateQlik Automate 块以提取写入表更改 ![Automation with available connector blocks for interacting with write table change stores](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_write-table-automations-overview.png)

### 列出更改存储中的当前更改

List Current Changes From Change Store块使用API端点/changes/tabular-views，并且只会返回每个单元格的最新值（换句话说，它返回当前值）。它将这些值作为对象列表返回，其中每个对象都包含主键和更改值。每条记录还扩展了一个updatedAt时间戳，用于记录上次更新的日期时间，以及一个updatedBy用户ID，用于标识进行此更改的用户。

Qlik Automate 中的 List Current Changes From Change Store 块

Qlik Automate 中的 List Current Changes From Change Store 块

Qlik AutomateQlik Automate 中的 List Current Changes From Change StoreList Current Changes From Change Store 块 ![](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_write-table-block-change-store-list-changes.png)

### 列出更改存储历史记录

The List Change Store History 块使用 /changes API 端点，并返回每个单元格的完整历史记录。如果一个单元格被多次更新，那么这个块将返回每次更新的每个值、userId 和 updatedAt 时间戳。

Qlik Automate 中的 List Change Store History 块

Qlik Automate 中的 List Change Store History 块

Qlik AutomateQlik Automate 中的 List Change Store HistoryList Change Store History 块 ![](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Resources/Images/ui_write-table-block-change-history.png)

### 使用模板

如果您要将数据提取到 MySQL 数据库，也可以从自动化模板开始。以下模板在 Insights to Action 下可用：

* Extract Change Store Data to a MySQL Database

* Extract Change Store Data to a MySQL Database in Bulk

这些模板将 Change Store 块（如上所述）与其他块一起排列，以帮助您更快地提取数据。只需调整块参数即可连接到您的资源。有关详细演练，请参阅[此社区文章](https://community.qlik.com/t5/Official-Support-Articles/How-to-extract-changes-from-the-Change-Store-Write-Table-and/ta-p/2537848)。

## 使用 REST 连接器提取写入表更改

此示例展示了如何将 REST 连接配置到 更改存储 API。此连接可用于从 API 拉取数据，然后将更改加载回应用程序或将其存储到 Qlik Cloud 中的 QVD。

执行以下操作：

1. 在 Qlik Cloud Analytics 中，创建到 REST 连接器的新连接。请参阅[添加数据连接](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/DataSource/add-data-connections.htm)。

2. 为连接设置以下参数：

   * URL：your\_tenant\_base\_URL/api/analytics/change-stores/your change store id/changes/tabular-views

   * Additional request parameters

     * Query parameters

       * Limit (Key): 100 (Value)

     * Query headers

       * Authorization (Key): Bearer your\_API\_token (Value)

   * Pagination type：Next URL

     * 'Next url' path：links/next/href

## 了解详情

* [如何从变更存储（写入表）中提取变更并使用 Qlik Automate 将其存储在数据库中](https://community.qlik.com/t5/Official-Support-Articles/How-to-extract-changes-from-the-Change-Store-Write-Table-and/ta-p/2537848)

* [使用更改存储](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Visualizations/WriteTable/Create/change-store.htm)

* [创建写入表](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Visualizations/WriteTable/Create/create.htm)

* [注释表](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Visualizations/WriteTable/Analyze/write-table.htm)

* [配置可编辑列](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Visualizations/WriteTable/Create/editable-column.htm)

* [写入表中的主键](https://help.qlik.com/zh-CN/cloud-services/Subsystems/Hub/Content/Sense_Hub/Visualizations/WriteTable/Create/primary-key.htm)