Condividi tramite


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.

Screenshot che mostra la pagina dell'argomento di Griglia di eventi nel portale di Azure con l'endpoint dell'argomento evidenziato.

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.

Screenshot che mostra la scheda Chiavi di accesso della pagina dell'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.

  1. Nel portale di Azure, avviare Cloud Shell.

  2. In Cloud Shell eseguire i comandi da Azure PowerShell o dall'interfaccia della riga di comando di Azure nella sessione di Bash o PowerShell.

    Screenshot che mostra Cloud Shell nel portale di Azure.

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>"
    }]
  }
}