Zha*_* Yi 6 amazon-dynamodb serverless-framework
我正在使用serverless
框架来管理 AWS 基础设施,并且我已经使用 GSI 定义了 dynamodb 表。现在我需要更新 GSi 的投影类型,但我知道这是不允许的。因此,我手动从 dynamodb 表中删除 GSI,但运行时仍然出现以下错误sls deploy
:
An error occurred: DeviceTable - Cannot update GSI's properties other than Provisioned Throughput. You can create a new GSI with a different name..
我不明白的是,GSI 已被删除,但为什么它仍然抱怨 GSI 的属性。还有什么地方记得GIS吗?这样做的正确方法是什么?
小智 8
我有同样的错误。我使用 CDK,但我认为问题与无服务器框架相同。我解决如下:
这对我来说就是这样的。
ps: 不能用新索引替换,如上所述,需要删除旧索引,然后添加新索引。或者您最终会收到如下错误消息:“无法在一次更新中执行多个 GSI 创建或删除”
我也遇到过同样的问题。我尝试更改我的ProjectionType但之后我serverless deployment
开始失败并出现相同的错误。正如问题中提到的,我还从 DynamoDb 中删除了我的 GSI,但这对我也没有帮助。在谷歌搜索了很多之后,我没有得到正确的答案。但这就是我最终解决的方法。
Template
选项卡。View in Designer
按钮或链接,无论您如何称呼它。Choose template Language
选择YAML
作为选项。Save
。Template
选项卡,这次单击按钮Update
。Replace current template
和Update a template file
。这里上传之前保存的Serverless文件,点击下一步最后上传。就是这样,现在如果您yarn sls
再次运行命令,它不会阻止您部署新的 DynamoDb GSI 投影设置。
还有一点提示,在 Cloud 上创建新的 GSI 需要一些时间,因此请耐心等待,并Status Active
在 DynamoDb 表的 选项卡下查找Indexes
。
归档时间: |
|
查看次数: |
7230 次 |
最近记录: |