API Center の使用を開始する

完了

この演習では、次のことを行います。

  1. API Center サービスを作成します。

  2. メタデータ プロパティを定義します。

  3. API Center に API を追加します。

  4. デプロイと環境を追加します。

前提条件

API Center による API の管理を始めるには、次のものが必要です。

  1. Azure サブスクリプション。
  2. サブスクリプションに登録されている Microsoft.ApiCenter リソース プロバイダー。
  3. Azure サブスクリプションでの、少なくとも共同作成者ロールの割り当てまたは同等のアクセス許可

Note

まだ使用していない場合は、サブスクリプション内で Microsoft.ApiCenter リソース プロバイダーを登録する必要があります。

  1. Azure portalにサインインします。
  2. 検索バーに「サブスクリプション」と入力します。
  3. API Center を作成するサブスクリプションを選択します。
  4. 左側のメニューの [リソース] で、[リソース プロバイダー] を選択します。
  5. リソース プロバイダーの一覧で「Microsoft.ApiCenter」を検索します。 登録されていない場合は、[登録] を選択します。

ステップ 1: API Center サービスを作成する

  1. Azure portalにサインインします。

  2. 検索バーに「API Centers」と入力します。

  3. [+ 作成] を選択します。

  4. [基本] タブで、次の設定を入力または選択します。

    a. Azure サブスクリプションを選択します。

    b. 既存のリソース グループを選ぶか、[新規] を選んで新しく作成します。

    c. API センターの名前を入力します。 これは、API センターを作成しているリージョン内で一意である必要があります。

    d. [リージョン] で、API Center に利用できるリージョンのいずれかを選びます。

    e. 価格プランで、[無料試用版 (90 日間 0 ドル)] を選びます。

    f. [Review + create](レビュー + 作成) を選択します。

    h. 検証が完了した後、 [作成] を選択します。

    デプロイ後に API センターを使用する準備ができます。 API Center インスタンスが正常に作成されたことを示すスクリーンショット。

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  

成功した az group create CLI コマンドを示すスクリーンショット

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: ブール型
  1. 左側のメニューで、[資産] > [メタデータ] > [+ 新しいメタデータ] を選びます。Azure portal での新しいメタデータの追加手順を示すスクリーンショット

  2. [詳細] タブで、 プロパティに関する情報を入力します。

    a. [タイトル] に、「API Approver」と入力します

    b. [説明] に、「Default API Approver」と入力します

    c. 種類として [文字列] を選んで、[次へ] を選びます

  3. [割り当て] タブで、API に対して [必須] を選択します。 [デプロイと環境] には、[省略可能] を選択します。 [次へ] を選択します

  4. [作成] を選択します

  5. 次の図に示すように、Public-facing プロパティに対して同じ手順を繰り返します。 種類として、[ブール] を選びます

  6. [割り当て] タブで、API に対して [必須] を選択します。 [デプロイと環境] で [適用なし] を選択します。 [次へ] を選択します

  7. [作成] を選択します

  8. 次の図に示すように、Compliance-review プロパティに対して同じ手順を繰り返します。 種類として [定義済み選択肢] を選び、「Not Started」、「In Progress」、「Completed」の 3 つの選択肢を追加します

  9. [割り当て] タブで、API に対して [必須] を選択します。 [デプロイ] と [環境] で [適用不可] を選びます

  10. [次へ] を選択します

API の JSON メタデータ スキーマを表示、編集、ダウンロードできるようになりました。 表示するには、[メタデータ スキーマの表示] を選んで、ドロップダウンから [API] を選びます。

これにより、メタデータの詳細を含むモーダルが右側に開きます。これには、LifecycleStageNameDescriptionTermsOfService などの API Center の組み込みプロパティが含まれます。 ファイルの一番下までスクロールすると、次のように、前の手順で追加したカスタム メタデータが表示されます。 Azure portal でメタデータ スキーマを表示する手順を示すスクリーンショット

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 定義に置き換えます。

  1. ポータルで、API Center に移動します。

  2. 左側のメニューで、[資産] > [API] > [+ API の登録] を選びます。Azure portal での新しい API の追加手順を示すスクリーンショット

  3. [API の登録] ページで、API に関する次の必要な情報を追加します。 ページの下部に、前の手順で定義したカスタム メタデータ プロパティ API Approver、*Public-facing、compliance-review が表示されます。 Azure portal で新しい API を登録する手順を示す GIF

作成した API を表示するには、左側のメニューで [資産] > [API] > [Conference API] を選びます。

[概要] タブには、API 構成のビューが表示されます。 API のバージョンやデプロイなどの追加情報を表示および編集するには、[詳細] を展開します (現時点ではデプロイはありません)。

通常は、API バージョンの API 定義を追加する必要があります。API Center では、OpenAPI 2 や REST 用の OpenAPI 3 などのテキスト指定形式がサポートされています。

定義を追加するには:

  1. 左側のメニューで [資産] > [API] > 自分の API (Conference API) を選びます。
  2. [詳細] を展開して、[バージョン] を選びます。
  3. バージョン (v1) を選んで、[詳細] を展開します。
  4. [詳細] で、[定義] > [定義の追加] を選びます。 Azure portal で API 定義を追加する手順を示すスクリーンショット

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 定義ファイルの選択 ストレージで定義ファイルを参照して選びます

VS Code で 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 つの環境 (テストと運用) を定義します。

環境を作成するには:

  1. 左側のメニューで、[資産] > [環境] > [+ 新しい環境] を選びます。

  2. 次の情報を入力します。 Azure portal で新しい環境を作成する手順を示すスクリーンショット

  3. [作成] を選択します

  4. "運用環境" に対して同じ手順を繰り返します。

    Azure portal で運用の種類の新しい環境を作成する手順を示すスクリーンショット

環境を作成するには、次の 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) があります。

  1. ポータルで、API Center に移動します。

  2. 左側のメニューで [API] を選んでから、API を選びます (Conference API など)。

  3. [Conference API] ページで、[詳細] > [デプロイ] > [+ デプロイの追加] を展開します。

  4. 以下の情報を追加します。

    a. [環境] フィールドのドロップダウンから Contoso Testing を選びます。

    b. [定義] の [選択] をクリックし、ドロップダウンから API のバージョン v1 を選んで、前に追加した定義を選びます。 [選択] をクリックします。

    c. 定義が正常に追加されたら、選んだ環境の API に固有の基本ランタイム URL を追加します。

    Azure portal で新しいデプロイを作成する手順を示すスクリーンショット

デプロイを作成し、上記の手順で作成した環境に関連付けるには、次の 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/"]}'

新しいデプロイを作成する CLI コマンドを示すスクリーンショット

Note

デプロイの作成は現在、VS Code ではサポートされていません。 この手順では、Azure CLI または Azure portal オプションを使用してください。