Proprietà di recapito personalizzate

Le sottoscrizioni di eventi consentono di configurare le intestazioni HTTP incluse negli eventi recapitati. Questa funzionalità consente di impostare le intestazioni personalizzate richieste da una destinazione. È possibile configurare fino a 10 intestazioni durante la creazione di una sottoscrizione di eventi. Ogni valore di intestazione non deve superare 4.096 byte (4K).

È possibile impostare intestazioni personalizzate sugli eventi recapitati alle destinazioni seguenti:

  • Webhooks
  • Argomenti del bus di servizio di Azure
  • Hub eventi di Azure
  • Funzioni di Azure
  • Connessione ibridi di Inoltro di Azure

Quando si crea una sottoscrizione di eventi nella portale di Azure, è possibile usare la scheda Proprietà recapito per impostare intestazioni HTTP personalizzate. Questa pagina consente di impostare valori di intestazione fissi e dinamici.

Impostazione dei valori di intestazione statica

Per impostare le intestazioni con un valore fisso, specificare il nome dell'intestazione e il relativo valore nei campi corrispondenti:

Delivery properties - static

È consigliabile controllare Is secret? quando si forniscono dati sensibili. La visibilità dei dati sensibili sul portale di Azure dipende dall'autorizzazione di controllo degli accessi in base al ruolo dell'utente.

Impostazione dei valori di intestazione dinamica

È possibile impostare il valore di un'intestazione in base a una proprietà in un evento in ingresso. Usare la sintassi JsonPath per fare riferimento al valore della proprietà di un evento in ingresso da usare come valore per un'intestazione nelle richieste in uscita. Sono supportati solo i valori JSON di stringa, numero e booleano. Ad esempio, per impostare il valore di un'intestazione denominata Channel usando il valore del sistema di proprietà eventi in ingresso nei dati dell'evento, configurare la sottoscrizione di eventi nel modo seguente:

Delivery properties - dynamic

Utilizzare l'interfaccia della riga di comando di Azure

Usare il --delivery-attribute-mapping parametro quando si crea una sottoscrizione usando il az eventgrid event-subscription create comando . Ecco un esempio:

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

Esempi

Questa sezione offre alcuni esempi di utilizzo delle proprietà di recapito.

Impostazione dell'intestazione authorization con un token di connessione (esempio non normativo)

Impostare un valore su un'intestazione di autorizzazione per identificare la richiesta con il gestore webhook. È possibile impostare un'intestazione di autorizzazione se non si protegge il webhook con l'ID Microsoft Entra.

Nome intestazione Tipo di intestazione Valore intestazione
Authorization Statico BEARER SlAV32hkKG...

Le richieste in uscita devono ora contenere l'intestazione impostata nella sottoscrizione di eventi:

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

Authorization: BEARER SlAV32hkKG...

Nota

La definizione delle intestazioni di autorizzazione è un'opzione sensata quando la destinazione è un webhook. Non deve essere usato per le funzioni sottoscritte con un ID risorsa, bus di servizio, Hub eventi e Connessione ibride perché tali destinazioni supportano i propri schemi di autenticazione quando vengono usati con Griglia di eventi.

esempio di bus di servizio

bus di servizio di Azure supporta l'uso delle proprietà del messaggio seguenti durante l'invio di singoli messaggi.

Nome intestazione Tipo di intestazione
MessageId Dinamico
PartitionKey Statico o dinamico
SessionId Statico o dinamico
CorrelationId Statico o dinamico
Label Statico o dinamico
ReplyTo Statico o dinamico
ReplyToSessionId Statico o dinamico
To Statico o dinamico
ViaPartitionKey Statico o dinamico

Nota

  • Il valore predefinito di MessageId è l'ID interno dell'evento di Griglia di eventi. È possibile eseguirne l'override. Ad esempio, data.field.
  • È possibile impostare SessionId solo o MessageId.

È anche possibile specificare proprietà personalizzate quando si inviano messaggi a bus di servizio code o argomenti. Non usare il aeg- prefisso perché viene usato dalle proprietà di sistema nelle intestazioni dei messaggi. Per un elenco delle proprietà dell'intestazione del messaggio, vedere bus di servizio come gestore eventi

Esempio di Hub eventi

Se è necessario pubblicare eventi in una partizione specifica all'interno di un hub eventi, impostare la proprietà nella PartitionKey sottoscrizione di eventi per specificare la chiave di partizione che identifica la partizione dell'hub eventi di destinazione.

Nome intestazione Tipo di intestazione
PartitionKey Statico o dinamico

È anche possibile specificare proprietà personalizzate quando si inviano messaggi a un hub eventi. Non usare il aeg- prefisso per il nome della proprietà perché viene usato dalle proprietà di sistema nelle intestazioni del messaggio. Per un elenco delle proprietà dell'intestazione del messaggio, vedere Hub eventi come gestore eventi

Configurare la durata degli eventi in uscita per Archiviazione di Azure code

Per la destinazione delle code Archiviazione di Azure, è possibile configurare solo il tempo di esecuzione del messaggio in uscita dopo che è stato recapitato a una coda Archiviazione di Azure. Se non viene specificata alcuna ora, la durata predefinita del messaggio è di 7 giorni. È anche possibile impostare l'evento in modo che non scada mai.

Delivery properties - storage queue

Passaggi successivi

Per altre informazioni sul recapito di eventi, vedere l'articolo seguente: