DynamoDB 与 Amazon OpenSearch Service 的零 ETL 集成 - Amazon DynamoDB
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

DynamoDB 与 Amazon OpenSearch Service 的零 ETL 集成

Amazon DynamoDB 支持通过适用于 OpenSearch Ingestion 的 DynamoDB 插件,与 Amazon OpenSearch Service 进行零 ETL 集成。Amazon OpenSearch Ingestion 为将数据摄取到 Amazon OpenSearch Service 提供了完全托管的无代码体验。

借助适用于 OpenSearch Ingestion 的 DynamoDB 插件,您可以使用一个或多个 DynamoDB 表作为源,来将数据摄取到一个或多个 OpenSearch Service 索引。您可以在 Amazon Web Services Management Console中,通过 OpenSearch Ingestion 或 DynamoDB 集成浏览和配置您的 OpenSearch Ingestion 管道,将 DynamoDB 作为源。

工作方式

该插件使用 DynamoDB 导出到 Amazon S3 来创建要加载到 OpenSearch 中的初始快照。加载快照后,该插件使用 DynamoDB Streams 近乎实时地复制任何进一步的更改。在 OpenSearch Ingestion 中,每个项目都作为一个事件进行处理,并且可以使用处理器插件进行修改。您可以删除属性或创建复合属性,然后通过路由将其发送到不同的索引。

要使用导出到 Amazon S3 特征,您必须启用时间点故障恢复(PITR)。您还必须启用 DynamoDB Streams(选择新旧映像选项)才能使用该特征。通过排除导出设置,可以在不拍摄快照的情况下创建管道。

您还可以通过排除流设置来创建仅包含快照而不包含更新的管道。该插件不使用表上的读取或写入吞吐量,因此可以安全使用,其不会影响您的生产流量。在创建此集成或其它集成之前,您应该考虑同时使用流的使用者数量限制。有关其它注意事项,请参阅与 DynamoDB 集成的最佳实践

对于简单的管道,一个 OpenSearch 计算单位(OCU)可以每秒处理大约 1 MB 的写入量。这相当于大约 1000 个写入请求单位(WCU)。根据管道的复杂性和其它因素,写入量大小会有所差异。

OpenSearch Ingestion 支持死信队列(DLQ),用于处理导致不可恢复的错误的事件。此外,即使 DynamoDB、管道或 Amazon OpenSearch Service 出现服务中断,管道也可以在没有用户干预的情况下,从中断的地方恢复。

如果中断持续时间超过 24 小时,则可能会导致更新丢失。但是,该管道将继续处理可用性恢复后仍可用的更新。除非事件在死信队列中,否则您需要重新构建索引来修复由于事件丢弃而导致的任何违规行为。

有关该插件的所有设置和详细信息,请参阅 OpenSearch Ingestion DynamoDB 插件文档

控制台中的集成创建体验

DynamoDB 和 OpenSearch Service 在 Amazon Web Services Management Console中具有集成式体验,这简化了入门流程。当您完成这些步骤时,该服务将自动选择 DynamoDB 蓝图并为您添加相应的 DynamoDB 信息。

要创建集成,请按照 OpenSearch Ingestion 入门指南中的说明进行操作。进入步骤 3:创建管道后,将步骤 1 和 2 替换为以下步骤:

  1. 导航到 DynamoDB 控制台。

  2. 在左侧导航窗格中,选择集成

  3. 选择要复制到 OpenSearch 的 DynamoDB 表。

  4. 选择创建

您可以在此继续学习本教程的其余部分。

后续步骤

要更好地了解 DynamoDB 如何与 OpenSearch Service 集成,请参阅以下内容: