このページは Apigee と Apigee ハイブリッドに適用されます。
API を登録する
API を API Hub に登録する際は、API を表すエンティティを作成して保存します。このエンティティを API リソースと呼びます。API Hub に保存されている API リソースは検索可能で、API に関する詳細なオペレーション情報と説明情報を提供します。API を登録する際、または登録後に、API リソース属性を追加して編集し、API の詳細な説明を作成できます。
コンソール
API を登録するには:
Google Cloud コンソールで、API Hub の [API] ページに移動します。
[API Hub] に移動- [API を登録] をクリックします。
[General details] で、必要に応じて API の一意の ID を指定します。ID を指定しない場合、システムによって ID が生成されます。ID を入力する場合は、[Specify Unique ID] をクリックします。
ID は 4~500 文字にする必要があり、有効な文字は
/[A-Z][a-z][0-9]-/.
です。この ID は、完全修飾の一意の API リソース名の最後のコンポーネントで、形式はprojects/PROJECT/locations/LOCATION/apis/API_ID
です。- (必須)API リソースの表示名を指定します。
- 必要に応じて、API を記述する属性を追加します。いつでも API に戻って、API 属性を追加または変更できます。API リソースを編集するをご覧ください。
- [登録] をクリックします。
REST
API を登録するには、Create API REST API を使用します。
curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -d '{ "display_name": "DISPLAY_NAME", # Required attribute "description": "DESCRIPTION" # description is an optional attribute } 'https://apihub.googleapis.com/v1/projects/HUB_PROJECT/locations/HUB_LOCATION/apis?api_id=API_ID
次のように置き換えます。
- HUB_PROJECT: API Hub のホスト プロジェクトの名前。API Hub のプロビジョニング時にホスト プロジェクトが選択されました。
- HUB_LOCATION: ホスト プロジェクトの場所。この場所は API Hub のプロビジョニング時に選択されたものです。
- API_ID:(省略可)API の一意の ID を入力します。このクエリ パラメータを指定しない場合、システムによって一意の ID が生成されます。ID は 4~500 文字にする必要があり、有効な文字は
/[A-Z][a-z][0-9]-/.
です。この ID は、完全修飾の一意の API リソース名の最後のコンポーネントで、形式はprojects/PROJECT/locations/LOCATION/apis/API_ID
です。 - DISPLAY_NAME:(必須)API リソースの表示名。任意の名前を付けることができます。
- DESCRIPTION:(省略可)説明、オーナー、API ドキュメントへのリンクなど、API リソースの説明に任意の属性を追加できます。これらの省略可能な属性は、API リソースの定義に記載されています。
API リソースを一覧表示する
このセクションでは、API Hub で API リソースを一覧表示する方法について説明します。フィルタを追加すると、レスポンスで返される API を制限できます。
コンソール
API リソースを一覧表示するには:
Google Cloud コンソールで、API Hub の [API] ページに移動します。
[API Hub] に移動API Hub に追加されたすべての API のリストは、API のホームページに表示されます。
- [フィルタ] を使用して、API のリストをフィルタするキーワードを指定します。必要に応じて、[検索] を使用して API を探します。
REST
API Hub プロジェクト内のすべての API リソースを一覧表示するには、List APIs API を使用します。
curl "https://apihub.googleapis.com/v1/projects/HUB_PROJECT/locations/HUB_LOCATION/apis" -X GET -H "Authorization: Bearer: $(gcloud auth print-access-token)" -H "Content-Type: application/json"
次のように置き換えます。
- HUB_PROJECT: API Hub のホスト プロジェクトの名前。API Hub のプロビジョニング時にホスト プロジェクトが選択されました。
- HUB_LOCATION: ホスト プロジェクトのロケーション。API Hub のプロビジョニング時にロケーションが選択されました。
出力例:
{ "apis": [ { "name": "projects/myproject/locations/us-central1/apis/a035eb3b-658e-467a-89d3-9cca2bbacd32-2", "displayName": "TestApi2", "documentation": {} }, { "name": "projects/myproject/locations/us-central1/apis/a035eb3b-658e-467a-89d3-9cca2bbacd32-1", "displayName": "TestApi1", "documentation": {} }, { "name": "projects/myproject/locations/us-central1/apis/foo9013cfev", "displayName": "sample", "documentation": {} }, { "name": "projects/myproject/locations/us-central1/apis/foo90121", "displayName": "sample", "documentation": {} }, ... ], "nextPageToken": "f4f4d78b-a974-46db-a214-dc139f8e9c8a" }
フィルタを使用した REST の例
API を使用してリストの結果をフィルタリングできます。この例では、システム定義の属性に基づいて API をフィルタリングします。
curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ 'https://apihub.googleapis.com/v1/projects/HUB_PROJECT/locations/HUB_LOCATION/apis' \ -d filter="owner.email=\"testowner3@gmail.com\"" -d page_size=10
次のように置き換えます。
- HUB_PROJECT: API Hub のホスト プロジェクトの名前。API Hub のプロビジョニング時にホスト プロジェクトが選択されました。
- HUB_LOCATION: ホスト プロジェクトのロケーション。API Hub のプロビジョニング時にロケーションが選択されました。
出力例(オーナーでフィルタ):
{ "apis": [ { "name": "projects/myproject/locations/us-central1/apis/theme-park-management-api", "displayName": "Theme Park Management API", "documentation": {} }, { "name": "projects/myproject/locations/us-central1/apis/restaurant-api", "displayName": "Restaurant API", "documentation": {} }, { "name": "projects/myproject/locations/us-central1/apis/casino-management-api", "displayName": "Casino Management API", "documentation": {} }, { "name": "projects/myproject/locations/us-central1/apis/hotel-boooking-api", "displayName": "Hotel Booking API", "documentation": {} }, { "name": "projects/myproject/locations/us-central1/apis/test-march-26-api3", "displayName": "Test Pets API", "documentation": {} }, { "name": "projects/myproject/locations/us-central1/apis/test-march-26-api2", "displayName": "Test Pets API", "documentation": {} }, { "name": "projects/myproject/locations/us-central1/apis/test-march-26-api1", "displayName": "Test Pets API", "documentation": {} } ] }
API リソースの詳細を取得する
このセクションでは、API リソースの詳細を取得する方法について説明します。
コンソール
API リソースの詳細を表示するには:
Google Cloud コンソールで、API Hub の [API] ページに移動します。
[API Hub] に移動- [フィルタ] を使用して、API のリストをフィルタするキーワードを指定します。 必要に応じて、[検索] を使用して API を探します。
- API をクリックして、詳細ページを表示します。
REST
API リソースの詳細を表示するには、Get API resource details API を使用します。
curl "https://apihub.googleapis.com/v1/projects/HUB_PROJECT/locations/HUB_LOCATION/apis/API_ID" -H "Authorization: Bearer: $(gcloud auth print-access-token)" -X GET -H "Content-Type: application/json"
次のように置き換えます。
- HUB_PROJECT: API Hub のホスト プロジェクトの名前。このホスト プロジェクトは API Hub のプロビジョニング時に選択されたものです。
- HUB_LOCATION: ホスト プロジェクトの場所。この場所は API Hub のプロビジョニング時に選択されたものです。
- API_ID: API リソースの一意の ID。
出力例:
{ "name": "projects/myproject/locations/us-central1/apis/myapi", "displayName": "My Test API", "description": "This is a test API.", "documentation": {}, "owner": { "displayName": "Test API, "email": "testowner@gmail.com" }, "versions": [ "projects/myproject/locations/us-central1/apis/myapi/versions/myapi-version1" ], "createTime": "2024-03-26T10:13:15.668867002Z", "updateTime": "2024-03-26T10:13:16.700716401Z" }
API リソースを削除する
このセクションでは、API リソースを削除する方法について説明します。
コンソール
UI で API を削除すると、基盤となる API のバージョンと関連する API 仕様(存在する場合)がすべて削除されます。
API リソースを削除するには:
Google Cloud コンソールで、API Hub の [API] ページに移動します。
[API Hub] に移動- [フィルタ] を使用して、API のリストをフィルタするキーワードを指定します。必要に応じて、[検索] を使用して、削除する API を探します。
- 操作メニュー(API を含む行の右側)で、[削除] をクリックします。
REST
API Hub から API を削除するには、Delete API API を使用します。
デフォルトでは、API を削除できるのは、基盤となるバージョンがすべて削除された場合のみです。API のすべてのバージョンを 1 回で削除するには、Delete REST API で force
クエリ パラメータを true
に設定します。
curl -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" \ 'https://apihub.googleapis.com/v1/projects/HUB_PROJECT/locations/HUB_LOCATION/apis/API_ID'
次のように置き換えます。
- HUB_PROJECT: API Hub のホスト プロジェクトの名前。API Hub のプロビジョニング時にホスト プロジェクトが選択されました。
- HUB_LOCATION: ホスト プロジェクトのロケーション。API Hub のプロビジョニング時にロケーションが選択されました。
- API_ID: 削除する API リソースの一意の ID。
API とすべての基盤となるバージョンを削除するには、force
クエリ パラメータを true
に設定します。例:
curl -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" \ 'https://apihub.googleapis.com/v1/projects/HUB_PROJECT/locations/HUB_LOCATION/apis/API_ID?force=true'
API リソースを編集する
このセクションでは、API リソースを編集する方法について説明します。すべての API リソース属性を編集できるわけではありません。編集可能なフィールドの一覧については、Patch API リファレンス ドキュメントをご覧ください。
コンソール
API を編集するには:
Google Cloud コンソールで、API Hub の [API] ページに移動します。
[API Hub] に移動- [フィルタ] を使用して、API のリストをフィルタするキーワードを指定します。必要に応じて、[検索] を使用して、編集する API を探します。
- API をクリックして、詳細ページを表示します。
- [API の編集] をクリックします。
- [API の編集] ページで変更を行います。[続行] をクリックして、編集可能な属性の次のセットに移動します。
- General details: API の表示名を編集できます。
- Owner information: API のオーナーの名前とメールアドレス。
- 補足情報: システム定義の属性です。これらの属性のデフォルト値は、[Manage attributes] でカスタマイズできます。
- User defined attributes: ユーザー定義のカスタム属性です。カスタム属性は [Manage attributes] で指定できます。
- [保存] をクリックします。
REST
API リソースを編集するには、Patch API resource API を使用します。
curl -X PATCH -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -d '{ "display_name": "Updated Test Docs API", # Example request body with changes "description": "This is the updated test API.", "owner": { "display_name": "Updated Docs Owner", "email": "updateddocsowner@gmail.com" } } ' https://apihub.googleapis.com/v1/projects/HUB_PROJECT/locations/HUB_LOCATION/apis/API_ID
次のように置き換えます。
- HUB_PROJECT: API Hub のホスト プロジェクトの名前。このホスト プロジェクトは API Hub のプロビジョニング時に選択されたものです。
- HUB_LOCATION: ホスト プロジェクトのロケーション。この場所は API Hub のプロビジョニング時に選択されたものです。
- API_ID: 更新する API の一意の ID。
- リクエスト本文: リクエスト本文を使用して、変更する属性を指定します。API リクエスト本文の説明をご覧ください。