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 の種類を選びます。
次に、API 仕様へのリンク (URL またはファイルとして) と、API の名前を指定します。 OpenAPI のインポートの例を次に示します。
Azure portal は、多数の API をインポートおよび構成するための最も効率的なツールではありません。 API Management をスケールアップすると、Azure CLI、Azure Resource Manager や Bicep テンプレート、Azure PowerShell など、他のツールも必要になります。 たとえば、API ゲートウェイのデプロイ、成果物の定義と構成、API のインポート、ユーザーとサブスクリプションの管理に Azure PowerShell コマンドレットを使用できます。
視覚化する
インポートした API を介してデータが処理される方法を視覚化するための方法として、API ゲートウェイを使用できます。 データセットと対話し、API を通じてパラメーターを渡すことができます。
管理者の場合は、Azure portal で API を視覚化できます。
ポリシー
ポリシーによって、構成を通じて API の動作を変更できる強力な機能が提供されます。 それらは、API の要求または応答に対して順に実行される一連のステートメントのコレクションとして形成されます。
次の構成などがよく使われます。
- XML から JSON への変換
- 受信呼び出し数を制限する呼び出しレート制限。
- 受信および送信ヘッダーの設定。
Azure portal を使って、さまざまなポリシーを API に適用します。 ポリシーは [デザイン] タブで表示できます。
[デザイン] タブを使って新しいポリシーを追加することもできます。
製品
成果物は 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 と成果物を関連付けます。
いくつかの価格レベルに、次の 2 つの既定の製品があります。Starter と Unlimited です。 Unlimited 成果物は運用環境での API 管理に向けて設計されていて、割り当てられる API の数に制限がありません。 新しい成果物は必要な数だけ作成できます。 Starter 成果物には、1 分あたり 5 回の API 呼び出し、1 週間あたり最大 100 回の API 呼び出しの制限があります。