當您對 Cloud Endpoints Frameworks API 提出要求,但沒有得到成功的回應時,可以利用Google Cloud 主控台中的 Cloud Logging 來排解問題。
查看記錄
在 Google Cloud 控制台中,依序前往「Logging」 >「Logs Explorer」頁面。
在頁面頂端的專案下拉式清單中,選取您之前在其中建立 API 的Google Cloud 專案。
選取 [GAE Application] (GAE 應用程式) 和 [All logs] (所有記錄)。
調整時間範圍,直到您看見顯示錯誤的資料列為止。
按一下 [Expand All] (全部展開) 來檢視該錯誤的完整記錄檔。
下節針對特定錯誤訊息提供疑難排解資訊。如果您還是無法修正問題,請複製顯示錯誤的記錄項目並貼到文字檔中,並附在您與 Google 的任何通訊訊息中。
503 Service Unavailable
App Engine 可能需要幾分鐘的時間才能成功回應要求。如果您在傳送要求後收到 503
錯誤,請稍候幾分鐘再重新提出要求。如果您還是沒收到成功的回應,請查看 Cloud Logging 記錄檔。以下列出您可能會在 Cloud Logging 記錄檔中看到的部分錯誤訊息。
錯誤訊息 | 疑難排解 |
---|---|
找不到 YOUR_PROJECT_ID.appspot.com 服務或權限遭拒。如果這是新的 Endpoints 服務,請確認您已利用 gcloud 部署服務設定。 |
Python 適用的 Endpoints Frameworks 無法針對您在 app.yaml 檔案中指定的服務載入服務設定時,就會記錄這項錯誤。假如您尚未利用 gcloud endpoints services
deploy 部署 API 的 OpenAPI 文件,或是沒有啟用 Service Management API,就可能會發生這個錯誤。當您部署 API 的 OpenAPI 文件時,gcloud 指令會自動啟用下列服務:
|
已找到 YOUR_PROJECT_ID.appspot.com 服務,但找不到 SERVICE_CONFIG_ID 版本的服務設定。 |
Python 適用的 Endpoints Frameworks 找不到您在 app.yaml 檔案中針對 ENDPOINTS_SERVICE_VERSION 指定的服務設定 ID 時,就會記錄這項錯誤。如要修正這項錯誤:
|
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 中建立要求時:- 選取
POST
做為 HTTP 動詞。 - 選取
content-type
鍵和application/json
值做為標頭。 - 針對主體,請輸入:
{"message":"hello world"}
輸入範例應用程式的網址,例如:
https://example-project-12345.appspot.com/_ah/api/echo/v1/echo
- 選取
下載並安裝您以命令提示字元執行的
curl
。由於 Windows 不會處理單引號巢狀結構中的雙引號標記,因此您必須變更範例中的--data
選項,如下所示:--data "{\"message\":\"hello world\"}"
後續步驟