使用 API 检查 API 代理的部署状态

本部分介绍如何使用 Apigee API 检查 API 代理的部署状态。

  1. 按照创建和部署新 API 代理所述部署测试 API 代理。
  2. 找到包含 Apigee Organization Admin 服务账号密钥的 JSON 文件。此服务账号和密钥是在启用同步器访问中创建的。
  3. 执行以下两个命令来获取令牌:
    export GOOGLE_APPLICATION_CREDENTIALS=org-admin-service-account-file
    export TOKEN=$(gcloud auth application-default print-access-token)

    其中,org-admin-service-account-file 是系统中指向下载的含 Apigee Organization Admin 角色的服务账号密钥的路径。

  4. 使用以下部分调用修订版本 API:
    • 基准网址: https://apigee.googleapis.com/v1
    • 端点网址: /organizations/my-organization/environments/test/apis/myproxy/revisions/1/deployments
    • 协议: HTTPS
    • 方法: GET
    • 标头: "Authorization: Bearer $TOKEN"

    以下示例使用 curl 通过上述设置调用部署修订版本 API:

    curl "https://apigee.googleapis.com/v1/organizations/my-organization/environments/test/apis/myproxy/revisions/1/deployments" \
    -X GET -H "Authorization: Bearer $TOKEN"

    您应该会收到类似如下所示的响应:

    {
      "deployments": [
        {
          "environment": "test",
          "apiProxy": "myproxy",
          "revision": "1",
          "deployStartTime": "1560782439002",
          "pods": [
            {
              "podName": "apigee-runtime-my-organization-test-blue-56b642fv429v",
              "appVersion": "self",
              "deploymentStatusTime": "1560787671389",
              "deploymentStatus": "deployed",
              "statusCode": "200",
              "statusCodeDetails": "Deployment Success",
              "deploymentTime": "1560782471370",
              "podStatus": "active",
              "podStatusTime": "1560787671389"
            },
            {
              "podName": "apigee-runtime-my-organization-test-blue-564422f7dmwj",
              "appVersion": "self",
              "deploymentStatusTime": "1560787670121",
              "deploymentStatus": "deployed",
              "statusCode": "200",
              "statusCodeDetails": "Deployment Success",
              "deploymentTime": "1560782485204",
              "podStatus": "active",
              "podStatusTime": "1560787670121"
            }
          ],
          "basePath": "/"
        }
      ]
    }

    此示例响应显示 2 个 pod 上的 API 代理状态。两个 pod 上的部署状态均为 deployed

    您的响应可能会显示更少或更多 pod 上的 API 代理部署状态,具体取决于集群的配置。

    如果您收到空响应或错误消息,请检查:

    • 您使用的基准网址是否正确无误。请注意,混合基准网址不同于 Edge API 的基准网址。使用 https://apigee.googleapis.com/v1
    • 您使用的端点网址是否正确无误。请注意,修订版本为“1”,端点为 /organizations/my_organization/environments/test/apis/myproxy/revisions/1/deployments。如果您指定的修订版本不存在,则请求会生成空响应,如下所示:
      { }
    • 您是否有权访问请求中指定的组织。
    • 您的令牌是否尚未过期。如果已过期,请按照获取 OAuth 2.0 访问令牌中的说明重新生成新令牌。
    • 您是否用英文引号括住了 "Authorization: Bearer $TOKEN" 标头。