Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Un argomento personalizzato di Event Grid è un endpoint a cui le tue applicazioni inviano i propri eventi, così che Event Grid possa instradare quegli eventi agli abbonati interessati. Questo articolo ti mostra come pubblicare eventi su un argomento personalizzato utilizzando chiavi di accesso, che autenticano le tue richieste senza dover configurare Microsoft Entra ID. Ottieni l'endpoint dell'argomento e la chiave di accesso, formatti un payload evento, invii un evento di esempio e rivedi la risposta.
L'Accordo sul Livello di Servizio (SLA) si applica solo ai post che corrispondono al formato previsto.
Prerequisiti
- Un argomento personalizzato di Griglia di eventi di Azure. Per crearne uno, vedi Invia eventi personalizzati a un endpoint web utilizzando il portale Azure.
- interfaccia della riga di comando di Azure, Azure PowerShell o accesso al portale Azure per recuperare l'endpoint dell'argomento e la chiave di accesso.
- Uno strumento che può inviare richieste HTTP POST, come
curl.
Note
L'autenticazione Microsoft Entra offre un supporto migliore rispetto all'autenticazione con chiave di accesso o token con firma di accesso condivisa (SAS). Utilizzando l'autenticazione Microsoft Entra, il provider di identità Microsoft Entra valida l'identità, così non gestisci le chiavi nel tuo codice. Benefici anche di funzionalità di sicurezza integrate nella Microsoft Identity Platform, come l'Accesso Condizionale, che aiutano a migliorare la sicurezza della tua applicazione. Per altre informazioni, vedere Autenticare i client di pubblicazione con Microsoft Entra ID.
Ottenere l'endpoint del topic
Per pubblicare eventi su un argomento personalizzato, invia una richiesta HTTP POST utilizzando il seguente formato URI: https://<topic-endpoint>?api-version=2018-01-01. Ad esempio, https://exampletopic.westus2-1.eventgrid.azure.net/api/events?api-version=2018-01-01 è un URI valido. Per ottenere l'endpoint per un argomento personalizzato, usa il portale Azure, interfaccia della riga di comando di Azure o Azure PowerShell.
Trova il punto finale dell'argomento nella scheda Panoramica della pagina Argomenti della Griglia Eventi nel portale Azure.
Ottenere la chiave di accesso
Nella richiesta includere un valore intestazione denominato aeg-sas-key che contiene una chiave per l'autenticazione. Ad esempio, aeg-sas-key: xxxxxxxxxxxxxxxxxxxxxxx è un valore intestazione valido. Per ottenere la chiave per un argomento personalizzato, usa il portale Azure, interfaccia della riga di comando di Azure o Azure PowerShell.
Per ottenere la chiave di accesso per l'argomento personalizzato, seleziona la scheda Tasti di accesso nella pagina Argomenti della Griglia Eventi nel portale Azure.
Formattare il payload dell'evento
Formatta ogni evento come oggetto JSON. I campi di livello superiore sono gli stessi degli eventi standard definiti da risorse, e la data proprietà contiene le proprietà uniche per il tuo argomento personalizzato. Come editore, definisci il contenuto dell'oggetto data . Per una descrizione di ogni proprietà, vedi Griglia di eventi di Azure event schema.
[
{
"id": string,
"eventType": string,
"subject": string,
"eventTime": string-in-date-time-format,
"data":{
object-unique-to-each-publisher
},
"dataVersion": string
}
]
Tieni a mente questi limiti di dimensione quando costruisci il carico utile:
- L'array di eventi può avere una dimensione totale fino a 1 MB.
- La dimensione massima per un singolo evento è di 1 MB. Gli eventi superiori a 64 KB comportano cariche in incrementi di 64 KB.
- Un lotto può contenere un massimo di 5.000 eventi.
Il seguente esempio mostra un payload di evento valido:
[{
"id": "1807",
"eventType": "recordInserted",
"subject": "myapp/vehicles/motorcycles",
"eventTime": "2017-08-10T21:03:07+00:00",
"data": {
"make": "Ducati",
"model": "Monster"
},
"dataVersion": "1.0"
}]
Inviare un evento di esempio
Questa sezione illustra come inviare un evento di esempio all'argomento personalizzato.
Nel portale di Azure, avviare Cloud Shell.
In Cloud Shell eseguire i comandi da Azure PowerShell o dall'interfaccia della riga di comando di Azure nella sessione di Bash o PowerShell.
Esaminare la risposta
Dopo aver pubblicato sul punto di riferimento dell'argomento, ricevi una risposta. La risposta è un codice di risposta HTTP standard. Alcune risposte comuni sono:
| Risultato | Risposta |
|---|---|
| Operazione completata | 200 Va bene |
| I dati di evento hanno un formato non corretto | 400 - Richiesta non valida |
| Chiave di accesso non valida | 401 - Non autorizzato |
| Endpoint non corretto | 404 Non trovato |
| Una matrice o un evento supera i limiti delle dimensioni | 413 Payload Too Large (413 Payload troppo grande) |
Per gli errori, il corpo del messaggio utilizza il seguente formato:
{
"error": {
"code": "<HTTP status code>",
"message": "<description>",
"details": [{
"code": "<HTTP status code>",
"message": "<description>"
}]
}
}
Contenuti correlati
- Monitorare il recapito dei messaggi di Event Grid: Scopri come monitorare e risolvere i problemi di recapito degli eventi.
- Sicurezza e autenticazione di Event Grid: Scopri come proteggere gli eventi con le chiavi di autenticazione.
- Schema di sottoscrizione di Event Grid: Indicazioni dettagliate sulla creazione di una sottoscrizione di Event Grid.