사용자 지정 전달 속성

이벤트 구독을 사용하면 배달된 이벤트에 포함 되는 HTTP 헤더를 설정할 수 있습니다. 이 기능을 사용하여 대상에 필요한 사용자 지정 헤더를 설정할 수 있습니다. 이벤트 구독을 만들 때 최대 10개의 헤더를 설정할 수 있습니다. 각 헤더 값은 4,096(4K)바이트 이하여야 합니다.

다음 대상에 배달되는 이벤트에 사용자 지정 헤더를 설정할 수 있습니다.

  • Webhook
  • Azure Service Bus 토픽 및 큐
  • Azure Event Hubs
  • Azure Functions
  • Azure Relay 하이브리드 연결

Azure Portal에서 이벤트 구독을 만들 때 전송 속성 탭을 사용하여 사용자 지정 HTTP 헤더를 설정할 수 있습니다. 이 페이지에서는 고정 및 동적 헤더 값을 설정할 수 있습니다.

고정 헤더 값 설정

헤더를 고정 값으로 설정하려면 해당 필드에 헤더 이름 및 값을 제공합니다.

Delivery properties - static

중요한 데이터를 제공할 경우 비밀 여부를 선택하고 싶을 수 있습니다. Azure Portal에서 중요한 데이터의 표시 여부는 사용자의 RBAC 권한에 따라 달라집니다.

동적 헤더 값 설정

수신 이벤트 속성에 따라 헤더 값을 설정할 수 있습니다. JsonPath 구문을 사용하여 수신 이벤트 속성 값을 참조하고 발신 요청의 헤더 값으로 사용합니다. 문자열, 숫자, 부울의 JSON 값만 지원됩니다. 예를 들어 이벤트 데이터에서 수신 이벤트 속성 system의 값을 사용하여 Channel 헤더의 값을 설정하려면 다음과 같이 이벤트 구독을 구성합니다.

Delivery properties - dynamic

Azure CLI 사용

az eventgrid event-subscription create 명령을 사용하여 구독을 만들 때 --delivery-attribute-mapping 매개 변수를 사용합니다. 예를 들면 다음과 같습니다.

az eventgrid event-subscription create -n es1 \
    --source-resource-id /subscriptions/{SubID}/resourceGroups/{RG}/providers/Microsoft.EventGrid/topics/topic1
    --endpoint-type storagequeue \
    --endpoint /subscriptions/{SubID}/resourceGroups/TestRG/providers/Microsoft.Storage/storageAccounts/sa1/queueservices/default/queues/q1 \
    --enable-advanced-filtering-on-arrays true
    --delivery-attribute-mapping staticproperty1 static somestaticvalue2 true 
    --delivery-attribute-mapping staticproperty2 static somestaticvalue3 false 
    --delivery-attribute-mapping dynamicproperty1 dynamic data.key1

예제

이 섹션에서는 전송 속성을 사용하는 몇 가지 예제를 제공합니다.

전달자 토큰을 사용하여 인증 헤더 설정(비표준 예제)

웹후크 처리기를 사용하여 요청을 식별하는 인증 헤더에 값을 설정합니다. Microsoft Entra ID로 웹후크를 보호하지 않는 경우 인증 헤더를 설정할 수 있습니다.

헤더 이름 헤더 형식 헤더 값
Authorization 정적 BEARER SlAV32hkKG...

이제 발신 요청에는 이벤트 구독에 설정된 헤더가 포함되어야 합니다.

POST /home.html HTTP/1.1
Host: acme.com

Authorization: BEARER SlAV32hkKG...

참고 항목

대상이 웹후크인 경우 인증 헤더를 정의하는 것이 좋습니다. 리소스 ID를 사용하여 구독된 함수, Service Bus, Event Hubs, 하이브리드 연결에는 사용하지 않아야 합니다. 해당 대상은 Event Grid에서 사용될 때 자체 인증 체계를 지원하기 때문입니다.

Service Bus 예제

Azure Service Bus에서는 단일 메시지를 보낼 때 다음 메시지 속성을 사용하도록 지원합니다.

헤더 이름 헤더 형식
MessageId 동적
PartitionKey 정적 또는 동적
SessionId 정적 또는 동적
CorrelationId 정적 또는 동적
Label 정적 또는 동적
ReplyTo 정적 또는 동적
ReplyToSessionId 정적 또는 동적
To 정적 또는 동적
ViaPartitionKey 정적 또는 동적

참고 항목

  • MessageId의 기본값은 Event Grid 이벤트의 내부 ID입니다. 이를 재정의할 수 있습니다. 예: data.field.
  • SessionId 또는 MessageId만 설정할 수 있습니다.

Service Bus 큐 또는 토픽에 메시지를 보낼 때 사용자 지정 속성을 지정할 수도 있습니다. aeg- 접두사는 메시지 헤더의 시스템 속성에서 사용되므로 사용하지 마세요. 메시지 헤더 속성의 목록은 이벤트 처리기로서의 Service Bus를 참조하세요.

Event Hubs 예제

이벤트 허브 내 특정 파티션에 이벤트를 게시해야 하는 경우 이벤트 구독에서 PartitionKey 속성을 정의하여 대상 이벤트 허브 파티션을 식별하는 파티션 키를 지정합니다.

헤더 이름 헤더 형식
PartitionKey 정적 또는 동적

이벤트 허브로 메시지를 보낼 때 사용자 지정 속성을 지정할 수도 있습니다. aeg- 접두사는 메시지 헤더의 시스템 속성에서 사용되므로 속성 이름에 사용하지 마세요. 메시지 헤더 속성의 목록은 이벤트 처리기로서의 Event Hub를 참조하세요.

Azure Storage 큐로 발신되는 이벤트에 TTL(Time to Live) 구성

Azure Storage 큐 대상의 경우 발신 메시지가 Azure Storage 큐로 전송된 후에만 보내는 메시지에 포함될 TTL(Time to Live)을 구성할 수 있습니다. 시간이 제공되지 않는 경우 메시지의 기본 TTL(Time to Live)은 7일입니다. 이벤트가 만료되지 않도록 설정할 수도 있습니다.

Delivery properties - storage queue

다음 단계

이벤트 전송에 대한 자세한 내용은 다음 문서를 참조하세요.