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 をインポートするためのオプションがいくつか用意されています。

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

また、複数のバックエンド Azure リソースから API をインポートすることもできます。

Type 詳細
ロジック アプリ ロジック アプリは、ワークフローやさまざまなデータ ソースとの統合を調整および自動化するために使われます。
App Service Azure のアプリ サービス内でホストされる API。
関数アプリ トリガーを介して呼び出すことができるサーバーレスのコードです。
Container App マイクロサービス用のサーバーレス コンテナー。

API をインポートする

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

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

Screenshot of Azure portal showing API Management service with the APIs section highlighted and selected.

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

Screenshot of create from OpenAPI specification import settings with OpenAPI specification and display name fields highlighted.

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

視覚化する

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

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

Screenshot of Azure portal API configuration showing a highlighted GET request test on an imported API.

ポリシー

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

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

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

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

Screenshot of Azure portal showing API configuration for all operations with base policies highlighted for inbound, outbound, and backend sections.

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

Screenshot of Azure portal showing inbound policy options for API configuration.

Product

成果物は 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 と成果物を関連付けます。

Screenshot of Azure portal showing API Management with products section highlighted.

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