疑難排解總覽

本頁提供一般疑難排解資訊,並附上其他頁面的連結,方便您參考更多資訊。

部署 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 ManagementServiceControl 的權限。

檢查偵錯資訊

利用偵錯細項執行 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 上的入門範例中提供範例規範檔。

後續步驟