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.
- Gebruik REST API-versie 2020-10-15-preview.
- Azure Event Grid-trigger voor Azure Functions wordt niet ondersteund. U kunt een doeltype webhook gebruiken om gebeurtenissen aan Azure Functions te leveren.
- Er is geen ondersteuning voor dode plaatsen . Dit betekent dat u de nettolading van uw gebeurtenisabonnement niet kunt gebruiken
properties.deadLetterDestination
. - Hybride verbindingen van Azure Relay als bestemming worden nog niet ondersteund.
- Alleen het CloudEvents-schema wordt ondersteund. De ondersteunde schemawaarde is 'CloudEventSchemaV1_0'. Cloudgebeurtenissenschema is uitbreidbaar en gebaseerd op open standaarden.
- Labels (properties.labels) zijn niet van toepassing op Event Grid in Kubernetes. Daarom zijn ze niet beschikbaar.
- Levering met resource-id wordt niet ondersteund. Daarom worden alle eigenschappen voor gebeurtenisabonnementidentiteit niet ondersteund.
- 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
- Voeg filterconfiguratie toe aan uw gebeurtenisabonnement om de gebeurtenissen te selecteren die moeten worden geleverd.
- Zie Event Grid in Kubernetes - Gebeurtenisschema's voor meer informatie over schema's die worden ondersteund door Event Grid in Azure Arc voor Kubernetes.