首页 > 解决方案 > 从 AWS DataPipeline 增加和减少 DynamoDb RCU

问题描述

我有一个写密集型的AWS DynamoDb表。我已经使用10,000WCU 和1000RCU 将其配置为预置容量模式。

我正在使用AWS Datapipeline将 DynamoDb 内容导出到 S3。流水线配置了读吞吐率75%

在此设置~2 hours中导出数据需要花费时间。~150GB当我将 RCU 增加到10,000导出时,不到 20 分钟就完成了。

DataPipeline 中是否有任何方法可以仅在我的管道运行时增加预置的 RCU?由于此管道配置为一天仅运行一次。

标签: amazon-web-servicesamazon-dynamodbamazon-data-pipelineaws-data-pipeline

解决方案


您无法从数据管道作业中控制 DynamoDB 容量。

但是,您可以使用 AWS Step Functions 将ETL 作业与其他任意步骤进行编排。因此,您的解决方案可能是一个计划的CloudWatch 事件,它启动一个 Step Function来:

  1. 设置 DynamoDB 表的容量。(我认为您需要为此编写一个简单的 Lambda 函数,因为 Step Functions 无法直接执行此操作。)
  2. 调用启动数据管道作业的 Lambda
  3. 等待作业完成
  4. 重置表的读取容量

其他资源


推荐阅读