schema.graphqlのテーブル構成を変更し、schemaの破壊的な更新を行うべく以下コマンドを実行したらエラーとなったので解決法をまとめました。
実行したコマンド
% amplify push --allow-destructive-graphql-schema-updates
エラー文
🛑 The following resources failed to deploy:
🛑 An error occurred during the push operation: /
Resource is not in the state stackUpdateComplete
AWS公式より以下の記事がアドバイスが上がっていました。
AWS Amplify での CloudFormation スタックの問題をトラブルシューティングする
AWS Amplify アプリケーションをデプロイしようとすると、「Resource is not in the state stackUpdateComplete」(リソースは stackUpdateComplete の状態ではありません) というような AWS CloudFormation エラーが表示されます。こ...
まずはCloudFormationを見に行きましょう!
CloudFormationのStacksを確認すると、おそらくStatusが「UPDATE_ROLLBACK_COMPLETE」となっています。
(「View nested」のトグルをoffにすると見やすくなります。)
Stack nameのところから詳細を開きます。
Eventsタブを開きます。
この中のStatusが×になっているところに注目し、Status reasonを確認します。
ここでは、以下の理由が上がっていました。
Parameters: [AuthCognitoUserPoolId] must have values
The following resource(s) failed to create: [UpdateRolesWithIDPFunctionRole, authnextjscalendar06e811c6].
The following resource(s) failed to update: [apinextjscalendar].
どうやらauthの設定がうまくいっていないようですね。
amplify update apiを実行します。
% amplify update api --allow-destructive-graphql-schema-updates
? Select from one of the below mentioned services: GraphQL
General information
- Name: nextjscalendar
- API endpoint: https://***.appsync-api.ap-northeast-1.amazonaws.com/graphql
Authorization modes
- Default: API key expiring Wed Oct 05 2022 23:00:00 GMT+0900 (Japan Standard Time): da2-***
- Amazon Cognito User Pool
Conflict detection (required for DataStore)
- Disabled
? Select a setting to edit Authorization modes
? Choose the default authorization type for the API API key
✔ Enter a description for the API key: ·
✔ After how many days from now the API key should expire (1-365): · 7
? Configure additional auth types? No
そして再度amplify push
% amplify push --allow-destructive-graphql-schema-updates
これにて解消しました!!
以上、お読みいただきありがとうございました。
コメント