Dela via


Leverera händelser till webhooks med hjälp av namnområdesämnen – Azure-portalen (förhandsversion)

Artikeln innehåller stegvisa instruktioner för att publicera händelser till Azure Event Grid i CloudEvents JSON-format och leverera dessa händelser med hjälp av push-leveransmodellen. För att vara specifik publicerar du händelser till ett namnområdesavsnitt i Event Grid och push-överför dessa händelser från en händelseprenumeration till ett webhookhanterarmål. Mer information om push-leveransmodellen finns i Översikt över push-leverans.

Kommentar

Azure Event Grid-namnområden har för närvarande stöd för SAS-token (Signaturer för delad åtkomst) och autentisering av åtkomstnycklar.

Om du inte har en Azure-prenumeration skapar du ett kostnadsfritt Azure-konto innan du börjar.

Skapa ett Event Grid-namnområde

Ett Event Grid-namnområde innehåller en användardefinierad slutpunkt som du publicerar dina händelser till. I följande exempel skapas ett namnområde i resursgruppen med bash i Azure Cloud Shell. Namnområdesnamnet måste vara unikt eftersom det ingår i en DNS-post (Domain Name System).

  1. Navigera till Azure-portalen.

  2. I sökfältet i ämnet skriver du Event Grid Namespacesoch väljer Event Grid Namespaces från resultaten.

    Skärmbild som visar sökfältet i Azure-portalen.

  3. På sidan Event Grid-namnområden väljer du + Skapa i kommandofältet. Skärmbild som visar sidan Event Grid-namnområden med knappen Skapa i kommandofältet markerat.

  4. Följ dessa steg på sidan Skapa namnområde :

    1. Välj den Azure-prenumeration där du vill skapa namnområdet.
    2. Skapa en ny resursgrupp genom att välja Skapa ny eller välja en befintlig resursgrupp.
    3. Ange ett namn för namnrymden.
    4. Välj den plats där du vill skapa resursgruppen.
    5. Välj sedan Granska + skapa.
      Skärmbild som visar sidan Skapa namnområde.
    6. På sidan Granska + skapa väljer du Skapa.
  5. På sidan Distribution väljer du Gå till resurs efter distributionen.

Hämta åtkomstnyckeln

  1. På sidan Event Grid-namnområde väljer du Åtkomstnycklar på den vänstra menyn.
  2. Välj knappen Kopiera bredvid åtkomstnyckeln. Skärmbild som visar sidan Event Grid-namnområden med fliken Åtkomstnycklar markerad.
  3. Spara åtkomstnyckeln någonstans. Du använder den senare i den här snabbstarten.

Skapa ett ämne i namnområdet

Skapa ett ämne som innehåller alla händelser som publicerats till namnområdesslutpunkten.

  1. Välj Ämnen på den vänstra menyn.
  2. På sidan Ämnen väljer du + Ämne i kommandofältet. Skärmbild som visar sidan Ämnen.
  3. Följ dessa steg på sidan Skapa ämne :
    1. Ange ett namn för ämnet.
    2. Välj Skapa.
      Skärmbild som visar sidan Skapa ämne.

Skapa en slutpunkt för meddelanden

Innan vi prenumererar på händelserna ska vi skapa slutpunkten för händelsemeddelandet. Slutpunkten utför vanligtvis åtgärder baserat på informationen om händelsen. För att förenkla den här snabbstarten distribuerar du en fördefinierad webbapp som visar händelsemeddelandena. Den distribuerade lösningen innehåller en App Service-plan,en webbapp för App Service och källkod från GitHub.

  1. Välj Deploy to Azure (Distribuera till Azure) för att distribuera lösningen till din prenumeration.

    Knapp för att distribuera Resource Manager-mallen till Azure.

  2. Gör följande på sidan Anpassad distribution :

    1. För Resursgrupp väljer du den resursgrupp som du skapade när du skapade lagringskontot. Det blir enklare för dig att rensa när du är klar med självstudien genom att ta bort resursgruppen.

    2. För Webbplatsnamn anger du ett namn för webbappen.

    3. Som Värdplansnamn anger du ett namn för App Service-planen som ska användas som värd för webbappen.

    4. Välj Granska + skapa.

      Skärmbild som visar sidan Anpassad distribution.

  3. På sidan Granska + skapa väljer du Skapa.

  4. Distributionen tar några minuter att slutföra. På sidan Distribution väljer du Gå till resursgrupp.

    Skärmbild som visar sidan distributionen lyckades med en länk för att gå till resursgruppen.

  5. På sidan Resursgrupp går du till listan över resurser och väljer den webbapp som du skapade. Du ser även App Service-planen och lagringskontot i den här listan.

    Skärmbild som visar valet av webbapp i resursgruppen.

  6. På App Service-sidan för din webbapp väljer du URL:en för att navigera till webbplatsen. URL:en ska vara i det här formatet: https://<your-site-name>.azurewebsites.net.

    Skärmbild som visar valet av länk för att navigera till webbappen.

  7. Bekräfta att du ser webbplatsen men att inga händelser har publicerats än.

    Skärmbild av en ny webbplats.

    Viktigt!

    Håll Fönstret Azure Event Grid Viewer öppet så att du kan se händelser när de publiceras.

Skapa en händelseprenumeration

Skapa en händelseprenumeration som anger leveransläget till Push, som stöder push-leverans.

  1. Växla till fliken eller fönstret med sidan Event Grid-namnområde öppen från fliken eller fönstret med sidan Event Hubs-namnområde öppen.
  2. På sidan Event Grid-namnområde väljer du Ämnen på den vänstra menyn.
  3. På sidan Ämnen väljer du det ämne som du skapade i föregående steg.
  4. Välj + Prenumeration i kommandofältet. Skärmbild som visar sidan Ämne med knappen Skapa prenumeration markerad.
  5. Följ dessa steg på sidan Skapa händelseprenumeration :
    1. På fliken Grundläggande anger du ett namn för händelseprenumerationen.

    2. Välj Push för händelseleveransläget.

    3. För Slutpunktstyp väljer du Web Hook.

    4. Välj Konfigurera en slutpunkt.

      Skärmbild som visar sidan Skapa prenumeration med Push valt för leveransläge och WebHook som slutpunktstyp.

    5. På sidan Web Hook anger du slutpunkten (till exempel: https://spegridsite0520.azurewebsites.net/api/updates) som du ser i följande exempel och väljer Bekräfta markeringen.

      Skärmbild som visar Web Hook-sidan med ett värde för prenumerantslutpunkten.

    6. På sidan Skapa prenumeration väljer du Skapa.

      Skärmbild som visar sidan Skapa prenumeration med alla fält ifyllda.

Skicka händelser till ditt ämne

Skicka nu en exempelhändelse till namnområdesavsnittet genom att följa stegen i det här avsnittet.

Deklarera variabler

  1. Starta Cloud Shell i Azure-portalen. Växla till Bash.

    Skärmbild som visar Cloud Shell.

  2. Kör följande kommando för att deklarera en variabel som innehåller resursgruppens namn. Ersätt RESOUREGROUPNAME med namnet på din Azure-resursgrupp.

    resource_group=RESOURCEGROUPNAME
    
  3. Kör följande kommando i Cloud Shell för att deklarera en variabel som innehåller namnområdesnamnet. Ersätt NAMESPACENAME med namnet på Event Grid-namnområdet.

    namespace=NAMESPACENAME
    
  4. Kör följande kommando för att deklarera en variabel för att lagra det värde för åtkomstnyckeln som du antecknade tidigare. Ersätt ACCESSKEY med värdet för åtkomstnyckeln till Event Grid-namnområdet.

    key=ACCESSKEY
    
  5. Kör följande kommando i Cloud Shell för att deklarera en variabel som innehåller namnområdesnamnet.

    topic=TOPICNAME
    

Publicera en händelse

  1. Hämta värdnamnet för namnområdet. Du använder den för att skriva namnområdets HTTP-slutpunkt till vilken händelser skickas. Följande åtgärder var först tillgängliga med API-versionen 2023-06-01-preview. Du kan också hämta värdnamnet från sidan Översikt i Event Grid-namnområdet i Azure-portalen.

    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. Skapa en CloudEvents-exempelkompatibel händelse:

    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"}} '
    

    Elementet data är nyttolasten för din händelse. All välformulerad JSON kan stå i det här fältet. Mer information om egenskaper (även kallade kontextattribut) som kan användas i en händelse finns i CloudEvents-specifikationerna .

  3. Använd CURL för att skicka händelsen till ämnet. CURL är ett verktyg som skickar HTTP-förfrågningar.

    curl -X POST -H "Content-Type: application/cloudevents+json" -H "Authorization:SharedAccessKey $key" -d "$event" $publish_operation_uri
    

Kontrollera att Azure Event Grid Viewer tog emot händelsen

Kontrollera att Azure Event Grid Viewer-webbappen visar de händelser som den tog emot från Event Grid.

Skärmbild som visar Azure Event Grid Viewer med ett exempel på en mottagen händelse.

I den här snabbstarten använde du en webhook som händelsehanterare. Snabbstart som använder en Azure-händelsehubb som händelsehanterare finns i Avsnittet om att leverera händelser till Azure Event Hubs med hjälp av namnområdesavsnitt.