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:

Proprietà di recapito - statico

È 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:

Proprietà di recapito- dinamico

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 o MessageId.

È 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.

Proprietà di recapito - Coda di archiviazione

Passaggi successivi

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