Grandream

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

Grandream

株式会社グランドリーム

AI・システム開発のプロフェッショナルチームです。AIエージェント・業務自動化・Webシステム開発などを手がけています。

Grandream の技術力についてご相談ください

記事の内容についての質問・AI活用・システム開発のご相談をお気軽に。

無料で相談する