API Key Not Found の問題
Amplify プロジェクトで「API Key Not Found」の問題が発生している場合は、以下の手順に従ってトラブルシューティングと解決を行ってください。
ステップ 1: API キーを削除するために parameters.json を変更する
- プロジェクト内の
amplify/backend/api/<api-name>/parameters.jsonファイルに移動します。 - ファイルに次の行を追加します。
amplify/backend/api/<api-name>/parameters.json
{ "CreateAPIKey": 0}これが JSON オブジェクトの最後に追加される場合は、前の行の後にコンマを配置してください。
ステップ 2: Lambda 関数の属性から API キーを削除する
-
amplify/backend/backend-config.jsonファイルを開きます。 -
GraphQLAPIKeyOutputを含む JSON 属性配列を見つけます。 -
GraphQLAPIKeyOutputエントリを削除して配列を変更します。例えば:-
次を変更:
amplify/backend/backend-config.json{"attributes": ["GraphQLAPIIdOutput","GraphQLAPIEndpointOutput","GraphQLAPIKeyOutput"]} -
次のようにします:
amplify/backend/backend-config.json{"attributes": ["GraphQLAPIIdOutput","GraphQLAPIEndpointOutput"]}API を使用する各 Lambda 関数に対してこの変更を実行してください。
-
ステップ 3: 変更を適用する
- クラウドに変更をプッシュします。
amplify push -yこのプロセスが完了すると、API キーはアプリケーションと関連する Lambda 関数の両方から削除されます。
ステップ 4: API キーを復元する
amplify/backend/api/<apiName>/parameters.jsonからCreateAPIKey: 0エントリを削除します。- 変更をプッシュして、API キーをアプリケーションに復元します。
amplify push -yこのステップ後、API キーはアプリケーションに復元されますが、Lambda 関数には関連付けられません。
ステップ 5: Lambda 関数リソースを更新する
- 次のコマンドを使用して、以前に API に関連付けられていた各 Lambda 関数を更新します。
amplify update function- プロンプトに従って Lambda からリソースを削除します。
- 同じコマンドを使用して、API を各 Lambda 関数に復元します。
amplify update function- 最後に、変更をプッシュしてを適用します。
amplify push -yこれにより、プロセスが完了し、「API Key Not Found」の問題が解決されます。