Destinazioni dei gestori di eventi in Griglia di eventi in Kubernetes
Un gestore eventi è un qualsiasi sistema che espone un endpoint ed è la destinazione per gli eventi inviati da Griglia di eventi. Un gestore eventi che riceve un evento agisce su di esso e usa il payload dell'evento per eseguire una logica, che potrebbe causare l'occorrenza di nuovi eventi.
Il modo di configurare Griglia di eventi per inviare eventi a una destinazione consiste nella creazione di una sottoscrizione di eventi. Può essere eseguita tramite l'interfaccia della riga di comando di Azure, l'SDK di gestione o le chiamate HTTP dirette usando la versione dell'API 2020-10-15-preview.
In generale, Griglia di eventi in Kubernetes può inviare eventi a qualsiasi destinazione tramite webhook. I webhook sono endpoint HTTP esposti da un servizio o da un carico di lavoro a cui Griglia di eventi ha accesso. Il webhook può essere un carico di lavoro ospitato nello stesso cluster, nello stesso spazio di rete, nel cloud, in locale o qualsiasi posizione che possa essere raggiunta da Griglia di eventi.
Importante
Griglia di eventi in Kubernetes con Azure Arc è attualmente disponibile in anteprima pubblica. Questa versione di anteprima viene messa a disposizione senza contratto di servizio e non è consigliata per i carichi di lavoro di produzione. Alcune funzionalità potrebbero non essere supportate o potrebbero presentare funzionalità limitate. Per altre informazioni, vedere le Condizioni supplementari per l'uso delle anteprime di Microsoft Azure.
Tramite webhook, Griglia di eventi supporta le destinazioni seguenti ospitate in un cluster Kubernetes:
- Servizio app di Azure in Kubernetes con Azure Arc.
- Funzioni di Azure in Kubernetes con Azure Arc.
- App per la logica di Azure in Kubernetes con Azure Arc.
Oltre ai webhook, Griglia di eventi in Kubernetes può inviare eventi alle destinazioni seguenti ospitate in Azure:
- Griglia di eventi di Azure con webhook
- Funzioni di Azure solo con webhook
- Hub eventi di Azure con l'ID risorsa di Azure Resource Manager
- Argomenti o code del bus di servizio di Azure usando l'ID risorsa di Azure Resource Manager
- Coda di Archiviazione di Azure con l'ID risorsa di Azure Resource Manager
Parità delle funzionalità
Griglia di eventi in Kubernetes offre un buon livello di parità delle funzionalità con il supporto di Griglia di eventi di Azure per le sottoscrizioni di eventi. Nell'elenco seguente vengono enumerate le principali differenze nella funzionalità della sottoscrizione di eventi. Oltre a queste differenze, è possibile usare l'API REST versione 2020-10-15-preview di Griglia di eventi di Azure come riferimento per la gestione delle sottoscrizioni di eventi in Griglia di eventi in Kubernetes.
- Usare l'API REST versione 2020-10-15-preview.
- Il trigger Griglia di eventi di Azure per Funzioni di Azure non è supportato. È possibile usare un tipo di destinazione WebHook per recapitare eventi a Funzioni di Azure.
- Non è disponibile alcun supporto per la posizione dei messaggi non recapitabili. Ciò significa che non è possibile usare
properties.deadLetterDestination
nel payload della sottoscrizione di eventi. - Le connessioni ibride di Inoltro di Azure come destinazione non sono ancora supportate.
- È supportato solo lo schema CloudEvents. Il valore dello schema supportato è "CloudEventSchemaV1_0". Lo schema degli eventi cloud è estendibile e basato su standard aperti.
- Le etichette (properties.labels) non sono applicabili a Griglia di eventi in Kubernetes. Di conseguenza, non sono disponibili.
- Il recapito con identità della risorsa non è supportato. Pertanto, tutte le proprietà per l'identità della sottoscrizione di eventi non sono supportate.
- La convalida dell'endpoint di destinazione non è ancora supportata.
Filtro eventi nelle sottoscrizioni di eventi
L'altro aspetto importante della configurazione di una sottoscrizione di eventi consiste nel selezionare gli eventi che devono essere recapitati a una destinazione. Per altre informazioni, vedere Filtri eventi.
Configurazioni di destinazione di esempio
Di seguito sono riportate alcune configurazioni di esempio di base a seconda della destinazione prevista.
Webhook
Per pubblicare in un endpoint webhook, impostare endpointType
su WebHook
e specificare:
endpointUrl: l'URL dell'endpoint webhook
{ "properties": { "destination": { "endpointType": "WebHook", "properties": { "endpointUrl": "<your-webhook-endpoint>" } } } }
Griglia di eventi di Azure
Per pubblicare in un endpoint cloud di Griglia di eventi di Azure, impostare endpointType
su WebHook
e specificare:
endpointUrl: l'URL dell'argomento di Griglia di eventi di Azure nel cloud con il parametro della versione dell'API impostato su 2018-01-01 e
aeg-sas-key
impostato sulla chiave di firma di accesso condiviso con codifica URL.{ "properties": { "destination": { "endpointType": "WebHook", "properties": { "endpointUrl": "<your-event-grid-cloud-topic-endpoint-url>?api-version=2018-01-01&aeg-sas-key=urlencoded(sas-key-value)" } } } }
Hub eventi di
Per pubblicare in un hub eventi, impostare endpointType
su eventHub
e specificare:
resourceId: l'ID risorsa per l'hub eventi specifico.
{ "properties": { "destination": { "endpointType": "eventHub", "properties": { "resourceId": "<Azure Resource ID of your event hub>" } } } }
Code del bus di servizio
Per pubblicare in una coda del bus di servizio, impostare endpointType
su serviceBusQueue
e specificare:
resourceId: l'ID risorsa per la coda del bus di servizio specifica.
{ "properties": { "destination": { "endpointType": "serviceBusQueue", "properties": { "resourceId": "<Azure Resource ID of your Service Bus queue>" } } } }
Argomenti del bus di servizio
Per pubblicare in un argomento del bus di servizio, impostare endpointType
su serviceBusTopic
e specificare:
resourceId: l'ID risorsa per l'argomento del bus di servizio specifico.
{ "properties": { "destination": { "endpointType": "serviceBusTopic", "properties": { "resourceId": "<Azure Resource ID of your Service Bus topic>" } } } }
Code di archiviazione
Per pubblicare in una coda di archiviazione, impostare endpointType
su storageQueue
e specificare:
queueName: nome della coda di Archiviazione di Azure in cui si sta pubblicando.
resourceID: l'ID risorsa di Azure dell'account di archiviazione che contiene la coda.
{ "properties": { "destination": { "endpointType": "storageQueue", "properties": { "queueName": "<your-storage-queue-name>", "resourceId": "<Azure Resource ID of your Storage account>" } } } }
Passaggi successivi
- Aggiungere la configurazione dei filtri alla sottoscrizione di eventi per selezionare gli eventi da recapitare.
- Per informazioni sugli schemi supportati da Griglia di eventi in Azure Arc per Kubernetes, vedere Griglia di eventi in Kubernetes - Schemi di eventi.