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 を参照してください。