本页提供一般问题排查信息,并附上其他页面的链接,方便您了解更多信息。
部署 Cloud Endpoints 配置时出错
如果 gcloud endpoints services deploy 命令返回错误消息,请参阅排查 Endpoints 配置部署问题,了解如何排查该错误。
部署 API 后端时出错
将 API 和 Extensible Service 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 页面。服务名称列下显示了可能的 ENDPOINTS_SERVICE_NAME 列表。 
- 对于 OpenAPI,ENDPOINTS_SERVICE_NAME 是您在 OpenAPI 规范的 - host字段中指定的值。对于 gRPC,ENDPOINTS_SERVICE_NAME 是您在 gRPC Endpoints 配置的- name字段中指定的值。
如需详细了解 gcloud 命令,请参阅 gcloud 服务。
检查所需权限
运行 Extensible Service 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
代理 OAuth 失败但请求通过了
确保 gRPC API 配置文件中存在 authentication 部分,并且此部分包含 OAuth 定义。如需配置文件示例,请参阅 GitHub 上的 Bookstore 示例。