API を使用したデプロイの管理

次のセクションでは、サンプル シナリオを用いて、API を使用して API プロキシのデプロイを管理する方法を説明します。サポートされている Apigee API の完全なリストについては、Apigee API リファレンスをご覧ください。

API を使用した API プロキシのデプロイ

API プロキシは、デプロイされるまで呼び出すことはできません。

ベースパスを変更せずに API プロキシの新しいリビジョンを作成し、それをデプロイ済みリビジョンが存在する環境にデプロイすると、以前のリビジョンがデプロイ解除され、代わりに新しいリビジョンがデプロイされます。

Apigee 組織内の特定の環境に API プロキシをデプロイするには、POST リクエストを次のリソースに発行します。

https://apigee.googleapis.com/v1/organizations/org_name/environments/environment_name/apis/api_proxy_name/revisions/revision_number/deployments

ここで

  • org_name は実際の Apigee 組織名です。
  • environment_name は環境名です。
  • api_proxy_name は API プロキシの名前です。
  • revision_number はリビジョン番号です。そのリビジョンは存在している必要があります。

API プロキシの既存のリビジョンがデプロイされている場合、ダウンタイムなしでシームレスにデプロイできるように、override クエリ パラメータを true に設定します。この場合、ハイブリッド デプロイが実施され、既存のリビジョンをデプロイ解除する前に、新しいリビジョンがデプロイされます。

次の例は、helloworld API プロキシのリビジョン 1 をテスト環境にデプロイする方法を示しています(API プロキシを作成するには、API を使用した API プロキシの作成をご覧ください)。

curl "https://apigee.googleapis.com/v1/organizations/myorg/environments/test/apis/helloworld/revisions/1/deployments" \
      -X POST \
      -H "Content-type:application/x-www-form-urlencoded" \
      -H "Authorization: Bearer $TOKEN"

ここで、$TOKEN は、OAuth 2.0 アクセス トークンの取得の説明に従って、OAuth 2.0 アクセス トークンに設定します。この例で使用されている curl オプションの詳細については、curl を使用するをご覧ください。

次にレスポンス出力の例を示します。

{
      "environment": "test",
      "apiProxy": "helloworld",
      "revision": "1",
      "deployStartTime": "1559149080457",
      "basePath": "/"
    }

詳細については、API プロキシ リビジョン環境の Deployments API を参照してください。

API を使用した Apigee 組織内のすべてのデプロイの表示

次のリソースに GET リクエストを発行して、Apigee 組織における API プロキシと共有フローのすべてのデプロイを表示します。

https://apigee.googleapis.com/v1/organizations/org_name/deployments

org_name は実際の Apigee 組織名です。

次の例は、myorg 組織の API プロキシと共有フローのデプロイをすべて表示する方法を示しています。

curl "https://apigee.googleapis.com/v1/organizations/myorg/deployments" \
      -X GET
      -H "Authorization: Bearer $TOKEN"

ここで、$TOKEN は、OAuth 2.0 アクセス トークンの取得の説明に従って、OAuth 2.0 アクセス トークンに設定します。この例で使用されている curl オプションの詳細については、curl を使用するをご覧ください。

次に、レスポンスの例を示します。この例では、前のセクションでデプロイされた helloworld など、3 つの API プロキシがデプロイされています。

{
      "deployments": [
        {
          "environment": "test",
          "apiProxy": "helloworld",
          "revision": "1",
          "deployStartTime": "1559149080457",
          "basePath": "/"
        },
        {
          "environment": "test",
          "apiProxy": "weather",
          "revision": "1",
          "deployStartTime": "1558620435217",
          "basePath": "/"
        },
        {
          "environment": "test",
          "apiProxy": "testproxy",
          "revision": "2",
          "deployStartTime": "1558635113086",
          "basePath": "/"
        }
      ]
    }

詳細については、Deployments API をご覧ください。

API を使用した API プロキシ リビジョンのデプロイ ステータスの確認

次のリソースに GET リクエストを発行して、API プロキシ リビジョンのデプロイ ステータスを確認します。

https://apigee.googleapis.com/v1/organizations/org_name/environments/environment_name/apis/api_proxy_name/revisions/revision_number/deployments

ここで

  • org_name は実際の Apigee 組織名です。
  • environment_name は環境名です。
  • api_proxy_name は API プロキシの名前です。
  • revision_number はリビジョン番号です。

例:

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

ここで、$TOKEN は、OAuth 2.0 アクセス トークンの取得の説明に従って、OAuth 2.0 アクセス トークンに設定します。この例で使用されている curl オプションの詳細については、curl を使用するをご覧ください。

次にレスポンスの例を示します。

{
      "environment": "test",
      "apiProxy": "helloworld",
      "revision": "1",
      "deployStartTime": "1559149080457",
      "pods": [
        {
          "podName": "apigee-runtime-myorg-test-f8bdf9d-2s72w",
          "appVersion": "self",
          "deploymentStatusTime": "1559164511972",
          "deploymentStatus": "deployed",
          "statusCode": "200",
          "statusCodeDetails": "Deployment Success",
          "deploymentTime": "1559149659417"
        }
      ],
      "basePath": "/"
    }

詳細については、API プロキシ リビジョン環境の Deployments API を参照してください。

API を使用した API プロキシのデプロイ解除

Apigee 組織の API プロキシをデプロイ解除するには、次のリソースに DELETE リクエストを発行します。

https://apigee.googleapis.com/v1/organizations/org_name/environments/environment_name/apis/api_proxy_name/revisions/revision_number/deployments

ここで

  • org_name は実際の Apigee 組織名です。
  • environment_name は環境名です。
  • api_proxy_name は API プロキシの名前です。
  • revision_number はリビジョン番号です。

例:

curl "https://apigee.googleapis.com/v1/organizations/myorg/environments/test/apis/helloworld/revisions/1/deployments" \
      -X DELETE \
      -H "Authorization: Bearer $TOKEN"
    

ここで、$TOKEN は、OAuth 2.0 アクセス トークンの取得の説明に従って、OAuth 2.0 アクセス トークンに設定します。この例で使用されている curl オプションの詳細については、curl を使用するをご覧ください。

次にレスポンス出力の例(空のレスポンス)を示します。

{}

詳細については、API プロキシ リビジョン環境の Deployments API を参照してください。