Informazioni sui domini eventi per la gestione di argomenti di Griglia di eventi

Un dominio eventi fornisce un endpoint per migliaia di singoli argomenti correlati alla stessa applicazione. È possibile considerarlo come un meta-argomento che può includere migliaia di singoli argomenti. Fornisce un endpoint di pubblicazione per tutti gli argomenti del dominio. Quando si pubblica un evento, il server di pubblicazione deve specificare l'argomento di destinazione nel dominio in cui si desidera pubblicare. Il server di pubblicazione può inviare una matrice o un batch di eventi in cui gli eventi vengono inviati a argomenti diversi nel dominio. Per informazioni dettagliate, vedere la sezione Pubblicazione di eventi in un dominio di eventi.

I domini offrono anche il controllo dell'autenticazione e dell'autorizzazione su ogni argomento, in modo da poter partizionare i tenant. Questo articolo descrive come usare i domini eventi per gestire il flusso di eventi personalizzati per vari clienti, organizzazioni o applicazioni aziendali. Usare i domini eventi per:

  • Gestire architetture basate su eventi multi-tenant su larga scala.
  • Gestire l'autenticazione e l'autorizzazione.
  • Partizionare gli argomenti senza doverli gestire singolarmente.
  • Evitare di dover pubblicare singolarmente in ogni endpoint degli argomenti.

Nota

Il dominio eventi non è progettato per supportare lo scenario di trasmissione in cui un evento viene inviato a un dominio e ogni argomento nel dominio riceve una copia dell'evento. Quando si pubblicano eventi, il server di pubblicazione deve specificare l'argomento di destinazione nel dominio in cui si desidera pubblicare. Se il server di pubblicazione vuole pubblicare lo stesso payload dell'evento in più argomenti nel dominio, l'autore deve duplicare il payload dell'evento e modificare il nome dell'argomento e pubblicarlo in Griglia di eventi usando l'endpoint di dominio, singolarmente o come batch.

Esempio di caso d'uso

I domini eventi si possono comprendere più facilmente con un esempio. Si supponga di eseguire Contoso Construction Machinery, dove si producono trattori, attrezzature di scavamento e altri macchinari pesanti. Tra le attività aziendali rientra l'invio ai clienti di informazioni in tempo reale sulla manutenzione delle apparecchiature, sullo stato dei sistemi e sugli aggiornamenti dei contratti. Tutte queste informazioni vengono inviate a diversi endpoint, tra cui l'app, gli endpoint dei clienti e altre infrastrutture configurate dai clienti.

I domini eventi consentono di modellare Contoso Construction Machinery come singola entità griglia di eventi. Ogni cliente è rappresentato come argomento all'interno del dominio. L'autenticazione e l'autorizzazione vengono gestite tramite Microsoft Entra ID. Ognuno dei clienti può sottoscrivere il proprio argomento e ricevere gli eventi che gli vengono recapitati. L'accesso gestito tramite il dominio eventi garantisce che il cliente possa accedere solo al proprio argomento.

Offre inoltre un singolo endpoint, in cui è possibile pubblicare tutti gli eventi dei clienti. Griglia di eventi assicurerà che ogni argomento venga a conoscenza solo degli eventi con ambito a livello del proprio tenant.

Immagine che mostra un caso d'uso di esempio per l'uso dei domini di Griglia di eventi.

Gestione degli accessi

Con un dominio, si ottiene un controllo granulare dell'autorizzazione e dell'autenticazione su ogni argomento tramite il controllo degli accessi in base al ruolo di Azure. È possibile usare questi ruoli per limitare ogni tenant nell'applicazione ai soli argomenti a cui si vuole concedere l'accesso. Il controllo degli accessi in base al ruolo di Azure nei domini eventi funziona allo stesso modo in cui il controllo di accesso gestito funziona nel resto di Griglia di eventi e In Azure. Usare il controllo degli accessi in base al ruolo di Azure per creare e applicare definizioni di ruolo personalizzate nei domini eventi.

Ruoli predefiniti

Griglia di eventi include due definizioni di ruolo predefinite per semplificare l'uso del controllo degli accessi in base al ruolo di Azure per l'uso dei domini eventi. Questi ruoli sono EventGrid EventSubscription Contributor e EventGrid EventSubscription Reader. e vengono assegnati a utenti che necessitano di sottoscrivere argomenti del dominio eventi del proprietario. L'ambito dell'assegnazione di ruolo è limitato all'argomento a cui gli utenti devono sottoscrivere. Per informazioni su questi ruoli, vedere Ruoli predefiniti per Griglia di eventi.

Sottoscrizione di argomenti

La sottoscrizione di eventi per un argomento all'interno di un dominio eventi equivale alla creazione di una sottoscrizione di eventi in un argomento personalizzato o alla sottoscrizione di un evento da un servizio di Azure.

Importante

L'argomento dominio è considerato una risorsa gestita automaticamente in Griglia di eventi. È possibile creare una sottoscrizione di eventi nell'ambito del dominio senza creare l'argomento dominio. In questo caso, Griglia di eventi crea automaticamente l'argomento del dominio per conto dell'utente. Naturalmente, è comunque possibile scegliere di creare manualmente l'argomento del dominio. Questo comportamento consente di preoccuparsi di una risorsa inferiore quando si tratta di un numero enorme di argomenti di dominio. Quando viene eliminata l'ultima sottoscrizione a un argomento di dominio, l'argomento del dominio viene eliminato anche indipendentemente dal fatto che l'argomento del dominio sia stato creato o creato automaticamente manualmente.

Sottoscrizioni di ambiti di dominio

I domini eventi consentono anche di sottoscrivere ambiti di dominio. Una sottoscrizione di eventi in un dominio di eventi riceve tutti gli eventi inviati al dominio indipendentemente dall'argomento a cui vengono inviati gli eventi. Le sottoscrizioni di ambiti di dominio possono essere utili a scopi di gestione e controllo.

Pubblicazione in un dominio eventi

Quando si crea un dominio eventi, si ottiene un endpoint di pubblicazione come se si fosse creato un argomento in Griglia di eventi. Per pubblicare eventi in qualsiasi argomento di un dominio eventi, eseguire il push degli eventi nell'endpoint del dominio nello stesso modo in cui si farebbe per un argomento personalizzato. L'unica differenza è che è necessario specificare l'argomento al quale si vuole recapitare l'evento. Ad esempio, la pubblicazione della matrice di eventi seguente invia l'evento con "id": "1111" all'argomento foo mentre l'evento con "id": "2222" verrebbe inviato all'argomento bar.

Quando si usa lo schema di eventi cloud, specificare il nome dell'argomento griglia di eventi nel dominio come valore per la source proprietà . Nell'esempio seguente, source la proprietà è impostata su foo per il primo evento e su bar per il secondo evento.

Se si vuole usare un campo diverso per specificare l'argomento previsto nel dominio, specificare il mapping dello schema di input durante la creazione del dominio. Ad esempio, se si usa l'API REST, usare la proprietà properties.inputSchemaMapping quando eseguire il mapping di tale campo a properties.topic. Se si usa .NET SDK, usare EventGridJsonInputSchemaMapping. Altri SDK supportano anche il mapping dello schema.

[{
  "source": "foo",
  "id": "1111",
  "type": "maintenanceRequested",
  "subject": "myapp/vehicles/diggers",
  "time": "2018-10-30T21:03:07+00:00",
  "data": {
    "make": "Contoso",
    "model": "Small Digger"
  },
	"specversion": "1.0"
},
{
  "source": "bar",
  "id": "2222",
  "type": "maintenanceCompleted",
  "subject": "myapp/vehicles/tractors",
  "time": "2018-10-30T21:04:12+00:00",
  "data": {
    "make": "Contoso",
    "model": "Big Tractor"
  },
	"specversion": "1.0"
}]

I domini eventi gestiscono automaticamente la pubblicazione negli argomenti. Invece di pubblicare gli eventi in ogni argomento gestito individualmente, è possibile pubblicare tutti gli eventi nell'endpoint del dominio. Griglia di eventi assicurerà che ogni evento venga inviato all'argomento corretto.

Prezzi

I domini eventi usano gli stessi prezzi delle operazioni usati da tutte le altre funzionalità di Griglia di eventi. Nei domini eventi le operazioni funzionano come negli argomenti personalizzati. Ogni ingresso di un evento in un dominio eventi è un'operazione e ogni tentativo di recapito di un evento è un'operazione.

Passaggi successivi

Per informazioni sulla configurazione di domini eventi, la creazione di argomenti, la creazione di sottoscrizioni di eventi e la pubblicazione di eventi, vedere Manage Event Domains (Gestire domini eventi).