我最近在进行无服务器部署时遇到了这个问题:
ServerlessError: An error occurred: MyDdbTable - Cannot perform more than one GSI creation or deletion in a single update.
我的DDB表格配置如下:
在serverless.yml中的配置
AttributeDefinitions:
- AttributeName: externalId
AttributeType: S
- AttributeName: code
AttributeType: S
- AttributeName: accountId
AttributeType: S
KeySchema:
- AttributeName: externalId
KeyType: HASH
- AttributeName: code
KeyType: RANGE
GlobalSecondaryIndexes:
- IndexName: gsi-account-id
KeySchema:
- AttributeName: accountId
KeyType: HASH
- AttributeName: code
KeyType: RANGE
Projection:
ProjectionType: ALL
- IndexName: externalId
KeySchema:
- AttributeName: externalId
KeyType: HASH
Projection:
ProjectionType: ALL
- IndexName: code
KeySchema:
- AttributeName: code
KeyType: RANGE
Projection:
ProjectionType: ALL
附加信息:
- 已经存在一个索引,即
gsi-account-id
,其中包含两个键模式:accountId
和code
- 我添加了两个额外的索引,分别是
externalId
和code
目标:
我的目标是添加这两个额外的索引(externalId
和code
),但在进行无服务器部署时,我总是遇到上面提到的问题。
问题:
- 如果第一键模式(gsi-account-id)中已经存在该代码,我是否会遇到此问题?
- 如果问题1不是答案,你有任何想法/建议吗?
感谢那些将帮助我的人。 ❤️