レスポンス エラーのトラブルシューティング

Cloud Endpoints Frameworks API に対するリクエストから正常なレスポンスが得られない場合は、Google Cloud Platform Console で Stackdriver Logging を使用してトラブルシューティングに役立てます。

ログの表示

  1. GCP Console で、[Stackdriver Logging] > [ログ](ログビューア)ページに移動します。

    ログビューア ページに移動

  2. ページの上部にあるプロジェクト プルダウン リストから、API を作成した GCP プロジェクトを選択します。

  3. [GAE アプリケーション] と [すべてのログ] を選択します。

  4. エラーを示す行が表示されるまで、時間範囲を調整します。

  5. [すべて展開] をクリックして、エラーのログ全体を表示します。

次のセクションでは、特定のエラー メッセージに関するトラブルシューティング情報を示します。問題を解決できない場合は、エラーを示すログエントリの 1 つをコピーして、テキスト ファイルに貼り付けます。Google へのご連絡の際にそのログをご提供ください。

503 Service Unavailable

App Engine からリクエストへのレスポンスが返されるまで数分かかることがあります。リクエストを送信して 503 エラーが返された場合は、数分待ってからもう一度リクエストしてください。それでも正常なレスポンスが返されない場合は、Stackdriver のログを確認してください。Stackdriver のログに含まれるいくつかのエラー メッセージを次に示します。

エラー メッセージ トラブルシューティング
No service YOUR_PROJECT_ID.appspot.com found or permission denied. If this is a new Endpoints service, make sure you've deployed the service config using gcloud. app.yaml ファイルで指定されたサービスのサービス構成を読み込めない場合に Endpoints Frameworks for Python がこのエラーをログに記録します。このエラーは、gcloud endpoints services deploy を使用して API の OpenAPI ドキュメントをまだデプロイしていない場合、または Service Management API が有効になっていない場合に発生することがあります。API の OpenAPI ドキュメントをデプロイすると、gcloud コマンドによって自動的に以下が有効化されます。
  • Google Service Management API(servicemanagement.googleapis.com
  • Google Cloud Endpoints(endpoints.googleapis.com)
  • Google Cloud API(cloudapis.googleapis.com
これらのサービスを無効にしている場合は、再び有効化する必要があります。詳細については、API の有効化と無効化をご覧ください。
The service YOUR_PROJECT_ID.appspot.com was found, but no service config was found for version SERVICE_CONFIG_ID. app.yaml ファイルの ENDPOINTS_SERVICE_VERSION に指定されたサービス構成 ID が見つからない場合に Endpoints Frameworks for Python がこのエラーをログに記録します。このエラーを解決するには、次のようにします。
  1. サービス構成 ID を取得します
  2. app.yaml ファイルを編集し、ENDPOINTS_SERVICE_VERSION をサービス構成 ID に設定します。
  3. アプリを再デプロイします。
    
    gcloud app deploy

404 Not Found

Endpoints Frameworks バージョン 2 に移行後 404 Not Found エラー メッセージが表示されるようになった場合は、次のセクションを参照して問題を解決します。

サンプル Invoke-WebRequest に関する問題

Windows PowerShell の一部のバージョンでは、チュートリアルのサンプル Invoke-WebRequest が失敗します。また、文字に変換しなければならない符号なしバイトのリストがレスポンスに含まれていたという報告もあります。サンプル Invoke-WebRequest から返された結果が期待どおりでない場合は、別のアプリケーションを使用してリクエストを送信してみてください。いくつかの対処方法を以下に示します。

  • Cloud Shell を起動し、同じチュートリアルに示されている Linux の手順に従ってリクエストを送信します。
  • Chrome ブラウザの拡張機能である Postman(提供元: www.getpostman.com)などのサードパーティ製アプリケーションを使用します。Postman でリクエストを送信するとき、以下の点に注意してください。

    • HTTP 動詞として POST を選択します。
    • ヘッダーで、キー content-type と値 application/json を選択します。
    • 本文に「{"message":"hello world"}」と入力します。
    • サンプル アプリケーションの URL を入力します。例:

      https://example-project-12345.appspot.com/_ah/api/echo/v1/echo
      
  • curl をダウンロードしてインストールし、コマンド プロンプトで実行します。Windows では一重引用符内にネストされた二重引用符が処理されないので、サンプルの --data オプションを --data "{\"message\":\"hello world\"}" に変更する必要があります。

次のステップ

このページは役立ちましたか?評価をお願いいたします。

フィードバックを送信...

App Engine 用 Cloud Endpoints Frameworks
ご不明な点がありましたら、Google のサポートページをご覧ください。