1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

デプロイした EventGrid Trigger の Azure Function を手動で発火させるメモ

Posted at

経緯

ローカルで実行した EventGrid Trigger の Function に対して、直接 Http Request を送ることで処理を走らせることができます。

これは公式ドキュメント: How to work with Event Grid triggers and bindings in Azure Functions: Manually post the request に手順がまとめられています。

同様に Azure にデプロイした後も Http リクエストを投げれば手動で走らせられると動作確認などで何かと便利だと思って試したのですが、ドキュメントの手順から単に URL をデプロイ先のものに置き換えたのみでは HttpStatusCode 401 の応答が返ってきてしまい、期待通りに動きません。

そのため手動で走らせることは無理なのではないかと思っていたのですが、試行錯誤する中で実際には可能であることに気づいたので、方法をメモします。

試した環境

  • C# (.NET6)
  • Azure Function v4

私が個人的に慣れている構成で試してうまくいくことのみ確認していますが、恐らくは言語などを問わず同じ方法で可能なのではないかと思っています。(もしほかの環境でうまくいったということがあれば教えていただけると大変ありがたいです。)

方法

以下のように単に Function Key をクエリパラメーターに付与してあげるだけで期待通り処理が走ります。

@RESOURCE_NAME=<functionのリソース名>
@FUNCTION_NAME=<実行するFunctionの名前>
@CODE=<function の App Keys>

POST https://{{RESOURCE_NAME}}.azurewebsites.net/runtime/webhooks/EventGrid?functionName={{FUNCTION_NAME}}&code={{CODE}}
Content-Type: application/json
aeg-event-type: Notification

{
  "id": "1",
  "eventType": "aaaa",
  "subject": "aaaa",
  "eventTime": "1111-12-15T14:21:12+00:00",
  "data": {
    "tekitou": "atai",
  },
  "dataVersion": "1.0"
}
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?