Azure API Management作ってみた
Azure API Management のドキュメント - チュートリアル、API リファレンス | Microsoft Docs
Azure Functions のドキュメント | Microsoft Docs
これを読みながら作成したけど、、、おそるべきわかりにくさ。
現状の理解
正確じゃないところもあるかと思いますが、ご愛嬌。
API ManagementはAPI 呼び出しのゲートウェイ。
主な設定の流れは以下の通り。
- API Managementを作成
- FunctionsやWeb Appsを関連付け(以降関連付けたAPIを"バックエンドAPI"と呼ぶ)
- バックエンドAPIへの全APIもしくは個別APIごとにProduct(製品)(1)・ポリシー(2)を設定
※このオペレーションっていうのは、GET POST PUT POST DELETEなど
※要検証だがスコープの狭い個別設定のほうでオーバーライドすると思われる。
(1) Product(製品)
ユーザーと権限を紐づけたプロファイル
(2) ポリシー
下記箇所にそれぞれポリシーを適用可能
- inbound:バックエンドへリクエストする前のポリシー
- backend:バックエンドで処理する前後(?)でのポリシー
- outbound:バックエンドからのレスポンスへのポリシー
- on-error:エラー時のポリシー
呼び出しのURLってどうなってる?
APIM⇒Functionsという構成の場合
- APIMゲートウェイのURL(APIM⇒設定⇒プロパティから確認可能)
⇒ https://(APIMの名称).azure-api.net
- FunctionsのURL(Functionsから確認可能)
⇒ https://(Functionsの名称).azurewebsites.net/
- APIMゲートウェイとFunctionsを組み合わせるとURLがどうなるかというとパスにそのまま(Functionsの名称)がくっつくんですねぇ。
⇒ https://(APIMの名称).azure-api.net/(Functionsの名称)/(Functionsのサービス)