Speicherwarteschlange als Ereignishandler für Azure Event Grid-Ereignisse

Ein Ereignishandler ist der Ort, an den das Ereignis gesendet wird. Der Handler ergreift zur Verarbeitung des Ereignisses weitere Maßnahmen. Mehrere Azure-Dienste werden automatisch für die Behandlung von Ereignissen konfiguriert. Azure Queue Storage ist einer dieser Dienste.

Verwenden Sie Queue Storage, um Ereignisse zu empfangen, die gepullt werden müssen. Bei einem Prozess mit langer Ausführungszeit und zu langer Antwortdauer können Sie Queue Storage verwenden. Wenn die Ereignisse an Queue Storage gesendet werden, kann die App Ereignisse nach einem eigenen Zeitplan pullen und verarbeiten.

Hinweis

  • Wenn keine Firewall- oder VNET-Regeln für das Azure Storage-Konto konfiguriert sind, können Sie sowohl benutzerseitig als auch systemseitig zugewiesene Identitäten verwenden, um Ereignisse an das Azure Storage-Konto zu übermitteln.
  • Wenn eine Firewall- oder VNET-Regel für das Azure Storage-Konto konfiguriert ist, können Sie nur die systemseitig zugewiesene verwaltete Identität verwenden, wenn auch Azure-Dienste in der Liste der vertrauenswürdigen Dienste Zugriff auf das Speicherkonto erlauben für das Speicherkonto aktiviert ist. Sie können keine benutzerseitig zugewiesene verwaltete Identität verwenden, und zwar unabhängig davon, ob diese Option aktiviert ist oder nicht.

Tutorials

Im folgenden Tutorial finden Sie ein Beispiel für die Verwendung von Queue Storage als Ereignishandler.

Titel BESCHREIBUNG
Schnellstart: Weiterleiten benutzerdefinierter Ereignisse an Azure Queue Storage mit Azure CLI und Event Grid Beschreibt das Senden von benutzerdefinierten Ereignisse an eine Queue Storage-Instanz.

REST-Beispiele (für PUT)

Speicherwarteschlange als Ereignishandler

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

Speicherwarteschlange als Ereignishandler: Übermittlung mit verwalteter Identität

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

Speicherwarteschlange als Ereignishandler mit einem Ziel für unzustellbare Nachrichten

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

Speicherwarteschlange als Ereignishandler mit einem Ziel für unzustellbare Nachrichten: Verwaltete Identität

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

Nächste Schritte

Eine Liste der unterstützten Ereignishandler finden Sie im Artikel zu Ereignishandlern.