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という構成の場合

⇒ https://(APIMの名称).azure-api.net

  • FunctionsのURL(Functionsから確認可能)

⇒ https://(Functionsの名称).azurewebsites.net/

  • APIMゲートウェイとFunctionsを組み合わせるとURLがどうなるかというとパスにそのまま(Functionsの名称)がくっつくんですねぇ。

⇒ https://(APIMの名称).azure-api.net/(Functionsの名称)/(Functionsのサービス)