Azure Event Grid 이벤트에 대한 이벤트 핸들러로서의 스토리지 큐

이벤트 처리기는 이벤트가 전송되는 위치입니다. 처리기는 이벤트를 처리하기 위한 추가 작업을 수행합니다. 이벤트를 처리하도록 여러 Azure 서비스가 자동으로 구성되고 Azure Queue Storage 도 그 중 하나입니다.

Queue Storage를 사용하여 끌어와야 하는 이벤트를 받습니다. 응답하는 데 너무 오래 걸리는 장기 실행 프로세스가 있는 경우 Queue Storage를 사용할 수 있습니다. 큐 스토리지에 이벤트를 보내면 앱은 자체 일정에 따라 이벤트를 끌어오고 처리할 수 있습니다.

메모

  • Azure Storage 계정에 대해 구성된 방화벽 또는 가상 네트워크 규칙이 없는 경우 사용자 할당 ID와 시스템 할당 ID를 모두 사용하여 Azure Storage 계정에 이벤트를 배달할 수 있습니다.
  • Azure Storage 계정에 대해 방화벽 또는 가상 네트워크 규칙이 구성된 경우 신뢰할 수 있는 서비스 목록의 Azure 서비스가 스토리지 계정에 액세스할 수 있도록 허용하는 경우 시스템 할당 관리 ID만 사용할 수 있습니다. 이 옵션의 사용 여부에 관계없이 사용자 할당 관리 ID를 사용할 수 없습니다.

자습서

큐 스토리지를 이벤트 처리기로 사용하는 예제는 다음 자습서를 참조하세요.

Title 설명
빠른 시작: 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"
				}
			}
		}
	}
}

다음 단계

지원되는 이벤트 처리기 목록은 이벤트 처리 기 문서를 참조하세요.