Share via


Doelen van gebeurtenis-handlers in Event Grid in Kubernetes

Een gebeurtenis-handler is elk systeem dat een eindpunt beschikbaar maakt en de bestemming is voor gebeurtenissen die door Event Grid worden verzonden. Een gebeurtenis-handler die een gebeurtenis ontvangt, reageert erop en gebruikt de nettolading van de gebeurtenis om een bepaalde logica uit te voeren, wat kan leiden tot het optreden van nieuwe gebeurtenissen.

De manier om Event Grid te configureren om gebeurtenissen naar een bestemming te verzenden, is door een gebeurtenisabonnement te maken. U kunt dit doen via Azure CLI, beheer-SDK of directe HTTPs-aanroepen met behulp van de API-versie 2020-10-15-preview.

Over het algemeen kan Event Grid in Kubernetes gebeurtenissen verzenden naar elke bestemming via Webhooks. Webhooks zijn HTTP-eindpunten die worden weergegeven door een service of workload waartoe Event Grid toegang heeft. De webhook kan een workload zijn die wordt gehost in hetzelfde cluster, in dezelfde netwerkruimte, in de cloud, on-premises of op elke locatie die Event Grid kan bereiken.

Belangrijk

Event Grid in Kubernetes met Azure Arc is momenteel beschikbaar als openbare preview. Deze preview-versie wordt aangeboden zonder service level agreement en wordt niet aanbevolen voor productieworkloads. Misschien worden bepaalde functies niet ondersteund of zijn de mogelijkheden ervan beperkt. Zie Aanvullende gebruiksvoorwaarden voor Microsoft Azure-previews voor meer informatie.

Via Webhooks ondersteunt Event Grid de volgende bestemmingen die worden gehost op een Kubernetes-cluster:

  • Azure-app Service in Kubernetes met Azure Arc.
  • Azure Functions in Kubernetes met Azure Arc.
  • Azure Logic Apps in Kubernetes met Azure Arc.

Naast Webhooks kan Event Grid in Kubernetes gebeurtenissen verzenden naar de volgende bestemmingen die worden gehost in Azure:

  • Azure Event Grid met webhooks
  • Alleen Azure Functions met webhooks
  • Azure Event Hubs met behulp van de resource-id van Azure Resource Manager
  • Azure Service Bus-onderwerpen of -wachtrijen met behulp van de resource-id van Azure Resource Manager
  • Azure Storage-wachtrij met behulp van de resource-id van Azure Resource Manager

Functiepariteit

Event Grid in Kubernetes biedt een goed niveau van functiepariteit met de ondersteuning van Azure Event Grid voor gebeurtenisabonnementen. De volgende lijst bevat de belangrijkste verschillen in de functionaliteit van gebeurtenisabonnementen. Naast deze verschillen kunt u de REST API-versie 2020-10-15 van Azure Event Grid gebruiken als referentie bij het beheren van gebeurtenisabonnementen op Event Grid in Kubernetes.

  1. Gebruik REST API-versie 2020-10-15-preview.
  2. Azure Event Grid-trigger voor Azure Functions wordt niet ondersteund. U kunt een doeltype webhook gebruiken om gebeurtenissen aan Azure Functions te leveren.
  3. Er is geen ondersteuning voor dode plaatsen . Dit betekent dat u de nettolading van uw gebeurtenisabonnement niet kunt gebruiken properties.deadLetterDestination .
  4. Hybride verbindingen van Azure Relay als bestemming worden nog niet ondersteund.
  5. Alleen het CloudEvents-schema wordt ondersteund. De ondersteunde schemawaarde is 'CloudEventSchemaV1_0'. Cloudgebeurtenissenschema is uitbreidbaar en gebaseerd op open standaarden.
  6. Labels (properties.labels) zijn niet van toepassing op Event Grid in Kubernetes. Daarom zijn ze niet beschikbaar.
  7. Levering met resource-id wordt niet ondersteund. Daarom worden alle eigenschappen voor gebeurtenisabonnementidentiteit niet ondersteund.
  8. Validatie van doeleindpunt wordt nog niet ondersteund.

Gebeurtenisfiltering in gebeurtenisabonnementen

Het andere belangrijke aspect van het configureren van een gebeurtenisabonnement is het selecteren van de gebeurtenissen die moeten worden geleverd aan een bestemming. Zie Gebeurtenisfiltering voor meer informatie.

Voorbeeld van doelconfiguraties

Hieronder volgen enkele eenvoudige voorbeeldconfiguraties, afhankelijk van de beoogde bestemming.

Webhook

Als u wilt publiceren naar een WebHook-eindpunt, stelt u het endpointType volgende WebHook in en geeft u het volgende op:

  • endpointUrl: de EINDPUNT-URL van de WebHook

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

Azure Event Grid

Als u wilt publiceren naar een Azure Event Grid-cloudeindpunt, stelt u het endpointType volgende WebHook in en geeft u het volgende op:

  • endpointUrl: Azure Event Grid-onderwerp-URL in de cloud met de API-versieparameter ingesteld op 2018-01-01 en aeg-sas-key ingesteld op de MET URL gecodeerde SAS-sleutel.

      {
        "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

Als u wilt publiceren naar een Event Hubs, stelt u het endpointType volgende eventHub in en geeft u het volgende op:

  • resourceId: resource-id voor de specifieke Event Hub.

        {
          "properties": {
            "destination": {
              "endpointType": "eventHub",
              "properties": {
                "resourceId": "<Azure Resource ID of your event hub>"
              }
            }
          }
        }
    

Service Bus-wachtrijen

Als u wilt publiceren naar een Service Bus-wachtrij, stelt u het endpointType volgende serviceBusQueue in en geeft u het volgende op:

  • resourceId: resource-id voor de specifieke Service Bus-wachtrij.

        {
          "properties": {
            "destination": {
              "endpointType": "serviceBusQueue",
              "properties": {
                "resourceId": "<Azure Resource ID of your Service Bus queue>"
              }
            }
          }
        }
    

Service Bus-onderwerpen

Als u wilt publiceren naar een Service Bus-onderwerp, stelt u het volgende serviceBusTopic in en geeft u het endpointType volgende op:

  • resourceId: resource-id voor het specifieke Service Bus-onderwerp.

    {
      "properties": {
        "destination": {
          "endpointType": "serviceBusTopic",
          "properties": {
            "resourceId": "<Azure Resource ID of your Service Bus topic>"
          }
        }
      }
    }
    

Opslagwachtrijen

Als u wilt publiceren naar een opslagwachtrij, stelt u het volgende endpointType storageQueue in en geeft u het volgende op:

  • queueName: de naam van de Azure Storage-wachtrij waarnaar u publiceert.

  • resourceID: Azure-resource-id van het opslagaccount dat de wachtrij bevat.

    {
      "properties": {
        "destination": {
          "endpointType": "storageQueue",
          "properties": {
            "queueName": "<your-storage-queue-name>",
            "resourceId": "<Azure Resource ID of your Storage account>"
          }
        }
      }
    }
    

Volgende stappen