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
- Connessioni ibride di Inoltro di Azure
Quando si crea la sottoscrizione di un evento nel portale di Azure, è possibile usare la scheda Proprietà recapito per impostare intestazioni HTTP personalizzate. Questa pagina consente di impostare valori intestazione fissi e dinamici.
Impostazione dei valori di intestazione statici
Per impostare le intestazioni con un valore fisso, specificare il nome dell'intestazione e il relativo valore nei campi corrispondenti:
È consigliabile controllare È segreto? quando si forniscono dati sensibili. La visibilità dei dati sensibili nel portale di Azure dipende dall'autorizzazione per il controllo degli accessi in base al ruolo dell'utente.
Impostazione dei valori di intestazione dinamici
È possibile impostare il valore di un'intestazione in base a una proprietà di 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 Canale usando il valore del sistema proprietà evento in ingresso nei dati dell'evento, configurare la sottoscrizione evento nel modo seguente:
Utilizzare l'interfaccia della riga di comando di Azure
Usare il parametro --delivery-attribute-mapping
quando si crea una sottoscrizione con il comando az eventgrid event-subscription create
. 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 dell'autorizzazione con un token di connessione (esempio non normativo)
Impostare il valore su un'intestazione dell'autorizzazione per identificare la richiesta con il gestore webhook. È possibile impostare un'intestazione dell'autorizzazione se non si protegge il webhook con Microsoft Entra ID.
Nome intestazione | Tipo di intestazione | Valore intestazione |
---|---|---|
Authorization |
Statico | BEARER SlAV32hkKG... |
Le richieste in uscita ora devono contenere l'intestazione impostata nella sottoscrizione evento:
POST /home.html HTTP/1.1
Host: acme.com
Authorization: BEARER SlAV32hkKG...
Nota
La definizione delle intestazioni dell'autorizzazione è un'opzione sensata quando la destinazione è un webhook. Non deve essere usata per le funzioni sottoscritte con un ID risorsa, un bus di servizio, con hub eventi e connessioni ibride perché tali destinazioni supportano i propri schemi di autenticazione quando vengono usati con Griglia di eventi.
Esempio bus di servizio
Il bus di servizio di Azure supporta l'uso delle proprietà dei messaggi 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 solo
SessionId
oMessageId
.
È inoltre possibile specificare proprietà personalizzate durante l'invio di messaggi alle code o agli argomenti del bus di servizio. Non usare il prefisso aeg-
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 occorre pubblicare eventi in una partizione specifica all'interno di un hub eventi, impostare la proprietà PartitionKey
nella sottoscrizione di eventi per specificare la chiave di partizione che identifica la partizione di Hub eventi di destinazione.
Nome intestazione | Tipo di intestazione |
---|---|
PartitionKey |
Statico o dinamico |
È inoltre possibile specificare proprietà personalizzate quando si inviano messaggi a un hub eventi. Non usare il prefisso aeg-
per il nome della proprietà perché viene usato dalle proprietà di sistema nelle intestazioni dei messaggi. Per un elenco delle proprietà dell'intestazione del messaggio, vedere Hub eventi come gestore eventi
Configurare il time to live (TTL) degli eventi in uscita nelle code di Archiviazione di Azure
Per la destinazione delle code di Archiviazione di Azure, è possibile configurare solo il TTL che avrà il messaggio in uscita dopo essere stato recapitato a una coda di Archiviazione di Azure. Se non viene specificata alcuna indicazione temporale, il TTL predefinito del messaggio è di 7 giorni. È possibile impostare l'evento anche in modo che non scada mai.
Passaggi successivi
Per altre informazioni sul recapito di eventi, vedere l'articolo seguente: