API を使用して API プロキシのデプロイ ステータスを確認する

このセクションでは、Apigee API を使用して API プロキシのデプロイ ステータスを確認する方法について説明します。

  1. 新しい API プロキシの作成とデプロイの説明に従って、テスト API プロキシをデプロイします。
  2. Apigee 組織管理者のサービス アカウント キーを含む JSON ファイルを特定します。このサービス アカウントとキーは、Synchronizer アクセスを有効にするで作成したものです。
  3. 次の 2 つのコマンドを実行して、トークンを取得します。
    export GOOGLE_APPLICATION_CREDENTIALS=org-admin-service-account-file
    export TOKEN=$(gcloud auth application-default print-access-token)

    ここで org-admin-service-account-file は、Apigee 組織管理者のロールでダウンロードしたサービス アカウント キーのシステム上のパスです。

  4. 次のパーツを使用して、Revisions API を呼び出します。
    • ベース URL: https://apigee.googleapis.com/v1
    • エンドポイント URL: /organizations/my-organization/environments/test/apis/myproxy/revisions/1/deployments
    • プロトコル: HTTPS
    • メソッド: GET
    • ヘッダー: "Authorization: Bearer $TOKEN"

    次の例では、これらの設定を含む curl を使用して、デプロイの Revisions 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 になっています。

    クラスタの構成に応じて、API プロキシのデプロイ ステータスに表示される Pod の数が異なることがあります。

    レスポンスが空の場合やエラーが発生した場合は、次の点を確認してください。

    • 正しいベース URL を使用していること。ハイブリッドのベース URL は、Edge API のベース URL と同じではありません。https://apigee.googleapis.com/v1 を使用してください。
    • 正しいエンドポイント URL を使用していること。リビジョンは「1」で、エンドポイントは /organizations/my_organization/environments/test/apis/myproxy/revisions/1/deployments です。リクエストに存在しないリビジョンを指定すると、次のような空のレスポンスが返されます:
      { }
    • リクエストで指定した組織にアクセスする権限があること。
    • トークンの有効期限が切れていないこと。切れている場合は、OAuth 2.0 アクセス トークンの取得の説明に従って新しいトークンを再生成します。
    • "Authorization: Bearer $TOKEN" ヘッダーを引用符で囲んでいること。