如果您在向您的 Cloud Endpoints Frameworks API 发出请求后未收到成功响应,您可以借助 Google Cloud 控制台中的 Cloud Logging 来排查问题。
查看日志
在 Google Cloud 控制台中,前往 Logging > 日志浏览器页面。
从页面顶部的项目下拉列表中,选择您创建 API 时所在的 Google Cloud 项目。
选择 GAE 应用和所有日志。
调整时间范围,直到出现显示错误的行。
点击全部展开以查看与错误相关的完整日志。
以下部分提供特定错误消息的问题排查信息。如果您无法解决问题,请复制其中一个显示相关错误的日志条目,并将其粘贴到文本文件中。将该日志随附在您与 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\"}"
后续步骤