以儲存體佇列作為 Azure 事件方格事件的事件處理常式
事件處理常式是傳送事件的位置。 處理常式會採取進一步動作來處理事件。 有幾項 Azure 服務已自動設定為會處理事件,Azure 佇列儲存體是其中之一。
使用佇列儲存體來接收需要提取的事件。 若執行中的流程太過冗長導致回應時間過久,您可以使用佇列儲存體。 藉由將事件傳送至佇列儲存體,應用程式即可按照自己的排程提取並處理事件。
注意
- 如果沒有針對 Azure 儲存體帳戶設定的防火牆或虛擬網路規則,您可以使用使用者指派和系統指派的身分識別,將事件傳遞至 Azure 儲存體帳戶。
- 如果已為 Azure 儲存體帳戶設定防火牆或虛擬網路規則,則只有在信任的服務清單中允許 Azure 服務存取儲存體帳戶也在儲存體帳戶啟用時,才能使用系統指派的受控識別。 不論是否啟用此選項,您都無法使用使用者指派的受控識別。
教學課程
如需使用佇列儲存體作為事件處理常式的範例,請參閱下列教學課程。
標題 | 描述 |
---|---|
快速入門:使用 Azure CLI 和事件方格將自訂事件路由至 Azure 佇列儲存體 | 描述如何將自訂事件傳送至佇列儲存體。 |
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"
}
}
儲存體佇列作為事件處理常式 - 使用受控識別進行傳遞
{
"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"
}
}
}
}
儲存體佇列作為具有目的地無效化的事件處理常式 - 受控識別
{
"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"
}
}
}
}
}
下一步
如需支援的事件處理常式清單,請參閱事件處理常式一文。