Share via


Azure CLI を使用して API インベントリを管理する

この記事では、Azure CLI の az apic api コマンドを使用して、API センターのインベントリに API を追加して構成する方法について説明します。 Azure CLI のコマンドを使用して操作をスクリプト化し、API インベントリと API センターのその他の側面を管理します。

前提条件

  • Azure サブスクリプション内の API センター。 まだ作成していない場合は、「クイック スタート: API センターを作成する」を参照してください。

  • Azure CLI の場合

    • Azure Cloud Shell で Bash 環境を使用します。 詳細については、「Azure Cloud Shell の Bash のクイックスタート」を参照してください。

    • CLI リファレンス コマンドをローカルで実行する場合、Azure CLI をインストールします。 Windows または macOS で実行している場合は、Docker コンテナーで Azure CLI を実行することを検討してください。 詳細については、「Docker コンテナーで Azure CLI を実行する方法」を参照してください。

      • ローカル インストールを使用する場合は、az login コマンドを使用して Azure CLI にサインインします。 認証プロセスを完了するには、ターミナルに表示される手順に従います。 その他のサインイン オプションについては、Azure CLI でのサインインに関するページを参照してください。

      • 初回使用時にインストールを求められたら、Azure CLI 拡張機能をインストールします。 拡張機能の詳細については、Azure CLI で拡張機能を使用する方法に関するページを参照してください。

      • az version を実行し、インストールされているバージョンおよび依存ライブラリを検索します。 最新バージョンにアップグレードするには、az upgrade を実行します。

    Note

    az apic コマンドには、apic-extensionAzure CLI 拡張機能が必要です。 az apic コマンドを使用したことがない場合は、初めて az apic コマンドを実行するときに拡張機能が動的にインストールされます。 Azure CLI 拡張機能の詳細については、こちらを参照してください。

API、API バージョン、定義を登録する

次の手順では、API を作成し、1 つの API バージョンと API 定義を関連付ける方法を示します。 Azure API Center でのデータ モデルの背景については、主な概念に関する記事を参照してください。

API の作成

API センターに API を作成するには、az apic api create コマンドを使用します。

次の例では、myResourceGroup リソース グループと myAPICenter API センターに Petstore API という名前の API を作成します。 この API は REST API です。

az apic api create  --resource-group myResourceGroup \
    --service myAPICenter --api-id petstore-api \
    --title "Petstore API" --type "rest"

Note

API を作成したら、az apic api update コマンドを使用して API のプロパティを更新できます。

API バージョンを作成する

API のバージョンを作成するには、az apic api version create コマンドを使用します。

次の例では、前のセクションで作成した petstore-api API の v1-0-0 という名前の API バージョンを作成します。 バージョンは、"テスト" のライフサイクル ステージに設定されます。

az apic api version create --resource-group myResourceGroup \
    --service myAPICenter --api-id petstore-api \
    --version-id v1-0-0 --title "v1-0-0" --lifecycle-stage "testing"

API 定義を作成し、仕様ファイルを追加する

API バージョンの定義と不随する仕様ファイルを追加するには、az apic api definition コマンドを使用します。

定義を作成する

次の例では、az apic api definition create コマンドを使用して、前のセクションで作成した petstore-api API バージョンの openapi という名前の定義を作成します。

az apic api definition create --resource-group myResourceGroup \
    --service myAPICenter --api-id petstore-api \
    --version-id v1-0-0 --definition-id openapi --title "OpenAPI"

仕様ファイルをインポートする

az apic api definition import-specification コマンドを使用して仕様ファイルを定義にインポートします。

次の例では、パブリックにアクセスできる URL から、前の手順で作成した openapi 定義に OpenAPI 仕様ファイルをインポートします。 仕様リソースの name および version プロパティは JSON として渡されます。

az apic api definition import-specification \
    --resource-group myResourceGroup --service myAPICenter \
    --api-id petstore-api --version-id v1-0-0 \
    --definition-id openapi --format "link" \
    --value 'https://petstore3.swagger.io/api/v3/openapi.json' \
    --specification '{"name":"openapi","version":"3.0.2"}'

ヒント

--format パラメーターを inline に設定し、--value パラメーターを使用してファイルの内容を渡すと、仕様ファイルをインラインでインポートできます。

仕様ファイルをエクスポートする

API 仕様を API センターからローカル ファイルにエクスポートするには、az apic api definition export-specification コマンドを使用します。

次の例では、前のセクションで作成した openapi 定義から、specificationFile.json という名前のローカル ファイルに仕様ファイルをエクスポートします。

az apic api definition export-specification \
    --resource-group myResourceGroup --service myAPICenter \
    --api-id petstore-api --version-id v1-0-0 \
    --definition-id openapi --file-name "/Path/to/specificationFile.json"

仕様ファイルから API を登録する - 1 回のステップ

az apic api register コマンドを使用すると、1 回のステップでローカル仕様ファイルから API を登録できます。 このオプションを使用すると、API の既定の API バージョンと定義が自動的に作成されます。

次の例では、specificationFile.json という名前のローカルの OpenAPI 定義ファイルから、myAPICenter API センターに API を登録します。

az apic api register --resource-group myResourceGroup \
    --service myAPICenter --api-location "/Path/to/specificationFile.json"
  • このコマンドは、名前や型などの API プロパティを定義ファイル内の値から設定します。
  • 既定では、このコマンドは API の ライフサイクル ステージdesign に設定します。
  • 1-0-0 という名前の既定の API バージョンと、仕様形式に従って名前が付けられた既定の定義 (例: openapi) が作成されます。

API を登録したら、az apic api updateaz apic api version updateaz apic api definition update コマンドを使用して API のプロパティを更新できます。

API リソースを削除する

API とそのすべてのバージョンおよび定義リソースを削除するには、az apic api delete コマンドを使用します。 次に例を示します。

az apic api delete \
    --resource-group myResoureGroup --service myAPICenter \
    --api-id petstore-api

API バージョンと定義を個別に削除するには、それぞれ az apic api version delete コマンドと az apic api definition delete コマンドを使用します。