Name:
interface
Value:
Amplify has re-imagined the way frontend developers build fullstack applications. Develop and deploy without the hassle.

Page updated Nov 15, 2024

Maintenance ModeYou are viewing Amplify Gen 1 documentation. Amplify Gen 1 has entered maintenance mode and will reach end of life on May 1, 2027. New project should use Amplify Gen 2. For existing Gen 1 projects, a migration guide and tooling are available to help you upgrade. Switch to the latest Gen 2 docs →

API Key Not Found の問題

Amplify プロジェクトで「API Key Not Found」の問題が発生している場合は、以下の手順に従ってトラブルシューティングと解決を行ってください。

ステップ 1: API キーを削除するために parameters.json を変更する

  1. プロジェクト内の amplify/backend/api/<api-name>/parameters.json ファイルに移動します。
  2. ファイルに次の行を追加します。
amplify/backend/api/<api-name>/parameters.json
{
"CreateAPIKey": 0
}

これが JSON オブジェクトの最後に追加される場合は、前の行の後にコンマを配置してください。

ステップ 2: Lambda 関数の属性から API キーを削除する

  1. amplify/backend/backend-config.json ファイルを開きます。

  2. GraphQLAPIKeyOutput を含む JSON 属性配列を見つけます。

  3. GraphQLAPIKeyOutput エントリを削除して配列を変更します。例えば:

    • 次を変更:

      amplify/backend/backend-config.json
      {
      "attributes": [
      "GraphQLAPIIdOutput",
      "GraphQLAPIEndpointOutput",
      "GraphQLAPIKeyOutput"
      ]
      }
    • 次のようにします:

      amplify/backend/backend-config.json
      {
      "attributes": [
      "GraphQLAPIIdOutput",
      "GraphQLAPIEndpointOutput"
      ]
      }

      API を使用する各 Lambda 関数に対してこの変更を実行してください。

ステップ 3: 変更を適用する

  1. クラウドに変更をプッシュします。
amplify push -y

このプロセスが完了すると、API キーはアプリケーションと関連する Lambda 関数の両方から削除されます。

ステップ 4: API キーを復元する

  1. amplify/backend/api/<apiName>/parameters.json から CreateAPIKey: 0 エントリを削除します。
  2. 変更をプッシュして、API キーをアプリケーションに復元します。
amplify push -y

このステップ後、API キーはアプリケーションに復元されますが、Lambda 関数には関連付けられません。

ステップ 5: Lambda 関数リソースを更新する

  1. 次のコマンドを使用して、以前に API に関連付けられていた各 Lambda 関数を更新します。
amplify update function
  1. プロンプトに従って Lambda からリソースを削除します。
  2. 同じコマンドを使用して、API を各 Lambda 関数に復元します。
amplify update function
  1. 最後に、変更をプッシュしてを適用します。
amplify push -y

これにより、プロセスが完了し、「API Key Not Found」の問題が解決されます。