Niestandardowe właściwości dostarczania

Subskrypcje zdarzeń umożliwiają konfigurowanie nagłówków HTTP uwzględnionych w dostarczanych zdarzeniach. Ta funkcja umożliwia ustawianie niestandardowych nagłówków wymaganych przez miejsce docelowe. Podczas tworzenia subskrypcji zdarzeń można skonfigurować maksymalnie 10 nagłówków. Każda wartość nagłówka nie powinna być większa niż 4096 (4K) bajtów.

Możesz ustawić nagłówki niestandardowe dla zdarzeń dostarczanych do następujących miejsc docelowych:

  • Elementy webhook
  • Tematy i kolejki usługi Azure Service Bus
  • Azure Event Hubs
  • Azure Functions
  • Hybrydowe Połączenie usługi Azure Relay

Podczas tworzenia subskrypcji zdarzeń w witrynie Azure Portal możesz użyć karty Właściwości dostarczania, aby ustawić niestandardowe nagłówki HTTP. Ta strona umożliwia ustawianie stałych i dynamicznych wartości nagłówka.

Ustawianie statycznych wartości nagłówka

Aby ustawić nagłówki o stałej wartości, podaj nazwę nagłówka i jego wartość w odpowiednich polach:

Delivery properties - static

Możesz sprawdzić , czy jest wpis tajny? podczas dostarczania poufnych danych. Widoczność poufnych danych w witrynie Azure Portal zależy od uprawnień RBAC użytkownika.

Ustawianie dynamicznych wartości nagłówka

Wartość nagłówka można ustawić na podstawie właściwości w zdarzeniu przychodzącym. Składnia JsonPath służy do odwoływania się do wartości właściwości zdarzenia przychodzącego, która ma być używana jako wartość nagłówka w żądaniach wychodzących. Obsługiwane są tylko wartości JSON ciągu, liczby i wartości logicznej. Aby na przykład ustawić wartość nagłówka o nazwie Channel przy użyciu wartości przychodzącego systemu właściwości zdarzeń w danych zdarzenia, skonfiguruj subskrypcję zdarzeń w następujący sposób:

Delivery properties - dynamic

Interfejs wiersza polecenia platformy Azure

Użyj parametru --delivery-attribute-mapping podczas tworzenia subskrypcji przy użyciu az eventgrid event-subscription create polecenia . Oto przykład:

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

Przykłady

Ta sekcja zawiera kilka przykładów użycia właściwości dostarczania.

Ustawianie nagłówka autoryzacji przy użyciu tokenu elementu nośnego (przykład nie normacyjny)

Ustaw wartość na nagłówek autoryzacji, aby zidentyfikować żądanie za pomocą programu obsługi elementu webhook. Nagłówek autoryzacji można ustawić, jeśli element webhook nie jest chroniony za pomocą identyfikatora Entra firmy Microsoft.

Nazwa nagłówka Typ nagłówka Wartość nagłówka
Authorization Static BEARER SlAV32hkKG...

Żądania wychodzące powinny teraz zawierać nagłówek ustawiony w subskrypcji zdarzeń:

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

Authorization: BEARER SlAV32hkKG...

Uwaga

Definiowanie nagłówków autoryzacji jest rozsądną opcją, gdy miejscem docelowym jest element webhook. Nie należy jej używać w przypadku funkcji subskrybowanych przy użyciu identyfikatora zasobu, usługi Service Bus, usługi Event Hubs i Połączenie hybrydowych, ponieważ te lokalizacje docelowe obsługują własne schematy uwierzytelniania w przypadku użycia z usługą Event Grid.

Przykład usługi Service Bus

Usługa Azure Service Bus obsługuje używanie następujących właściwości komunikatów podczas wysyłania pojedynczych komunikatów.

Nazwa nagłówka Typ nagłówka
MessageId Dynamiczny
PartitionKey Tryb statyczny lub dynamiczny
SessionId Tryb statyczny lub dynamiczny
CorrelationId Tryb statyczny lub dynamiczny
Label Tryb statyczny lub dynamiczny
ReplyTo Tryb statyczny lub dynamiczny
ReplyToSessionId Tryb statyczny lub dynamiczny
To Tryb statyczny lub dynamiczny
ViaPartitionKey Tryb statyczny lub dynamiczny

Uwaga

  • Wartość MessageId domyślna to wewnętrzny identyfikator zdarzenia usługi Event Grid. Można go zastąpić. Na przykład data.field.
  • Można ustawić tylko wartość SessionId lub MessageId.

Można również określić właściwości niestandardowe podczas wysyłania komunikatów do kolejek lub tematów usługi Service Bus. Nie używaj prefiksu aeg- , ponieważ jest używany przez właściwości systemowe w nagłówkach komunikatów. Aby uzyskać listę właściwości nagłówka komunikatów, zobacz Service Bus jako program obsługi zdarzeń

Przykład usługi Event Hubs

Jeśli chcesz opublikować zdarzenia w określonej partycji w centrum zdarzeń, ustaw PartitionKey właściwość w subskrypcji zdarzeń, aby określić klucz partycji identyfikujący docelową partycję centrum zdarzeń.

Nazwa nagłówka Typ nagłówka
PartitionKey Tryb statyczny lub dynamiczny

Można również określić właściwości niestandardowe podczas wysyłania komunikatów do centrum zdarzeń. Nie używaj prefiksu aeg- dla nazwy właściwości, ponieważ jest on używany przez właściwości systemowe w nagłówkach komunikatów. Aby uzyskać listę właściwości nagłówka wiadomości, zobacz Event Hubs jako program obsługi zdarzeń

Konfigurowanie czasu wygaśnięcia zdarzeń wychodzących do kolejek usługi Azure Storage

W przypadku miejsca docelowego kolejek usługi Azure Storage można skonfigurować tylko czas wygaśnięcia komunikatu wychodzącego, gdy zostanie on dostarczony do kolejki usługi Azure Storage. Jeśli nie zostanie podany czas, domyślny czas wygaśnięcia wiadomości wynosi 7 dni. Możesz również ustawić zdarzenie tak, aby nigdy nie wygasało.

Delivery properties - storage queue

Następne kroki

Aby uzyskać więcej informacji na temat dostarczania zdarzeń, zobacz następujący artykuł: