Cloud Endpoints Frameworks API へのリクエストで正常なレスポンスが返されない場合は、Google Cloud コンソールで Cloud Logging を使用してトラブルシューティングを行えます。
ログの表示
Google Cloud コンソールで、[Logging] > [ログ エクスプローラ] ページに移動します。
ページの上部にあるプロジェクト プルダウン リストから、API を作成した Google Cloud プロジェクトを選択します。
[GAE アプリケーション] と [すべてのログ] を選択します。
エラーを示す行が表示されるまで、時間範囲を調整します。
[すべて展開] をクリックして、エラーのログ全体を表示します。
次のセクションでは、特定のエラー メッセージに関するトラブルシューティング情報を示します。問題を解決できない場合は、エラーを示すログエントリの 1 つをコピーして、テキスト ファイルに貼り付けます。Google へのご連絡の際にそのログをご提供ください。
503 Service Unavailable
App Engine からリクエストへのレスポンスが返されるまで数分かかることがあります。リクエストを送信して 503
エラーが返された場合は、数分待ってからもう一度リクエストしてください。それでもレスポンスが返されない場合は、Cloud Logging ログを確認してください。Cloud Logging ログに次のエラー メッセージが表示される場合があります。
エラー メッセージ | トラブルシューティング |
---|---|
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 コマンドによって自動的に以下が有効化されます。
|
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 がこのエラーをログに記録します。このエラーを解決するには、次のようにします。
|
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
- HTTP 動詞として
curl
をダウンロードしてインストールし、コマンド プロンプトで実行します。Windows では一重引用符内にネストされた二重引用符は処理されないため、サンプルの--data
オプションを次のように変更する必要があります:--data "{\"message\":\"hello world\"}"
次のステップ
ログ エクスプローラの使用を開始する。
ログを転送する方法を学習する。
フィルタを使用して詳細なフィルタリングを行う(たとえば、レイテンシが 300 ミリ秒を超えるリクエストをすべて取得する)。