Destinazioni dei gestori di eventi in Griglia di eventi in Kubernetes

Un gestore eventi è 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 per 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 ovunque possa raggiungere 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:

  • app Azure Servizio 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 usando l'ID risorsa di Azure Resource Manager
  • bus di servizio di Azure argomenti o code usando il relativo ID risorsa di Azure Resource Manager
  • Archiviazione di Azure coda usando 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 di Griglia di eventi di Azure versione 2020-10-15-preview come riferimento per la gestione delle sottoscrizioni di eventi in Griglia di eventi in Kubernetes.

  1. Usare l'API REST versione 2020-10-15-preview.
  2. Griglia di eventi di Azure trigger per Funzioni di Azure non è supportato. È possibile usare un tipo di destinazione WebHook per recapitare eventi a Funzioni di Azure.
  3. 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.
  4. Le Connessione ibride di Inoltro di Azure come destinazione non sono ancora supportate.
  5. È supportato solo lo schema CloudEvents. Il valore dello schema supportato è "CloudEventSchemaV1_0". Lo schema degli eventi cloud è estendibile e basato su standard aperti.
  6. Le etichette (properties.labels) non sono applicabili a Griglia di eventi in Kubernetes. Di conseguenza, non sono disponibili.
  7. Il recapito con l'identità della risorsa non è supportato. Pertanto, tutte le proprietà per l'identità della sottoscrizione di eventi non sono supportate.
  8. 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 Filtro 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 su endpointType e specificare WebHook :

  • endpointUrl: URL dell'endpoint webhook

        {
          "properties": {
            "destination": {
              "endpointType": "WebHook",
              "properties": {
                "endpointUrl": "<your-webhook-endpoint>"
              }
            }
          }
        }
    

Azure Event Grid

Per pubblicare in un endpoint cloud Griglia di eventi di Azure, impostare su endpointType e specificareWebHook:

  • endpointUrl: Griglia di eventi di Azure URL dell'argomento 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)"
            }
          }
        }
      }
    

Event Hubs

Per pubblicare in un hub eventi, impostare su endpointType e specificare eventHub :

  • resourceId: 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 bus di servizio, impostare su endpointType e specificareserviceBusQueue:

  • resourceId: ID risorsa per la coda di 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 bus di servizio, impostare su endpointType e specificareserviceBusTopic:

  • resourceId: ID risorsa per l'argomento 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 Archiviazione, impostare su endpointType e specificarestorageQueue:

  • queueName: nome della coda Archiviazione di Azure in cui si sta pubblicando.

  • resourceID: 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