Cola de Storage como controlador de eventos para eventos de Azure Event Grid

Un controlador de eventos es el lugar donde se envía el evento. El controlador realiza alguna acción adicional para procesar el evento. Varios servicios de Azure se configuran automáticamente para controlar eventos y Azure Queue Storage es uno de ellos.

Use Queue Storage para recibir los eventos que deben extraerse. Puede usar Queue Storage cuando tenga un proceso de larga duración que tarde demasiado tiempo en responder. Al enviar eventos a Queue Storage, la aplicación puede extraer y procesar eventos según su propia programación.

Nota:

  • Si no hay ninguna regla de firewall o red virtual configurada para la cuenta de Azure Storage, puede usar identidades asignadas por el usuario y asignadas por el sistema para entregar eventos a la cuenta de Azure Storage.
  • Si se configura un firewall o una regla de red virtual para la cuenta de Azure Storage, solo puede usar la identidad administrada asignada por el sistema si permitir que los servicios de Azure de la lista de servicios de confianza accedan a la cuenta de almacenamiento también está habilitada en la cuenta de almacenamiento. No es posible usar la identidad administrada asignada por el usuario tanto si esta opción está habilitada como si no.

Tutoriales

Consulte el siguiente tutorial para obtener un ejemplo de uso de Queue Storage como controlador de eventos.

Título Descripción
Inicio rápido: Enrutamiento de eventos personalizados a Azure Queue Storage con la CLI de Azure y Event Grid Describe cómo enviar eventos personalizados a una instancia de Queue Storage.

Ejemplos de REST (para PUT)

Cola de almacenamiento como el controlador de eventos

{
	"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"
	}
}

Cola de almacenamiento como controlador de eventos: entrega con identidad administrada

{
	"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"
	}
}

Cola de almacenamiento como el controlador de eventos con un destino de deadletter

{
	"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"
			}
		}
	}
}

Cola de almacenamiento como el controlador de eventos con un destino de deadletter: identidad administrada

{
	"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"
				}
			}
		}
	}
}

Pasos siguientes

Consulte el artículo Controladores de eventos para obtener una lista de controladores de eventos admitidos.