Azure Event Grid イベントに対するイベント ハンドラーとしてのストレージ キュー
イベント ハンドラーは、イベントの送信先となる場所です。 ハンドラーは、さらにいくつかのアクションを行ってイベントを処理します。 一部の Azure サービスは、イベントを処理するように自動的に構成されます。Azure Queue storage はその 1 つです。
Queue storage を使用すると、プルする必要があるイベントを受信できます。 応答に時間がかかりすぎる長期実行プロセスの場合に、Queue Storage を使用できます。 イベントを Queue Storage に送信することで、アプリでは独自のスケジュールでイベントをプルして処理することができます。
Note
- Azure Storage アカウントに対して構成されたファイアウォールまたは仮想ネットワーク規則がない場合は、ユーザー割り当てとシステム割り当ての両方の ID を使用して、Azure Storage アカウントにイベントを配信できます。
- ファイアウォールまたは仮想ネットワーク規則が Azure Storage アカウントに対して構成されている場合、ストレージ アカウントで [信頼されたサービスの一覧にある Azure サービスがこのストレージ アカウントにアクセスすることを許可します] が有効になっていれば、システム割り当てマネージド ID のみを使用できます。 このオプションが有効かどうかに関係なく、ユーザー割り当てマネージド ID は使用できません。
チュートリアル
イベント ハンドラーとして Queue storage を使用する例については、次のチュートリアルを参照してください。
タイトル | 説明 |
---|---|
クイック スタート: Azure CLI と Event Grid を使ってカスタム イベントを Azure Queue Storage にルーティングする | Queue Storage にカスタム イベントを送信する方法について説明します。 |
REST の例 (PUT 用)
イベント ハンドラーとしてのストレージ キュー
{
"properties":
{
"destination":
{
"endpointType": "StorageQueue",
"properties":
{
"resourceId": "/subscriptions/<AZURE SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP NAME>/providers/Microsoft.Storage/storageAccounts/<STORAGE ACCOUNT NAME>",
"queueName": "<QUEUE NAME>"
}
},
"eventDeliverySchema": "EventGridSchema"
}
}
イベント ハンドラーとしてのストレージ キュー - マネージド ID を使用した配信
{
"properties":
{
"deliveryWithResourceIdentity":
{
"identity":
{
"type": "SystemAssigned"
},
"destination":
{
"endpointType": "StorageQueue",
"properties":
{
"resourceId": "/subscriptions/<AZURE SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP NAME>/providers/Microsoft.Storage/storageAccounts/<STORAGE ACCOUNT NAME>",
"queueName": "<QUEUE NAME>"
}
}
},
"eventDeliverySchema": "EventGridSchema"
}
}
イベント ハンドラーとしてのストレージ キューと配信不能の宛先
{
"name": "",
"properties":
{
"destination":
{
"endpointType": "StorageQueue",
"properties":
{
"resourceId": "/subscriptions/<AZURE SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP NAME>/providers/Microsoft.Storage/storageAccounts/<DESTINATION STORAGE>",
"queueName": "queue1"
}
},
"eventDeliverySchema": "EventGridSchema",
"deadLetterDestination":
{
"endpointType": "StorageBlob",
"properties":
{
"resourceId": "/subscriptions/<AZURE SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP NAME>/providers/Microsoft.Storage/storageAccounts/<DEADLETTER STORAGE>",
"blobContainerName": "test"
}
}
}
}
イベント ハンドラーとしてのストレージ キューと配信不能の宛先 - マネージド ID
{
"properties":
{
"destination":
{
"endpointType": "StorageQueue",
"properties":
{
"resourceId": "/subscriptions/<AZURE SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP NAME>/providers/Microsoft.Storage/storageAccounts/<DESTINATION STORAGE>",
"queueName": "queue1"
}
},
"eventDeliverySchema": "EventGridSchema",
"deadLetterWithResourceIdentity":
{
"identity":
{
"type": "SystemAssigned"
},
"deadLetterDestination":
{
"endpointType": "StorageBlob",
"properties":
{
"resourceId": "/subscriptions/<AZURE SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP NAME>/providers/Microsoft.Storage/storageAccounts/<DEADLETTER STORAGE>",
"blobContainerName": "test"
}
}
}
}
}
次のステップ
サポートされているイベント ハンドラーの一覧については、「イベント ハンドラー」を参照してください。