检查状态

本页面介绍如何使用 Service Infrastructure 检查托管式服务服务提供方服务使用方和 API 密钥的状态。

在向服务使用方提供服务时,服务提供方需要确保满足各种前提条件,例如:

  • 服务使用方已被删除。
  • 服务使用方已启用该服务。
  • API 密钥有效。

Service Control API 提供了一种简单的 services.check 方法来检查这些前提条件。托管式服务应定期调用此方法以确保先决条件得到满足。服务生产者和服务使用者之间的活动由 Operation 表示。services.check 方法对该操作执行以下检查:

  • 服务生产方项目正在运行且处于正常运行状态。
  • 服务使用方项目正在运行且处于正常运行状态。
  • 已在服务使用方项目上启用了托管式服务。
  • API 密钥有效。
  • API 密钥的使用满足与 API 密钥相关的限制,例如 IP 或 HTTP 引荐来源网址限制。

通常从实际实现服务的服务器中调用 services.check 方法。出于安全和隐私权目的,Service Control API 使用 Identity and Access Management 验证调用者是否具有调用该方法的相应权限。如需了解详情,请参阅 Service Control API 访问控制

检查状态

发布托管服务后,您可以在服务上调用 services.check 方法,而无需进行其他配置。如需了解详情,请参阅 services.check 参考文档。

如要快速试验该方法,可以使用 gcurl 命令调用 services.check 方法。如需了解初始设置步骤,请参阅 Service Control API 使用入门

gcurl -d '{
  "operation": {
    "operationId": "123e4567-e89b-12d3-a456-426655440000",
    "consumerId": "project:endpointsapis-consumer",
    "startTime":"2016-07-31T05:20:00Z",
    "operationName":"google.example.hello.v1.HelloService.GetHello"
  }
}' https://servicecontrol.googleapis.com/v1/services/endpointsapis.appspot.com:check
{
  "operationId": "123e4567-e89b-12d3-a456-426655440000"
}

检查方法的响应指示是所有检查都成功还是有些检查失败。如果未出现 checkErrors 字段,即表示成功。否则,checkErrors 字段会列出失败的检查。