Grandream
1 min read
Cannot perform more than one GSI creation or deletion in a single updateが出た時の対処方法
結論
結論を先にいうと
GSIを削除するデプロイを行った後にGSIを作成するデプロイを行うとエラーが出なくなります。
エラー発生まで
この日はserverlessでグローバルセカンダリインデックスを作成し、デプロイしました。
GlobalSecondaryIndexes:
- IndexName: Search
KeySchema:
- AttributeName: email
KeyType: HASH
Projection:
ProjectionType: ALLですがインデックス名をもっと具体的にした方がいいと思い、インデックス名を変えてデプロイしました。
GlobalSecondaryIndexes:
- IndexName: SearchUserByEmailGSI
KeySchema:
- AttributeName: email
KeyType: HASH
Projection:
ProjectionType: ALLすると以下のようなエラーが出ました。
An error occurred: テーブル名 - Cannot perform more than one GSI creation or deletion in a single update.解決
中3の英語文法すら怪しい英語力なのでperformをみた瞬間英訳するのをやめ、googleの検索フォームにエラー内容をコピーしていました。
調べた結果、削除と作成を別々に行うといいということがわかりました。
GSI名を変えただけだと思っていたのですがserverless的には削除と作成を同時に行おうとしていたのですね
Grandream
株式会社グランドリーム
AI・システム開発のプロフェッショナルチームです。AIエージェント・業務自動化・Webシステム開発などを手がけています。