Delen via


Gebeurtenissen leveren aan webhooks met behulp van naamruimteonderwerpen - Azure Portal (preview)

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, publiceert u gebeurtenissen naar een naamruimteonderwerp in Event Grid en pusht u deze gebeurtenissen van een gebeurtenisabonnement naar een webhookhandlerbestemming. Zie het overzicht van pushlevering voor meer informatie over het pushleveringsmodel.

Notitie

Azure Event Grid-naamruimten ondersteunen momenteel SAS-token (Shared Access Signatures) en verificatie van toegangssleutels.

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).

  1. Ga naar de Azure Portal.

  2. Typ Event Grid Namespacesen selecteer Event Grid Namespaces in de zoekbalk in het onderwerp de resultaten.

    Schermopname van de zoekbalk in Azure Portal.

  3. Selecteer + Maken op de opdrachtbalk op de pagina Event Grid-naamruimten. Schermopname van de pagina Event Grid-naamruimten met de knop Maken op de opdrachtbalk geselecteerd.

  4. Voer op de pagina Naamruimte maken de volgende stappen uit:

    1. Selecteer het Azure-abonnement waarin u de naamruimte wilt maken.
    2. Maak een nieuwe resourcegroep door Nieuwe maken te selecteren of een bestaande resourcegroep te selecteren.
    3. Voer een naam in voor de naamruimte.
    4. Selecteer de locatie waar u de resourcegroep wilt maken.
    5. Selecteer vervolgens Controleren + maken.
      Schermopname van de pagina Naamruimte maken.
    6. Selecteer Maken op de pagina Beoordelen en maken.
  5. Selecteer op de pagina Implementatie de optie Naar de resource gaan na de geslaagde implementatie.

De toegangssleutel verkrijgen

  1. Selecteer op de pagina Event Grid-naamruimte toegangstoetsen in het menu links.
  2. Selecteer de knop Kopiëren naast de toegangssleutel. Schermopname van de pagina Event Grid-naamruimten met het tabblad Toegangstoetsen geselecteerd.
  3. Sla de toegangssleutel ergens op. U gebruikt deze verderop in deze quickstart.

Een onderwerp maken in de naamruimte

Maak een onderwerp met alle gebeurtenissen die zijn gepubliceerd naar het naamruimte-eindpunt.

  1. Selecteer Onderwerpen in het linkermenu.
  2. Selecteer + Onderwerp op de opdrachtbalk op de pagina Onderwerpen. Schermopname van de pagina Onderwerpen.
  3. Voer op de pagina Onderwerp maken de volgende stappen uit:
    1. Voer een naam in voor het onderwerp.
    2. Selecteer Maken.
      Schermopname van de pagina Onderwerp maken.

Het eindpunt van een bericht maken

Voordat u zich abonneert op de gebeurtenissen, gaan we het eindpunt voor het gebeurtenisbericht maken. Het eindpunt onderneemt normaal gesproken actie op basis van de gebeurtenisgegevens. Ter vereenvoudiging van deze quickstart implementeert u een vooraf gemaakte web-app die de gebeurtenisberichten weergeeft. De geïmplementeerde oplossing omvat een App Service-plan, een App Service-web-app en broncode van GitHub.

  1. Selecteer Implementeren in Azure om de oplossing voor uw abonnement te implementeren.

    Knop voor het implementeren van de Resource Manager-sjabloon in Azure.

  2. Voer op de pagina Aangepaste implementatie de volgende stappen uit:

    1. Selecteer voor Resourcegroep de resourcegroep die u hebt gemaakt toen u het opslagaccount maakte. Het is eenvoudiger om op te schonen nadat u klaar bent met de zelfstudie door de resourcegroep te verwijderen.

    2. Voer in het vak Sitenaam een naam in voor de web-app.

    3. Voer voor Naam van hostingplan een naam in voor het App Service-plan dat u wilt gebruiken voor het hosten van de web-app.

    4. Selecteer Controleren + maken.

      Schermopname van de pagina Aangepaste implementatie.

  3. Selecteer Maken op de pagina Beoordelen en maken.

  4. Het duurt enkele minuten om de implementatie te voltooien. Selecteer Op de pagina Implementatie de optie Ga naar de resourcegroep.

    Schermopname van de pagina geslaagde implementatie met een koppeling om naar de resourcegroep te gaan.

  5. Selecteer in de lijst met resources op de pagina Resourcegroep de web-app die u hebt gemaakt. U ziet ook het App Service-plan en het opslagaccount in deze lijst.

    Schermopname van de selectie van web-app in de resourcegroep.

  6. Selecteer op de pagina App Service voor uw web-app de URL om naar de website te gaan. De URL moet de volgende indeling hebben: https://<your-site-name>.azurewebsites.net.

    Schermopname van de selectie van de koppeling om naar de web-app te navigeren.

  7. Controleer of u de site ziet, maar dat er nog geen gebeurtenissen op de site zijn geplaatst.

    Schermopname van een nieuwe site.

    Belangrijk

    Houd het venster Azure Event Grid Viewer geopend, zodat u gebeurtenissen kunt zien terwijl ze worden gepost.

Een gebeurtenisabonnement maken

Maak een gebeurtenisabonnement dat de leveringsmodus instelt op Push, die ondersteuning biedt voor pushlevering.

  1. Ga naar het tabblad of venster met de Event Grid-naamruimtepagina geopend vanaf het tabblad of venster waarop de Event Hubs-naamruimtepagina is geopend.
  2. Selecteer onderwerpen in het linkermenu op de pagina Event Grid-naamruimte.
  3. Selecteer op de pagina Onderwerpen het onderwerp dat u in de vorige stap hebt gemaakt.
  4. Selecteer + Abonnement op de opdrachtbalk. Schermopname van de pagina Onderwerp met de knop Abonnement maken geselecteerd.
  5. Voer op de pagina Gebeurtenisabonnement maken de volgende stappen uit:
    1. Voer op het tabblad Basic een naam in voor het gebeurtenisabonnement.

    2. Selecteer Push voor de gebeurtenisleveringsmodus.

    3. Selecteer Webhook voor eindpunttype.

    4. Selecteer Een eindpunt configureren.

      Schermopname van de pagina Abonnement maken met Push geselecteerd voor leveringsmodus en WebHook als eindpunttype.

    5. Geef op de pagina Webhook het eindpunt op (bijvoorbeeld: https://spegridsite0520.azurewebsites.net/api/updates) zoals wordt weergegeven in het volgende voorbeeld en selecteer Bevestig de selectie.

      Schermopname van de pagina Webhook met een waarde voor het eindpunt van de abonnee.

    6. Selecteer Maken op de pagina Abonnement maken.

      Schermopname van de pagina Abonnement maken met alle velden ingevuld.

Gebeurtenissen verzenden naar uw onderwerp

Verzend nu een voorbeeldgebeurtenis naar het onderwerp van de naamruimte door de stappen in deze sectie te volgen.

Variabelen declareren

  1. Start Cloud Shell in Azure Portal. Schakel over naar Bash.

    Schermopname van Cloud Shell.

  2. Voer de volgende opdracht uit om een variabele te declareren voor de naam van de resourcegroep. Vervang door RESOUREGROUPNAME de naam van uw Azure-resourcegroep.

    resource_group=RESOURCEGROUPNAME
    
  3. Voer in Cloud Shell de volgende opdracht uit om een variabele te declareren voor de naamruimtenaam. Vervang NAMESPACENAME door de naam van uw Event Grid-naamruimte.

    namespace=NAMESPACENAME
    
  4. Voer de volgende opdracht uit om een variabele te declareren voor het opslaan van de waarde van de toegangssleutel die u eerder hebt genoteerd. Vervang door ACCESSKEY de waarde van de toegangssleutel voor uw Event Grid-naamruimte.

    key=ACCESSKEY
    
  5. Voer in Cloud Shell de volgende opdracht uit om een variabele te declareren voor de naamruimtenaam.

    topic=TOPICNAME
    

Een gebeurtenis publiceren

  1. Haal de hostnaam van de naamruimte op. U gebruikt deze om het HTTP-eindpunt voor de naamruimte op te stellen waarnaar gebeurtenissen worden verzonden. De volgende bewerkingen waren voor het eerst beschikbaar met api-versie 2023-06-01-preview. U kunt de hostnaam ook ophalen op de overzichtspagina van uw Event Grid-naamruimte in Azure Portal.

    publish_operation_uri="https://"$(az eventgrid namespace show -g $resource_group -n $namespace --query "topicsConfiguration.hostname" --output tsv)"/topics/"$topic:publish?api-version=2023-06-01-preview
    
  2. 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.

  3. 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
    

Controleer of Azure Event Grid Viewer de gebeurtenis heeft ontvangen

Controleer of in de Azure Event Grid Viewer-web-app de gebeurtenissen worden weergegeven die zijn ontvangen van Event Grid.

Schermopname van de Azure Event Grid Viewer met een voorbeeld van een ontvangen gebeurtenis.

In deze quickstart hebt u een webhook gebruikt als gebeurtenis-handler. Zie Gebeurtenissen bezorgen bij Azure Event Hubs met behulp van naamruimteonderwerpen voor quickstarts die een Azure Event Hub als gebeurtenis-handler gebruiken.