Azure Event Grid イベントに対するイベント ハンドラーとしての Webhook、Automation Runbook、Logic Apps

イベント ハンドラーは、Event Grid を介してイベント ソースからイベントを受信し、それらのイベントを処理します。 Event Grid によって転送されるイベントのイベント ハンドラーとして WebHook を使用できます。 Webhook は、イベント処理用に Azure でホストする必要はありません。 Event Grid では、HTTPS Webhook エンドポイントのみがサポートされています。 Webhook を介したイベント ハンドラーとして、Azure Automation Workbook や Azure Logic App も使用できます。 この記事では、詳細情報を提供している概念、クイック スタート、チュートリアルの記事へのリンクを示します。

注意

Azure 関数をイベント ハンドラーとして構成するためのエンドポイントの種類として Webhook を使用できますが、エンドポイントの種類としては Azure 関数を使用してください。 詳細については、イベント ハンドラーとしての Azure 関数に関する記事を参照してください。

Webhooks

イベント ハンドラーとしての Webhook の使用の概要と例については、次の記事を参照してください。

タイトル 説明
クイック スタート: Azure CLIPowerShell、およびポータルを使用してカスタム イベントを作成およびルーティングする。 カスタム イベントを Webhook に送信する方法を示します。
クイック スタート: Azure CLIPowerShell、およびポータルを使用して、Blob Storage イベントをカスタム Web エンドポイントにルーティングする。 Blob Storage イベントを Webhook に送信する方法を示します。
クイック スタート: コンテナー レジストリ イベントを送信する Azure CLI を使って Container Registry イベントを送信する方法を示します。
概要: HTTP エンドポイントへのイベントを受け取る イベント サブスクリプションからイベントを受信する HTTP エンドポイントを検証する方法、およびイベントを受信して逆シリアル化する方法について説明します。

Azure Automation

Azure Automation Runbook を使用して、イベントを処理できます。 自動化された Runbook を使用したイベントの処理は、Webhook を介してサポートされています。 Runbook 用の Webhook を作成した後、Webhook ハンドラーを使用します。 例については、次のチュートリアルを参照してください。

タイトル 説明
チュートリアル:Azure Automation と Event Grid および Microsoft Teams イベントを送信する仮想マシンを作成します。 このイベントは、仮想マシンをタグ付けする Automation Runbook をトリガーし、Microsoft Teams チャネルに送信されるメッセージをトリガーします。

Logic Apps

Logic Apps を使用して、Event Grid イベントを処理するビジネス プロセスを実装します。 このシナリオでは、Webhook を明示的に作成しません。 Event Grid からのイベントを処理するようにロジック アプリを構成すると、Webhook が自動的に作成されます。 例については次のチュートリアルを参照してください。

タイトル 説明
チュートリアル:Azure Event Grid と Logic Apps で仮想マシンの変更を監視する ロジック アプリは仮想マシンへの変更を監視し、それらの変更に関する電子メールを送信します。
チュートリアル:Logic Apps を使用して Azure IoT Hub イベントに関する電子メール通知を送信する ロジック アプリは、IoT ハブにデバイスが追加されるたびに、通知の電子メールを送信します。
チュートリアル:Azure Functions と Azure Logic Apps を使用して、Azure Event Grid 経由で受信した Azure Service Bus イベントに応答する Event Grid は、Service Bus トピックから関数アプリとロジック アプリにメッセージを送信します。

REST の例 (PUT 用)

{
	"properties": 
	{
		"destination": 
		{
			"endpointType": "WebHook",
			"properties": 
			{
				"endpointUrl": "<WEB HOOK URL>",
				"maxEventsPerBatch": 1,
				"preferredBatchSizeInKilobytes": 64
			}
		},
		"eventDeliverySchema": "EventGridSchema"
	}
}

次のステップ

サポートされているイベント ハンドラーの一覧については、「イベント ハンドラー」を参照してください。