我尝试在大小约为 200MB 的 DynamoDB 表中添加索引。
它花了将近 15 个小时,并且仍在运行。我检查了我是否为索引提供了低读/写 IOPS。现在我想增加 IOPS 并重新启动索引创建活动。
任何想法 - 如果可以取消当前操作?
谢谢
我尝试在大小约为 200MB 的 DynamoDB 表中添加索引。
它花了将近 15 个小时,并且仍在运行。我检查了我是否为索引提供了低读/写 IOPS。现在我想增加 IOPS 并重新启动索引创建活动。
任何想法 - 如果可以取消当前操作?
谢谢
https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GSI.OnlineOps.html
您不能取消进行中的全局二级索引创建。
但从好的方面来说,您需要取消操作以更改吞吐能力是不正确的。
如果索引上的预置写入吞吐量设置太低,则索引构建将需要更长的时间才能完成。为了缩短构建新全局二级索引所需的时间,您可以临时增加其预置写入容量。
编辑:
创建索引后,您应该设置其预置写入容量以反映应用程序的正常使用情况。
您可以使用 AWS CLI 调整当前运行的索引创建的读取容量单位和写入容量单位值:
创建一个名为 gsi-update-MyIndex.json 的文件,其内容如下:
[
{
"Update": {
"IndexName": "BluekaiID-index",
"ProvisionedThroughput": {
"ReadCapacityUnits": 1,
"WriteCapacityUnits": 100
}
}
}
]
然后,执行以下命令:
aws dynamodb update-table --table-name mytablename --global-secondary-index-updates file://gsi-update-MyIndex.json
您可能还想使用以下命令将主表上的值提高一分钟:
aws dynamodb update-table --table-name mytablename --provisioned-throughput ReadCapacityUnits=100,WriteCapacityUnits=1
完成并加载索引创建后,使用较小的值重新运行上述命令以适应您的正常流量。