Azure Functions Proxies の機能のひとつに、リクエストを backend の url に送信せず、定義しておいたレスポンスを直接返すことができます。backend が用意できてないけどクライアント側の都合でどうしても通信したいときにサクッと使えます。
公式ドキュメントはいい感じにまとまっていますが、個人的によく使う Json や Json の Array を返すサンプルがないのでメモしておきました。
シンプルな Json のレスポンス
例として、api/item/1
って URL に GET
を投げると、id (URL の最後についてる数字の1)の item の値を返す Function Proxy のサンプルです。
proxies.json は以下の感じ。
Json はどう表現すればいいのかなーと思ったら、13-17行目のように response.body
にそのまま書けばよいやつですね。
後は、私は、テキトーに試してる時にうまく動かなったりしたので debug
を true にしてやってました(5行目)。デバッグログの見方はこちら に書いてます。
また、リクエストのクエリパラメーターやその他諸々の値を取得してレスポンスに埋め込むことができます。公式ドキュメントのここら辺 に記載があります。
Postman でリクエスト投げたら、想定通りのレスポンスが返ってきます。
Json の配列のレスポンス
api/item
という URL に GET を投げると、item の一覧が取得できる Functions Proxies を想定しています。
Postman で投げたら想定通りに返ってきます。
その他の基本的な Tips
ちょっとしたメモを残しておきます。
- アプリケーション設定 に設定してる環境変数は
%
で囲んで取得できます。まー Functions なので想像できそうなやつですね。
- Functions Proxies に関連するアプリケーション設定は2つあります。さっと見ておくとよいです。