Pubblicare eventi in Argomenti personalizzati di Griglia di eventi di Azure usando le chiavi di accesso
Questo articolo descrive come pubblicare un evento in un argomento personalizzato usano la chiave di accesso. Illustra il formato dei dati post ed evento. The Contratto di servizio (SLA) si applica solo ai post che corrispondono al formato richiesto.
Nota
L'autenticazione Microsoft Entra offre un supporto di autenticazione superiore rispetto a quello offerto dalla chiave di accesso o dall'autenticazione con token di firma di accesso condiviso ( SAS). Con l'autenticazione Microsoft Entra, l'identità viene convalidata rispetto al provider di identità Microsoft Entra. Gli sviluppatori non dovranno gestire le chiavi nel codice se si usa l'autenticazione Microsoft Entra. si potrà anche trarre vantaggio da tutte le funzionalità di sicurezza integrate in Microsoft Identity Platform, ad esempio l'accesso condizionale, che consentono di migliorare la posizione di sicurezza dell'applicazione. Per altre informazioni, vedere Autenticare i client di pubblicazione con Microsoft Entra ID.
Endpoint
Quando si invia il POST HTTP a un argomento personalizzato, usare il 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 usando l'interfaccia della riga di comando di Azure, usare:
È possibile trovare l'endpoint dell'argomento nella scheda Panoramica della pagina Argomento di Griglia di eventi nel portale di Azure.
Intestazione
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 usando l'interfaccia della riga di comando di Azure, usare:
Per ottenere la chiave di accesso per l'argomento personalizzato, selezionare la scheda Chiavi di accesso nella pagina Argomento di Griglia di eventi nel portale di Azure.
Dati dell'evento
Per gli argomenti personalizzati, i dati di livello principale contengono gli stessi campi degli eventi standard definiti dalle risorse. Una di queste proprietà è una proprietà data
che contiene le proprietà specifiche dell'argomento personalizzato. In qualità di autore di eventi, si determinano le proprietà per tale oggetto dati. Ecco lo schema:
[
{
"id": string,
"eventType": string,
"subject": string,
"eventTime": string-in-date-time-format,
"data":{
object-unique-to-each-publisher
},
"dataVersion": string
}
]
Per una descrizione di ogni proprietà, vedere Schema di eventi di Griglia di eventi di Azure. Quando un client manda degli eventi in un argomento di Griglia di eventi, le dimensioni totali della matrice possono raggiungere 1 MB. Anche le dimensioni massime consentite per un evento sono pari a 1 MB. Gli eventi superiori a 64 KB vengono addebitati in incrementi di 64 KB. Quando un client riceve eventi in un batch, il numero massimo consentito di eventi è 5.000 per batch.
Ad esempio, uno schema di dati 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 l'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.
Response
Dopo la pubblicazione nell'endpoint dell'argomento, si riceve una risposta. La risposta è un codice di risposta HTTP standard. Alcune risposte comuni sono:
Risultato | Response |
---|---|
Success | 200 OK |
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 Not Found |
Una matrice o un evento supera i limiti delle dimensioni | 413 Payload Too Large |
Per gli errori, il corpo del messaggio ha il formato seguente:
{
"error": {
"code": "<HTTP status code>",
"message": "<description>",
"details": [{
"code": "<HTTP status code>",
"message": "<description>"
}]
}
}
Contenuto correlato
- Per informazioni sul monitoraggio dei recapiti degli eventi, vedere Monitorare il recapito dei messaggi di Griglia di eventi di Azure.
- Per altre informazioni sulla chiave di autenticazione, vedere Sicurezza e autenticazione di Griglia di eventi.
- Per altre informazioni sulla creazione di una sottoscrizione di Griglia di eventi di Azure, vedere Schema di sottoscrizione per Griglia di eventi.