API Center の使用を開始する
この演習では、次のことを行います。
API Center サービスを作成します。
メタデータ プロパティを定義します。
API Center に API を追加します。
デプロイと環境を追加します。
前提条件
API Center による API の管理を始めるには、次のものが必要です。
- Azure サブスクリプション。
- サブスクリプションに登録されている Microsoft.ApiCenter リソース プロバイダー。
- Azure サブスクリプションでの、少なくとも共同作成者ロールの割り当てまたは同等のアクセス許可。
Note
まだ使用していない場合は、サブスクリプション内で Microsoft.ApiCenter リソース プロバイダーを登録する必要があります。
- Azure portalにサインインします。
- 検索バーに「サブスクリプション」と入力します。
- API Center を作成するサブスクリプションを選択します。
- 左側のメニューの [リソース] で、[リソース プロバイダー] を選択します。
- リソース プロバイダーの一覧で「Microsoft.ApiCenter」を検索します。 登録されていない場合は、[登録] を選択します。
ステップ 1: API Center サービスを作成する
Azure portalにサインインします。
検索バーに「API Centers」と入力します。
[+ 作成] を選択します。
[基本] タブで、次の設定を入力または選択します。
a. Azure サブスクリプションを選択します。
b. 既存のリソース グループを選ぶか、[新規] を選んで新しく作成します。
c. API センターの名前を入力します。 これは、API センターを作成しているリージョン内で一意である必要があります。
d. [リージョン] で、API Center に利用できるリージョンのいずれかを選びます。
e. 価格プランで、[無料試用版 (90 日間 0 ドル)] を選びます。
f. [Review + create](レビュー + 作成) を選択します。
h. 検証が完了した後、 [作成] を選択します。
デプロイ後に API センターを使用する準備ができます。
CLI 参照コマンドをローカル環境で実行するには、Azure CLI をインストールし、次のコマンドを使ってログインします。
az login
Note
まだ使用していない場合は、サブスクリプション内で Microsoft.ApiCenter リソース プロバイダーを登録する必要があります。
次のコマンドを実行して、リソース プロバイダーを登録します。
az provider register –namespace Microsoft.ApiCenter
ステップ 1: API Center サービスを作成する
次のコマンドを実行して次の値を渡し、リソース グループを作成します。
- --name: リソース グループ名。例: Contoso
- --location: 場所。例: eastus
az group create –-name contoso –-location eastus
Note
az apic コマンドには、apic-extension Azure CLI 拡張機能が必要です。 az apic コマンドを使用していない場合は、最初の az apic コマンドを実行するときに拡張機能が動的にインストールされるか、拡張機能を手動でインストールできます。 Azure CLI 拡張機能の詳細については、こちらを参照してください。
次のコマンドを実行して次の値を渡し、API Center を作成します。
- -n: API センター サービス名。例: contoso-apis
- -g: リソース グループ。例: Contoso
- --l: 場所。例: eastus
az apic create -n contoso-apis -g contoso -l eastus
Note
既定では、API Center は Free 価格レベルで作成されます。
Note
現在、VS Code での API Center サービスの作成はサポートされていません。 Azure CLI または Azure portal を使って作成します。
ステップ 2: メタデータ プロパティを定義する
API Center は、メタデータ プロパティを使ってインベントリ内の API を整理し、フィルター処理や検索などの操作を有効にします。
Note
メタデータ プロパティのタイトルや名前に、機密性または個人の情報を含めないでください。
Contoso は、他の多くの組織と同様に、すべての API を利用可能にする前に承認者を通過させ、すべての API についてコンプライアンス レビューを確実に行いたいと考えています。 組織の API には、一般公開されるものと、内部使用専用に構築されているものもあります。 すべての API でこれを大規模に適用するために、次の 3 つのカスタム メタデータ プロパティを追加します。
- API Approver: 文字列型
- Compliance review: 定義済み選択肢型
- Public facing: ブール型
左側のメニューで、[資産] > [メタデータ] > [+ 新しいメタデータ] を選びます。
[詳細] タブで、 プロパティに関する情報を入力します。
a. [タイトル] に、「API Approver」と入力します
b. [説明] に、「Default API Approver」と入力します
c. 種類として [文字列] を選んで、[次へ] を選びます
[割り当て] タブで、API に対して [必須] を選択します。 [デプロイと環境] には、[省略可能] を選択します。 [次へ] を選択します
[作成] を選択します
次の図に示すように、Public-facing プロパティに対して同じ手順を繰り返します。 種類として、[ブール] を選びます
[割り当て] タブで、API に対して [必須] を選択します。 [デプロイと環境] で [適用なし] を選択します。 [次へ] を選択します
[作成] を選択します
次の図に示すように、Compliance-review プロパティに対して同じ手順を繰り返します。 種類として [定義済み選択肢] を選び、「Not Started」、「In Progress」、「Completed」の 3 つの選択肢を追加します
[割り当て] タブで、API に対して [必須] を選択します。 [デプロイ] と [環境] で [適用不可] を選びます
[次へ] を選択します
API の JSON メタデータ スキーマを表示、編集、ダウンロードできるようになりました。 表示するには、[メタデータ スキーマの表示] を選んで、ドロップダウンから [API] を選びます。
これにより、メタデータの詳細を含むモーダルが右側に開きます。これには、LifecycleStage、Name、Description、TermsOfService などの API Center の組み込みプロパティが含まれます。 ファイルの一番下までスクロールすると、次のように、前の手順で追加したカスタム メタデータが表示されます。
Note
スキーマのプロパティはいつでも追加および編集でき、API Center のすべての API にすぐに適用できます
次のコマンドを実行して新しいメタデータ スキーマを作成し、次のように設定します。
- メタデータの名前は api-approver として
- スキーマはプロパティの種類を文字列として、タイトルを API 承認者として
- 割り当ては API については必須として、環境とデプロイについてはオプションとして
az apic metadata create -g contoso -n contoso-apis --metadata-name "api-approver" --schema '{"type":"string","title":"API Approver"}' --assignments '[{entity:api,required:true,deprecated:false},{entity:environment,required:true,deprecated:false}]'
次について、同じ手順を実行します。
- メタデータの名前は public-facing として
- スキーマはプロパティの種類をブール値として、タイトルを公開として
- 割り当ては API については必須として、環境とデプロイについてはオプションとして
次のコマンドを実行します。
az apic metadata create -g contoso -n contoso-apis --metadata-name "public-facing" --schema '{"type":"boolean", "title":"Public Facing"}' --assignments '[{entity:api,required:true,deprecated:false},{entity:environment,required:true,deprecated:false}]'
最後に、次について、同じ手順を実行します。
- メタデータの名前は compliance-review として
- スキーマはプロパティの種類を文字列として、タイトルをコンプライアンス レビューとして
- 割り当ては API については必須として、環境とデプロイについてはオプションとして
次のコマンドを実行します。
az apic metadata create -g contoso -n contoso-apis --metadata-name "compliance-review" --schema '{"type":"string","title":"Compliance Review", "oneOf":[{"const":"Not Started","description":""},{"const":"In Progress","description":""},{"const":"Completed","description":""}]}' --assignments '[{entity:api,required:true,deprecated:false},{entity:environment,required:true,deprecated:false}]'
次のコマンドを実行して、API Center で定義されているすべてのメタデータのリストを表示できます。
az apic metadata list -g <resource-group-name> -n <api-center-name>
Note
スキーマのプロパティはいつでも追加および編集でき、API Center のすべての API にすぐに適用できます
Note
このアクションは現在、VS Code ではサポートされていません。 Azure CLI または Azure portal を使って作成します。
ステップ 3: インベントリに API を追加する
Contoso の組織は、社内のスキル向上の取り組みの一環として、エンジニアリング チームに技術会議を推奨しようと考えています。 発表者、セッション、トピックを含む Conference API を追加します。
Conference API の URL: https://bigconference.azurewebsites.net/
以下の手順では、上記の Web サイトから OpenAPI 定義をコピーし、それをローカル コンピューターに JSON ファイルとして保存できます。 または、API をインベントリに追加するときに、別の API 定義に置き換えます。
ポータルで、API Center に移動します。
左側のメニューで、[資産] > [API] > [+ API の登録] を選びます。
[API の登録] ページで、API に関する次の必要な情報を追加します。 ページの下部に、前の手順で定義したカスタム メタデータ プロパティ API Approver、*Public-facing、compliance-review が表示されます。
作成した API を表示するには、左側のメニューで [資産] > [API] > [Conference API] を選びます。
[概要] タブには、API 構成のビューが表示されます。 API のバージョンやデプロイなどの追加情報を表示および編集するには、[詳細] を展開します (現時点ではデプロイはありません)。
通常は、API バージョンの API 定義を追加する必要があります。API Center では、OpenAPI 2 や REST 用の OpenAPI 3 などのテキスト指定形式がサポートされています。
定義を追加するには:
- 左側のメニューで [資産] > [API] > 自分の API (Conference API) を選びます。
- [詳細] を展開して、[バージョン] を選びます。
- バージョン (v1) を選んで、[詳細] を展開します。
- [詳細] で、[定義] > [定義の追加] を選びます。
Visual Studio Code 用の Azure API Center 拡張機能を使って、API を API インスタンスに登録できます。
ステップ 1:拡張機能をインストールする
ステップ 2: コマンド パレットを開き (Ctrl + Shift + P キー)、「API Center: Register API」と入力します
プロンプトに従って、API に関する次の情報を指定します。
Register API | 手順 |
---|---|
API Center サービスの選択 | API Center インスタンスを選びます |
API のタイトル | API の名前を入力します (Conference API) |
API の種類 | REST |
API バージョンのタイトル | API のバージョン名を入力します (v1) |
API バージョンのライフサイクル | ドロップダウンからライフサイクルを選びます (開発) |
API 定義のタイトル | 定義の名前を入力します (Conference API Definition) |
API 仕様の名前 | ドロップダウンから仕様を選びます (OpenAPI 2) |
インポートする API 定義ファイルの選択 | ストレージで定義ファイルを参照して選びます |
API Center 拡張機能のタブを更新すると、新しく作成した API がそれぞれの APIC インスタンスとリソースに表示されます。
次のコマンドを使用して次の値を渡し、新しい API を作成します。
- -g: リソース グループ。例: Contoso
- -n: API センター サービス名。例: contoso-api-center
- --title: タイトル。例: Conference API
- --api-id: API ID。例: conference-api
- --type: 種類。例: REST
az apic api create -g contoso -n contoso-apis --title "Conference API" --api-id conference-api --type REST
次のコマンドを使用して次の値を渡し、API のバージョンを作成します。
- -g: リソース グループ。例: contoso
- -n: API センター サービス名。例: contoso-apis
- --api-id: API ID。例: conference-api
- --title: タイトル。例: v1.2.2
- --version-id: バージョン ID。例: 2024-07-03
- --lifecycle-stage: ライフサイクル ステージ。例: デザイン
az apic api version create -g contoso -n contoso-apis --api-id conference-api --title v1.2.2 --version-id 2024-07-03 --lifecycle-stage design
API バージョンの API 定義を追加することもできます。API Center では、OpenAPI 2 や REST 用の OpenAPI 3 などのテキスト指定形式がサポートされています。
定義を追加するには、次のコマンドを使用して次の値を渡します。
- -g: リソース グループ。例: contoso
- -n: API センター サービス名。例: contoso-apis
- --api-id: API ID。例: conference-api
- --version-id: バージョン ID。例: 2024-07-03
- --title: タイトル。例: OpenAPI
- --definition-id: 定義 ID。例: openapi
az apic api definition create -g contoso -n contoso-apis --api-id conference-api --version-id 2024-07-03 --title OpenAPI --definition-id openapi
URL から OpenAPI 定義ファイルをインポートするには、az apic api definition import-specification コマンドを使ってインポートします。 例: https://conferenceapi.azurewebsites.net/?format=json
az apic api definition import-specification -g contoso -n contoso-apis --api-id conference-api --version-id 2024-07-03 --definition-id openapi --format "link" --value 'https://petstore3.swagger.io/api/v3/openapi.json' --specification '{"name":"openapi","version":"3.0.2"}'
ステップ 4: デプロイと環境を追加する
環境
環境 (開発、テスト、ステージング、または運用) は、API ランタイムがデプロイされる場所を表します。 Contoso の API プラットフォーム エンジニアは、組織内のさまざまな API ランタイムを管理および追跡するために、API Center インスタンスで 2 つの環境 (テストと運用) を定義します。
環境を作成するには:
左側のメニューで、[資産] > [環境] > [+ 新しい環境] を選びます。
次の情報を入力します。
[作成] を選択します
"運用環境" に対して同じ手順を繰り返します。
環境を作成するには、次の CLI コマンドを実行します。
az apic environment create -g contoso -n contoso-apis --title ContosoTesting --environment-id contosotesting --type testing
運用環境に対して同じ手順を繰り返します
az apic environment create -g contoso -n contoso-apis-new --title ContosoProduction --environment-id contosoproduction --type production
Note
環境の作成は現在、VS Code ではサポートされていません。 この手順では、Azure CLI または Azure portal オプションを使用してください。
デプロイ
ユーザーが API と対話するための固有の場所 (アドレス) は、特定の環境で API ランタイムごとに提供されます。 この場所はデプロイと呼ばれ、1 つの API バージョンで 2 つのデプロイ (ステージングと運用デプロイ) を持つことができます。
Contoso には、作成した環境に関連付ける 1 つの API (Conference API) があります。
ポータルで、API Center に移動します。
左側のメニューで [API] を選んでから、API を選びます (Conference API など)。
[Conference API] ページで、[詳細] > [デプロイ] > [+ デプロイの追加] を展開します。
以下の情報を追加します。
a. [環境] フィールドのドロップダウンから Contoso Testing を選びます。
b. [定義] の [選択] をクリックし、ドロップダウンから API のバージョン v1 を選んで、前に追加した定義を選びます。 [選択] をクリックします。
c. 定義が正常に追加されたら、選んだ環境の API に固有の基本ランタイム URL を追加します。
デプロイを作成し、上記の手順で作成した環境に関連付けるには、次の CLI コマンドを実行します。
az apic api deployment create -g contoso-corporation -s contoso-api-center --deployment-id "v1-conference-api" --title "Conference OpenAPI 2" --description "Conference Demo API deployment." --api-id conference-api --environment-id "/workspaces/default/environments/contoso-testing" --definition-id "/workspaces/default/apis/conference-api/versions/v1/definitions/conference-openapi-2" --server '{"runtimeUri":["https://conferenceapi.azurewebsites.net/"]}'
Note
デプロイの作成は現在、VS Code ではサポートされていません。 この手順では、Azure CLI または Azure portal オプションを使用してください。