如何停止 DynamoDB 中当前的索引创建操作?

How to stop the current Index creation Operation in DynamoDB?

我正在尝试在 DynamoDB table 中添加一个大小约为 200MB 的索引。

它花了将近 15 个小时,仍然是 运行。 我已经检查过我是否为索引提供了低 read/write IOPS。 现在我想增加 IOPS 并重新开始创建索引 activity。

任何想法 - 如果可以取消当前操作?

谢谢

https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/GSI.OnlineOps.html

You cannot cancel an in-flight global secondary index creation.

但从好的方面来说,您认为需要取消操作才能更改吞吐量是不正确的。

If the provisioned write throughput setting on the index is too low, the index build will take longer to complete. To shorten the time it takes to build a new global secondary index, you can increase its provisioned write capacity temporarily.

编辑:

After the index has been created, you should set its provisioned write capacity to reflect the normal usage of your application.

您可以使用 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

您可能还想使用以下命令提高主 table 上的值一分钟:

aws dynamodb update-table --table-name mytablename --provisioned-throughput ReadCapacityUnits=100,WriteCapacityUnits=1

创建并加载索引后,使用较小的值重新运行上面的命令以适应您的正常流量。