本頁提供一般疑難排解資訊,並附上其他頁面的連結,方便您參考更多資訊。
部署 Endpoints 設定時發生錯誤
如果您執行 gcloud endpoints services deploy
指令後收到錯誤訊息,請參閱「排解 Endpoints 設定部署問題」一文,瞭解如何排解錯誤。
部署 API 後端時發生錯誤
將 API 與可擴充服務 Proxy (ESP) 部署至Google Cloud 後端的作業流程與平台相關。詳情請參閱以下疑難排解指南:
回應錯誤
如果您傳送要求至 API 後收到錯誤回應,請參閱排解回應錯誤一文瞭解如何排解錯誤。
檢查必要服務
檢查必要服務
Endpoints 和 ESP 至少需要啟用下列 Google 服務:名稱 | 標題 |
---|---|
servicemanagement.googleapis.com |
Service Management API |
servicecontrol.googleapis.com |
Service Control API |
在大多數情況下,gcloud endpoints services deploy
指令會啟用這些必要服務。不過在以下情況中,即便您成功執行 gcloud
指令,還是無法啟用必要服務:
您使用 Terraform 之類的第三方應用程式,而其中未包含這些服務。
您已將 Endpoints 設定部署至現有Google Cloud 專案,但在專案中已明確停用這些服務。
使用下列指令,確認已啟用必要服務:
gcloud services list
如果必要的服務並未列出,請執行下列指令加以啟用:
gcloud services enable servicemanagement.googleapis.com
gcloud services enable servicecontrol.googleapis.com
並啟用 Endpoints 服務:
gcloud services enable ENDPOINTS_SERVICE_NAME
如要判斷 ENDPOINTS_SERVICE_NAME,您可以採取下列任一做法:
部署 Endpoints 設定後,請前往 Cloud 控制台的「Endpoints」頁面。Service name 欄下方會列出可能的 ENDPOINTS_SERVICE_NAME 清單。
針對 OpenAPI,ENDPOINTS_SERVICE_NAME 是您在 OpenAPI 規格
host
欄位中指定的值。針對 gRPC,ENDPOINTS_SERVICE_NAME 是您在 gRPC Endpoints 設定的name
欄位中指定的值。
如要進一步瞭解 gcloud
指令,請參閱 gcloud
服務。
檢查必要權限
執行可擴充服務 Proxy 的執行個體需要呼叫 Service Management 和 ServiceControl 的權限。
如要進一步瞭解在 Cloud Run 上部署的 ESP,請參閱在 Cloud Run 教學課程中建立新的 ESPv2 映像檔。
如果是部署在 Compute Engine 上的 ESP,請參閱在 Compute Engine 教學課程中檢查必要權限的詳細說明。
如果是部署在 GKE 上的 ESP,請參閱GKE 教學課程中的「檢查必要權限」一節。
檢查偵錯資訊
利用偵錯細項執行 Google Cloud CLI 有助於進行偵錯。
gcloud --verbosity=debug COMMAND
此指令可讓 Google Cloud CLI 顯示錯誤的詳細記錄。視正在執行的指令而定,輸出可能包含來自伺服器的要求和回應資訊。
啟用服務
您可以使用 gcloud
檢查是否已啟用某項服務。
gcloud services list
如要顯示特定服務的設定,請使用以下指令:
gcloud endpoints services describe SERVICE_NAME
Proxy OAuth 失敗但要求通過
請確認您的 OpenAPI 文件中有包含 OAuth 定義的 security
部分。GitHub 上的入門範例中提供範例規範檔。