🌐

Azure Portalから関数アプリで作成したリクエストボディ(JSON)が必要なHTTPトリガー関数にリクエストを送る

2024/08/20に公開

執筆日

2024/08/20

概要

Azure Functionsの関数アプリをデプロイしてリクエスト送って動作確認、というサイクルをしているとエディタ・CLI・Azureポータルとを行き来することがあると思います。簡単な動作をテストしたいだけならAzureポータルからポチポチっと実行したいと思ったのですが、テスト/実行の各ボックスに何を入れたらいいのかわかりづらくちょっと迷ったので、そんな人に向けての記事です。(普段からHTTPのレスポンスを扱っている人にとってはなんてことないかもしれませんが、pythonばかりいじっているバックエンドなプログラマにはわかりづらかった)調査不足かもしれませんがMS Learnでここの書き方に関するページが見つけられませんでした。

前提

関数アプリにHTTPトリガーの関数をデプロイしていること

結論

本文のブロックがリクエストボディにあたり、JSON形式で書き込む(辞書型、辞書型のリストどちらでもOK)

画像の本文・コード部分が見づらいかもしれないので一応サンプルです。(受け取ったボディを出力するだけ)

本文
[
    {"test": "1000"},
    {"hello": "json"}
]
コード
@app.function_name(name="http_test")
@app.route(route="req", methods=["POST"])
def http_test(req: func.HttpRequest) -> func.HttpResponse:
    json_data = req.get_json()
    logging.info(f"HTTP request received: {json.dumps(json_data)}")
    return func.HttpResponse(
        f"HTTP request received: {json.dumps(json_data)}",
        status_code=200
    )

感想

bodyを本文と略されることに慣れていなかっただけ……。

ヘッドウォータース

Discussion