API を使用した API プロキシの管理

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

API を使用した API プロキシの作成

Apigee 組織で API プロキシを作成するには、POST リクエストを次のリソースに発行します。

https://apigee.googleapis.com/v1/organizations/{org}/apis

name クエリ パラメータを使用して、API プロキシの名前を定義する必要があります。名前に使用できる文字は、A-Za-z0-9._\-$ % に制限されています。

必要に応じて、次の手順を実行し、API プロキシ構成バンドルをインポートできます。

  • action クエリ パラメータを import に設定します。
  • Content-type ヘッダーを multipart/form-data に設定します。
  • API プロキシ構成バンドルの名前をローカル ファイル システムに渡します。

次の例は、API を使用してローカル ファイル システムに API プロキシ構成バンドル(helloworld-config.zip)をインポートして API プロキシを作成する方法を示しています。

curl "https://apigee.googleapis.com/v1/organizations/myorg/apis?name=helloworld&action=import" \
      -X POST \
      -H "Authorization: Bearer $TOKEN" \
      -H "Content-type: multipart/form-data" \
      -F "file=@helloworld-config.zip"

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

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

{
      "basepaths": [
        "/helloworld"
      ],
      "configurationVersion": {
        "majorVersion": 4
      },
      "createdAt": "1559145292799",
      "displayName": "helloworld",
      "entityMetaDataAsProperties": {
        "bundle_type": "zip",
        "subType": "Proxy",
        "lastModifiedAt": "1559145292799",
        "createdAt": "1559145292799"
      },
      "lastModifiedAt": "1559145292799",
      "name": "helloworld",
      "policies": [
        "verify-api-key",
        "remove-query-param-apikey",
        "OAuth-v20-1"
      ],
      "proxies": [
        "default"
      ],
      "proxyEndpoints": [
        "default"
      ],
      "resourceFiles": {},
      "targetEndpoints": [
        "default"
      ],
      "targets": [
        "default"
      ],
      "type": "Application",
      "revision": "1",
      "description": "Hello world"
    }

詳細については、API プロキシ API をご覧ください。

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

Apigee 組織内のすべての API プロキシを表示するには、次のリソースに GET リクエストを発行します。

https://apigee.googleapis.com/v1/organizations/{org}/apis

ここで、{org} は実際の Apigee 組織名です。

例:

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

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

次に、レスポンスの例を示します。リストには、前のセクションでインポートして作成した helloworld API プロキシが含まれています。

{
      "proxies": [
        {
          "name": "helloworld"
        },
        {
          "name": "weather"
        },
        {
          "name": "testproxy"
        }
      ]
    }

詳細については、API プロキシ API をご覧ください。

API を使用した API プロキシに関する詳細の表示

API プロキシ デプロイに関する次の詳細を表示します。

  • API プロキシ名とリビジョン番号
  • 作成日
  • 最終更新日

API プロキシの詳細を表示するには、次のリソースに GET リクエストを発行します。

https://apigee.googleapis.com/v1/organizations/{org}/apis/{api}

ここで

  • {org} は実際の Apigee 組織名です。
  • {api} は API プロキシの名前です。

たとえば、helloworld API プロキシの詳細を表示するには、次を実行します。

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

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

次に、helloworld API プロキシの詳細の例を示します。

{
      "metaData": {
        "createdAt": 1559145292799,
        "lastModifiedAt": 1559145292799,
        "subType": "Proxy"
      },
      "name": "helloworld",
      "revision": [
        "1"
      ]
    }

詳細については、API プロキシ API をご覧ください。

API を使用した API プロキシの削除

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

https://apigee.googleapis.com/v1/organizations/{org}/apis/{api}

ここで

  • {org} は実際の Apigee 組織名です。
  • {api} は API プロキシの名前です。

たとえば、helloworld API プロキシを削除するには、次を実行します。

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

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

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

{
      "metaData": {
        "createdAt": "1559145292799",
        "lastModifiedAt": "1559145292799",
        "subType": "Proxy"
      },
      "name": "helloworld",
      "revision": [
        "1"
      ]
    }

詳細については、API プロキシ API をご覧ください。