API をインポートおよび発行する

完了

API ゲートウェイを使って API を利用可能にするには、API をインポートして発行する必要があります。

靴の会社の例の場合、NorthWind Shoes では、選択したパートナーが在庫と在庫レベルを照会できるようにする必要があります。

ここでは、API を Azure API Management にインポートする方法と、クライアントが API を利用できるようにする方法を学習します。

API

API は、組織が特定のデータを潜在的な開発者やパートナーに公開するための標準化された方法です。 たとえば、前の演習では、製品と在庫に関する情報を共有するための API を作成しました。

API を利用可能にするには、まず API を API Management にインポートします。 次に以下のことを行えます。

  • API ゲートウェイで視覚化ツールを使って、API をテストします。
  • ポリシーを使って API へのアクセスを管理します。

API フレームワーク

さまざまな API のフレームワークと標準があります。 API Management には、API をインポートするためのオプションがいくつか用意されています。 次の表に示すオプションがあります。

Type 詳細
HTTP 空の API 定義を使って HTTP API をインポートすることができます。 その後、必要なすべてのパラメーターを手動で指定します。
WebSocket バックエンド WebSocket サービスへのパススルーを設定します。
GraphQL バックエンド GraphQL サービスへのパススルーを設定するか、GraphQL スキーマをインポートしてカスタム フィールド リゾルバーを使って合成 GraphQL API を作成します。
OpenAPI OpenAPI は、RESTful API 用のすべてのエンドポイントおよび操作と、すべての入力および出力パラメーターを記載した仕様です。 OpenAPI はもともと Swagger と呼ばれていました。
WADL Web アプリケーション記述言語は、HTTP ベースの Web サービスに関する XML の記述です。 これは Web Service Description Language (WSDL) よりもシンプルな形式で、より軽量です。
WSDL Web サービス記述言語は、HTTP だけでなく、あらゆるネットワーク サービスに関する XML の記述です。

また、複数のバックエンド Azure リソースから API をインポートすることもできます。 オプションには、次の表に記載されているものがあります。

Type 詳細
Azure OpenAI Service 各タスク (コンテンツ生成、要約、セマンティック検索など) 向けの OpenAI の言語モデルへのアクセスを提供する API。
ロジック アプリ ロジック アプリは、ワークフローやさまざまなデータ ソースとの統合を調整および自動化するために使われます。
App Service Azure のアプリ サービス内でホストされる API。
関数アプリ トリガーを介して呼び出すことができるサーバーレスのコードです。
Container App マイクロサービス用のサーバーレス コンテナー。

API をインポートする

Azure API Management に API をインポートする方法はいくつかあります。

Azure portal を使い、[API][+ API の追加] の順に選択します。 まず、インポートする API の種類を選びます。

Azure portal のスクリーンショット。API セクションが強調表示され選択された API Management サービスが表示されています。

次に、API 仕様へのリンク (URL またはファイルとして) と、API の名前を指定します。 OpenAPI のインポートの例を次に示します。

[OpenAPI 仕様から作成する] のインポート設定のスクリーンショット。[OpenAPI 仕様] と [表示名] フィールドが強調表示されています。

Azure portal は、多数の API をインポートおよび構成するための最も効率的なツールではありません。 API Management をスケールアップすると、Azure CLI、Azure Resource Manager や Bicep テンプレート、Azure PowerShell など、他のツールも必要になります。 たとえば、API ゲートウェイのデプロイ、成果物の定義と構成、API のインポート、ユーザーとサブスクリプションの管理に Azure PowerShell コマンドレットを使用できます。

視覚化する

インポートした API を介してデータが処理される方法を視覚化するための方法として、API ゲートウェイを使用できます。 データセットと対話し、API を通じてパラメーターを渡すことができます。

管理者の場合は、Azure portal で API を視覚化できます。

Azure portal の API 構成のスクリーンショット。インポートされた API で GET 要求テストが強調表示されています。

ポリシー

ポリシーによって、構成を通じて API の動作を変更できる強力な機能が提供されます。 それらは、API の要求または応答に対して順に実行される一連のステートメントのコレクションとして形成されます。

次の構成などがよく使われます。

  • XML から JSON への変換
  • 受信呼び出し数を制限する呼び出しレート制限。
  • 受信および送信ヘッダーの設定。

Azure portal を使って、さまざまなポリシーを API に適用します。 ポリシーは [デザイン] タブで表示できます。

すべての操作の API 構成を示す Azure portal のスクリーンショット。受信、送信、バックエンドの各セクションで基本ポリシーが強調表示されています。

[デザイン] タブを使って新しいポリシーを追加することもできます。

API 構成の受信ポリシー オプションを示す Azure portal のスクリーンショット。

製品

成果物は API のコレクションです。 複数の成果物に API を割り当てることができます。 たとえば、1 つの成果物 NorthWindShoesPartners では、パートナーに 2 つの API を公開できます。

製品 NorthWindShoesPartners
API 1 Inventory
API 2 Planning

サプライヤーには、1 つの API のみを公開できます。

製品 NorthWindShoesSuppliers
API 1 Inventory
API 2

成果物が異なるアクセス ルール、使用量のクォータ、使用条件を持つことができるようにするために、ポリシーを割り当てます。 したがって、Inventory API に対してパートナーとサプライヤーに異なるアクセス権を付与したい場合は、2 つの異なる成果物に API を割り当てます。

Azure portal を使って API と成果物を関連付けます。

Azure portal のスクリーンショット。[製品] セクションが強調表示された API Management が示されています。

いくつかの価格レベルに、次の 2 つの既定の製品があります。StarterUnlimited です。 Unlimited 成果物は運用環境での API 管理に向けて設計されていて、割り当てられる API の数に制限がありません。 新しい成果物は必要な数だけ作成できます。 Starter 成果物には、1 分あたり 5 回の API 呼び出し、1 週間あたり最大 100 回の API 呼び出しの制限があります。