Gebeurtenissen leveren aan Azure Event Hubs met behulp van naamruimteonderwerpen - Azure Portal
Het artikel bevat stapsgewijze instructies voor het publiceren van gebeurtenissen naar Azure Event Grid in de JSON-indeling van CloudEvents en het leveren van deze gebeurtenissen met behulp van het pushleveringsmodel.
Om specifiek te zijn, gebruikt u Azure Portal en Curl om gebeurtenissen te publiceren naar een naamruimteonderwerp in Event Grid en deze gebeurtenissen vanuit een gebeurtenisabonnement naar een Event Hubs-handlerbestemming te pushen. Zie het overzicht van pushlevering voor meer informatie over het pushleveringsmodel.
Als u geen Azure-abonnement hebt, kunt u een gratis Azure-account maken voordat u begint.
Een Event Grid-naamruimte maken
Een Event Grid-naamruimte biedt een door de gebruiker gedefinieerd eindpunt waarnaar u uw gebeurtenissen plaatst. In het volgende voorbeeld wordt een naamruimte in uw resourcegroep gemaakt met behulp van Bash in Azure Cloud Shell. De naamruimtenaam moet uniek zijn omdat deze deel uitmaakt van een DNS-vermelding (Domain Name System).
Ga naar de Azure Portal.
Typ
Event Grid Namespaces
en selecteerEvent Grid Namespaces
in de zoekbalk in het onderwerp de resultaten.Selecteer + Maken op de opdrachtbalk op de pagina Event Grid-naamruimten.
Voer op de pagina Naamruimte maken de volgende stappen uit:
- Selecteer het Azure-abonnement waarin u de naamruimte wilt maken.
- Maak een nieuwe resourcegroep door Nieuwe maken te selecteren of een bestaande resourcegroep te selecteren.
- Voer een naam in voor de naamruimte.
- Selecteer de locatie waar u de resourcegroep wilt maken.
- Selecteer vervolgens Controleren + maken.
- Selecteer Maken op de pagina Beoordelen en maken.
Selecteer op de pagina Implementatie de optie Naar de resource gaan na de geslaagde implementatie.
De toegangssleutel verkrijgen
- Selecteer op de pagina Event Grid-naamruimte toegangstoetsen in het menu links.
- Selecteer de knop Kopiƫren naast de toegangssleutel.
- Sla de toegangssleutel ergens op. U gebruikt deze verderop in deze quickstart.
Beheerde identiteit inschakelen voor de Event Grid-naamruimte
Schakel door het systeem toegewezen beheerde identiteit in de Event Grid-naamruimte in. Als u gebeurtenissen wilt leveren aan Event Hubs in uw Event Hubs-naamruimte met behulp van een beheerde identiteit, voert u de volgende stappen uit:
- Door het systeem toegewezen of door de gebruiker toegewezen beheerde identiteit inschakelen: naamruimten. Lees verder naar de volgende sectie voor informatie over het inschakelen van beheerde identiteiten met behulp van Azure CLI.
- Voeg de identiteit toe aan de rol Azure Event Hubs-gegevenszender in de Event Hubs-naamruimte en lees verder naar de volgende sectie om te zien hoe u de roltoewijzing toevoegt.
- Configureer het gebeurtenisabonnement dat gebruikmaakt van een Event Hub als eindpunt om de door het systeem toegewezen of door de gebruiker toegewezen beheerde identiteit te gebruiken.
In deze sectie schakelt u een door het systeem toegewezen beheerde identiteit in de naamruimte in. U voert de andere stappen verderop in deze quickstart uit.
Selecteer identiteit in het linkermenu op de pagina Event Grid-naamruimte.
Selecteer Op de pagina Identiteit de optie Aan voor de status.
Selecteer Opslaan op de opdrachtbalk.
Een onderwerp maken in de naamruimte
Maak een onderwerp dat wordt gebruikt voor het opslaan van alle gebeurtenissen die zijn gepubliceerd naar het naamruimte-eindpunt.
- Selecteer Onderwerpen in het linkermenu.
- Selecteer + Onderwerp op de opdrachtbalk op de pagina Onderwerpen.
- Voer op de pagina Onderwerp maken de volgende stappen uit:
Een Event Hubs-naamruimte maken
Maak een Event Hubs-resource die wordt gebruikt als de handlerbestemming voor het pushleveringsabonnement voor de naamruimteonderwerp. Voer deze stappen uit op een afzonderlijk tabblad van uw internetbrowser of in een afzonderlijk venster. Navigeer naar Azure Portal en meld u aan met dezelfde referenties die u eerder en hetzelfde Azure-abonnement hebt gebruikt.
- Typ Event Hubs in de zoekbalk en selecteer Event Hubs.
- Selecteer + Maken op de opdrachtbalk op de pagina Event Hubs.
- Voer op de pagina Naamruimte maken de volgende stappen uit:
- Selecteer het Azure-abonnement dat u hebt gebruikt om de Event Grid-naamruimte te maken.
- Selecteer de resourcegroep die u eerder hebt gebruikt.
- Voer een naam in voor de Event Hubs-naamruimte.
- Selecteer dezelfde locatie die u hebt gebruikt voor de Event Grid-naamruimte.
- Selecteer Basic voor de prijscategorie .
- Selecteer Controleren + maken.
- Selecteer op de pagina Beoordelen de optie Maken.
- Selecteer op de pagina Implementatie de optie Ga naar de resource nadat de implementatie is geslaagd.
Beheerde Identiteit van Event Grid toevoegen aan de rol Event Hubs-gegevenszender
- Selecteer op de pagina Event Hubs-naamruimte toegangsbeheer (IAM) in het linkermenu.
- Selecteer Roltoewijzing toevoegen> op de opdrachtbalk.
- Zoek op de pagina Roltoewijzing toevoegen naar Event Hubs-gegevenszender en selecteer Azure Event Hubs-gegevenszender in de lijst met rollen en selecteer vervolgens Volgende.
- Selecteer op het tabblad Leden beheerde identiteit voor het type en selecteer vervolgens + Leden selecteren.
- Selecteer op de pagina Beheerde identiteiten selecteren De Event Grid-naamruimte voor de beheerde identiteit en selecteer vervolgens de beheerde identiteit met dezelfde naam als de Event Grid-naamruimte.
- Kies Selecteren op de pagina Beheerde identiteiten selecteren.
- Selecteer nu op de pagina Roltoewijzing toevoegen de optie Controleren en toewijzen.
- Selecteer Beoordelen en toewijzen op de pagina Beoordelen en toewijzen.
Een Event Hub maken
- Selecteer Event Hubs in het linkermenu op de pagina Event Hubs-naamruimte.
- Selecteer + Event Hub op de opdrachtbalk op de pagina Event Hubs.
- Voer op de pagina Event Hub maken een naam in voor de Event Hub en selecteer Vervolgens Beoordelen en maken.
- Selecteer Maken op de pagina Beoordelen en maken.
Een gebeurtenisabonnement maken
Maak een gebeurtenisabonnement dat de leveringsmodus instelt op Push, die ondersteuning biedt voor pushlevering.
- Ga naar het tabblad of venster met de Event Grid-naamruimtepagina geopend vanaf het tabblad of venster waarop de Event Hubs-naamruimtepagina is geopend.
- Selecteer onderwerpen in het linkermenu op de pagina Event Grid-naamruimte.
- Selecteer op de pagina Onderwerpen het onderwerp dat u in de vorige stap hebt gemaakt.
- Selecteer + Abonnement op de opdrachtbalk.
- Voer op de pagina Gebeurtenisabonnement maken de volgende stappen uit:
- Voer op het tabblad Basic een naam in voor het gebeurtenisabonnement.
- Selecteer Push voor de gebeurtenisleveringsmodus.
- Bevestig dat Event Hub is geselecteerd voor het eindpunttype.
- Selecteer Een eindpunt configureren.
- Voer op de pagina Event Hub selecteren de volgende stappen uit:
- Selecteer op de pagina Abonnement maken de optie Systeem toegewezen voor het type beheerde identiteit.
- Selecteer Maken.
Gebeurtenissen verzenden naar uw onderwerp
Verzend nu een voorbeeldgebeurtenis naar het onderwerp van de naamruimte door de stappen in deze sectie te volgen.
Start Cloud Shell in Azure Portal. Schakel over naar Bash.
Voer in Cloud Shell de volgende opdracht uit om een variabele te declareren voor het opslaan van de toegangssleutel voor de naamruimte. U hebt de toegangssleutel eerder in deze quickstart genoteerd.
key=ACCESSKEY
Declareer een variabele voor het opslaan van de publicatiebewerkings-URI. Vervang
NAMESPACENAME
door de naam van uw Event Grid-naamruimte enTOPICNAME
door de naam van het onderwerp.publish_operation_uri=https://NAMESPACENAME.eastus-1.eventgrid.azure.net/topics/TOPICNAME:publish?api-version=2023-06-01-preview
Maak een voorbeeldgebeurtenis die compatibel is met CloudEvents :
event=' { "specversion": "1.0", "id": "'"$RANDOM"'", "type": "com.yourcompany.order.ordercreatedV2", "source" : "/mycontext", "subject": "orders/O-234595", "time": "'`date +%Y-%m-%dT%H:%M:%SZ`'", "datacontenttype" : "application/json", "data":{ "orderId": "O-234595", "url": "https://yourcompany.com/orders/o-234595"}} '
Het
data
element is de nettolading van uw gebeurtenis. Elke juist opgemaakte JSON kan in dit veld worden ingevoerd. Zie de specificaties van CloudEvents voor meer informatie over eigenschappen (ook wel contextkenmerken genoemd) die in een gebeurtenis kunnen worden gebruikt.Gebruik CURL om de gebeurtenis naar het onderwerp te verzenden. CURL is een hulpprogramma waarmee HTTP-aanvragen worden verzonden.
curl -X POST -H "Content-Type: application/cloudevents+json" -H "Authorization:SharedAccessKey $key" -d "$event" $publish_operation_uri
Navigeer naar de pagina Event Hubs-naamruimte in Azure Portal, vernieuw de pagina en controleer of de teller voor inkomende berichten in de grafiek aangeeft dat er een gebeurtenis is ontvangen.
Volgende stappen
In dit artikel hebt u de Event Grid-naamruimte en Event Hubs-resources gemaakt en geconfigureerd. Zie de volgende zelfstudies voor stapsgewijze instructies voor het ontvangen van gebeurtenissen van een Event Hub: