Egyéni események átirányítása webes végpontra az Azure Portallal és az Azure Event Griddel

Az Event Grid egy teljes mértékben felügyelt szolgáltatás, amely lehetővé teszi az események egyszerű kezelését számos különböző Azure-szolgáltatásban és alkalmazásban. Leegyszerűsíti az eseményvezérelt és kiszolgáló nélküli alkalmazások létrehozását. A szolgáltatás áttekintését az Event Grid áttekintésében tekintheti meg.

Ebben a cikkben az Azure Portalon hajtja végre a következő feladatokat:

  1. Hozzon létre egy egyéni témakört.
  2. Iratkozzon fel az egyéni témakörre.
  3. Aktiválja az eseményt.
  4. Az eredmény megtekintése. Általában olyan végpontoknak szoktunk eseményeket küldeni, amelyek eseményadatokat dolgoznak fel és műveleteket hajtanak végre. A cikk egyszerűsítése érdekében azonban az eseményeket egy olyan webalkalmazásnak küldjük el, amely az üzenetek gyűjtésével és megjelenítésével foglalkozik.

Előfeltételek

Ha nem rendelkezik Azure-előfizetéssel, első lépésként hozzon létre egy ingyenes Azure-fiókot.

Az Event Grid-erőforrás-szolgáltató regisztrálása

Ha korábban nem használta az Event Gridet, regisztrálnia kell az Event Grid-erőforrás-szolgáltatót. Ha korábban már használta az Event Gridet, ugorjon a következő szakaszra.

Az Azure Portalon hajtsa végre a következő lépéseket:

  1. A bal oldali menüben válassza az Előfizetések lehetőséget.

  2. Válassza ki az Event Gridhez használni kívánt előfizetést az előfizetési listából.

  3. Az Előfizetés lapon válassza az Erőforrás-szolgáltatóklehetőséget a bal oldali menü Gépház alatt.

  4. Keressen rá a Microsoft.EventGridre, és győződjön meg arról, hogy az állapotnincs regisztrálva.

  5. Válassza a Microsoft.EventGrid elemet a szolgáltatólistában.

  6. Válassza a Regisztráció lehetőséget a parancssávon.

    Image showing the registration of Microsoft.EventGrid provider with the Azure subscription.

  7. Frissítsen, hogy a Microsoft.EventGrid állapota regisztrálva legyen.

    Image showing the successful registration of Microsoft.EventGrid provider with the Azure subscription.

Egyéni témakör létrehozása

Az Event Grid-témakör egy felhasználó által definiált végpontot biztosít, amelybe az eseményeket közzéteheti.

  1. Jelentkezzen be az Azure portálra.

  2. A témakör keresősávján írja be az Event Grid-témaköröket, majd válassza ki az Event Grid-témaköröket a legördülő listából.

    Screenshot showing the Azure port search bar to search for Event Grid topics.

  3. Az Event Grid-témakörök lapon válassza a + Létrehozás lehetőséget az eszköztáron.

    Screenshot showing the Create Topic button on Event Grid topics page.

  4. A Témakör létrehozása lapon kövesse az alábbi lépéseket:

    1. Válassza ki az Azure-előfizetését.

    2. Válasszon ki egy meglévő erőforráscsoportot, vagy válassza az Új létrehozása lehetőséget, és adja meg az erőforráscsoport nevét.

    3. Adjon egyedi nevet az egyéni témakörnek. A témakör nevének egyedinek kell lennie, mert a nevet egy DNS-bejegyzés képviseli. Ne a képen látható nevet használja. Ehelyett hozzon létre saját nevet – 3–50 karakter hosszúságúnak kell lennie, és csak a-z, A-Z, 0-9 és "-" értékeket kell tartalmaznia.

    4. Válassza ki az Event Grid-témakör helyét.

    5. Válassza a Véleményezés + létrehozás lehetőséget a lap alján.

      Create Topic page

    6. A Témakör létrehozása lap Véleményezés + létrehozás lapján válassza a Létrehozás lehetőséget.

      Review settings and create

  5. Az üzembe helyezés sikerességét követően válassza az Erőforrás megnyitása lehetőséget a témakör Event Grid-témaköroldalának eléréséhez. Tartsa nyitva ezt a lapot. A rövid útmutató későbbi részében használhatja.

    Screenshot showing the Event Grid topic home page.

    Feljegyzés

    A rövid útmutató egyszerűségéhez csak az Alapismeretek lapot fogja használni egy témakör létrehozásához. A hálózati, biztonsági és adattárolási beállítások a varázsló más oldalain való konfigurálásának részletes lépéseit az Egyéni témakör létrehozása című témakörben találja.

Üzenetvégpont létrehozása

Mielőtt létrehoz egy előfizetést az egyéni témakörhöz, hozzon létre egy végpontot az eseményüzenethez. A végpont általában az eseményadatok alapján hajt végre műveleteket. A rövid útmutató egyszerűsítése érdekében üzembe kell helyeznie egy előre összeállított webalkalmazást , amely megjeleníti az eseményüzeneteket. Az üzembe helyezett megoldás egy App Service-csomagot, egy App Service-webalkalmazást és egy, a GitHubról származó forráskódot tartalmaz.

  1. A cikkoldalon válassza az Üzembe helyezés az Azure-ban lehetőséget a megoldás előfizetésben való üzembe helyezéséhez. Az Azure Portalon adjon meg értékeket a paraméterekhez.

    Button to deploy the Resource Manager template to Azure.

  2. Az Egyéni üzembe helyezés lapon hajtsa végre a következő lépéseket:

    1. Erőforráscsoport esetén válassza ki a tárfiók létrehozásakor létrehozott erőforráscsoportot. Az oktatóanyag elvégzése után az erőforráscsoport törlésével egyszerűbb lesz a tisztítás.

    2. A Webhely neve mezőben adja meg a webalkalmazás nevét.

    3. Az üzemeltetési csomag neveként adja meg a webalkalmazás üzemeltetéséhez használni kívánt App Service-csomag nevét.

    4. Válassza az Áttekintés + létrehozás lehetőséget.

      Screenshot showing the Custom deployment page.

  3. A Véleményezés + létrehozás lapon válassza a Létrehozás lehetőséget.

  4. Az üzembe helyezés befejezése eltarthat néhány percig. Válassza a Riasztások (harang ikon) lehetőséget a portálon, majd válassza az Ugrás az erőforráscsoportra lehetőséget.

    Screenshot showing the successful deployment message with a link to navigate to the resource group.

  5. Az Erőforráscsoport lapon, az erőforrások listájában válassza ki a létrehozott webalkalmazást. Az App Service-csomag és a tárfiók is megjelenik ebben a listában.

    Screenshot that shows the Resource Group page with the deployed resources.

  6. A webalkalmazás App Service lapján válassza ki a webhelyre navigálni kívánt URL-címet. Az URL-címnek a következő formátumban kell lennie: https://<your-site-name>.azurewebsites.net.

    Screenshot that shows the App Service page with the link to the site highlighted.

  7. Győződjön meg arról, hogy látja a webhelyet, de még nem tettek közzé eseményeket.

    Screenshot that shows the Event Grid Viewer sample app.

Feliratkozás egyéni témakörre

Előfizethet egy Event Grid-témakörre, amelyből megtudhatja, hogy az Event Grid mely eseményeket szeretné nyomon követni, és hová szeretné elküldeni az eseményeket.

  1. Most az egyéni témakör Event Grid-témakör lapján válassza az eszköztár + Esemény-előfizetés lehetőséget.

    Add event subscription button

  2. Az Esemény-előfizetés létrehozása lapon kövesse az alábbi lépéseket:

    1. Adja meg az esemény-előfizetés nevét.

    2. Válassza a Web Hook lehetőséget a végponttípushoz.

    3. Válassza a Végpont kiválasztása lehetőséget.

      Provide event subscription values

    4. A webhook végponthoz adja meg a webalkalmazás URL-címét, és adja hozzá az api/updates elemet a kezdőlap URL-címéhez. Válassza a Kiválasztás megerősítése lehetőséget.

      Provide endpoint URL

    5. Az Esemény-előfizetés létrehozása lapon válassza a Létrehozás lehetőséget.

  3. Tekints meg újra a webalkalmazást, ahol láthatja, hogy az fogadta az előfizetés érvényesítési eseményét. Az eseményadatok kibontásához kattintson a szem ikonra. Az Event Grid elküldi az érvényesítési eseményt, így a végpont megerősítheti, hogy eseményadatokat akar kapni. A webalkalmazás az előfizetés érvényesítéséhez szükséges kódot tartalmaz.

    Screenshot of the Event Grid Viewer app with the Subscription Validated event.

Esemény elküldése a témakörbe

Most aktiváljunk egy eseményt, és lássuk, hogyan küldi el az üzenetet az Event Grid a végpontnak. Az Azure CLI vagy a PowerShell használatával küldjön teszteseményt az egyéni témakörbe. Egy alkalmazás vagy Azure-szolgáltatás általában eseményadatokat küld el.

Az első példa az Azure CLI-t használja. Ez lekéri az egyéni témakör URL-címét és kulcsát, valamint a mintául szolgáló eseményadatokat. A <topic name> helyett használja az egyéni témakör nevét. Ez mintául szolgáló eseményadatokat hoz létre. A JSON data eleme az esemény hasznos adata. Bármilyen, megfelelően formált JSON megadható ebben a mezőben. A speciális útválasztáshoz és szűréshez használhatja a tárgy mezőt is. A CURL egy olyan segédprogram, amely HTTP-kéréseket küld.

Azure CLI

  1. Az Azure Portalon válassza a Cloud Shellt. A Cloud Shell a webböngésző alsó paneljén nyílik meg.

    Select Cloud Shell icon

  2. Válassza a Bash lehetőséget a Cloud Shell ablakának bal felső sarkában.

    Screenshot that shows the Cloud Shell with Bash selected in the top-left corner.

  3. Futtassa a következő parancsot a témakör végpontjának lekéréséhez: A parancs másolása és beillesztése után frissítse a témakör nevét és az erőforráscsoport nevét a parancs futtatása előtt. A mintaeseményeket közzéteheti ebben a témakörvégpontban.

    endpoint=$(az eventgrid topic show --name <topic name> -g <resource group name> --query "endpoint" --output tsv)
    
  4. Futtassa a következő parancsot az egyéni témakör kulcsának lekéréséhez: A parancs másolása és beillesztése után frissítse a témakör nevét és az erőforráscsoport nevét a parancs futtatása előtt. Ez az Event Grid-témakör elsődleges kulcsa. Ha le szeretné szerezni ezt a kulcsot az Azure Portalról, váltson az Event Grid-témakör lapJának Hozzáférési kulcsok lapjára. Ahhoz, hogy egy eseményt közzétehessen egy egyéni témakörbe, szüksége van a hozzáférési kulcsra.

    key=$(az eventgrid topic key list --name <topic name> -g <resource group name> --query "key1" --output tsv)
    
  5. Másolja ki a következő utasítást az eseménydefinícióval, és nyomja le az ENTER billentyűt.

    event='[ {"id": "'"$RANDOM"'", "eventType": "recordInserted", "subject": "myapp/vehicles/motorcycles", "eventTime": "'`date +%Y-%m-%dT%H:%M:%S%z`'", "data":{ "make": "Ducati", "model": "Monster"},"dataVersion": "1.0"} ]'
    
  6. Futtassa a következő Curl-parancsot az esemény közzétételéhez: A parancsban aeg-sas-key a fejléc a korábban kapott hozzáférési kulcsra van állítva.

    curl -X POST -H "aeg-sas-key: $key" -d "$event" $endpoint
    

Azure PowerShell

A második példa a PowerShell használatával hajtja végre a hasonló lépéseket.

  1. Az Azure Portalon válassza a Cloud Shellt (vagy lépjen a következőre https://shell.azure.com/). A Cloud Shell a webböngésző alsó paneljén nyílik meg.

    Select Cloud Shell icon

  2. A Cloud Shellben válassza a PowerShellt a Cloud Shell ablakának bal felső sarkában. Tekintse meg a Cloud Shell-mintaablak rendszerképét az Azure CLI szakaszban.

  3. Állítsa be a következő változókat. Az egyes parancsok másolása és beillesztése után frissítse a témakör nevét és az erőforráscsoport nevét a parancs futtatása előtt:

    Erőforráscsoport:

    $resourceGroupName = "<resource group name>"
    

    Event Grid-témakör neve:

    $topicName = "<topic name>"
    
  4. Futtassa a következő parancsokat a végpont és a témakör kulcsainak lekéréséhez:

    $endpoint = (Get-AzEventGridTopic -ResourceGroupName $resourceGroupName -Name $topicName).Endpoint
    $keys = Get-AzEventGridTopicKey -ResourceGroupName $resourceGroupName -Name $topicName
    
  5. Készítse elő az eseményt. Másolja és futtassa az utasításokat a Cloud Shell ablakban.

    $eventID = Get-Random 99999
    
    #Date format should be SortableDateTimePattern (ISO 8601)
    $eventDate = Get-Date -Format s
    
    #Construct body using Hashtable
    $htbody = @{
        id= $eventID
        eventType="recordInserted"
        subject="myapp/vehicles/motorcycles"
        eventTime= $eventDate   
        data= @{
            make="Ducati"
            model="Monster"
        }
        dataVersion="1.0"
    }
    
    #Use ConvertTo-Json to convert event body from Hashtable to JSON Object
    #Append square brackets to the converted JSON payload since they are expected in the event's JSON payload syntax
    $body = "["+(ConvertTo-Json $htbody)+"]"
    
  6. Az esemény elküldéséhez használja az Invoke-WebRequest parancsmagot.

    Invoke-WebRequest -Uri $endpoint -Method POST -Body $body -Headers @{"aeg-sas-key" = $keys.Key1}
    

Ellenőrzés az Event Grid-megjelenítőben

Ön kiváltotta az eseményt, az Event Grid pedig elküldte az üzenetet a feliratkozáskor konfigurált végpontnak. Tekintse meg a webalkalmazást az imént elküldött esemény megtekintéséhez.

Event Grid Viewer

Az erőforrások eltávolítása

Ha tovább kívánja használni az eseményt, akkor ne törölje a cikkben létrehozott erőforrásokat. Ellenkező esetben törölje a cikkben létrehozott erőforrásokat.

  1. Válassza az Erőforráscsoportok lehetőséget a bal oldali menüben. Ha nem látja a bal oldali menüben, válassza az Összes szolgáltatás lehetőséget a bal oldali menüben, és válassza az Erőforráscsoportok lehetőséget.

    Screenshot that shows the Resource Groups page.

  2. Válassza ki az erőforráscsoportot az Erőforráscsoport lap elindításához.

  3. Válassza az eszköztárOn az Erőforráscsoport törlése lehetőséget.

  4. Erősítse meg a törlést az erőforráscsoport nevének megadásával, majd válassza a Törlés lehetőséget.

    A képen látható másik erőforráscsoportot a Cloud Shell ablak hozta létre és használta. Törölje, ha később nem tervezi használni a Cloud Shell-ablakot.

Következő lépések

Most, hogy megismerte, hogyan hozhat létre egyéni témaköröket és esemény-előfizetéseket, bővebben is tájékozódhat arról, hogy miben nyújthat segítséget az Event Grid:

Az alábbi példákból megtudhatja, hogyan tehet közzé eseményeket az Event Gridből különböző programozási nyelvek használatával, és hogyan használhatja az eseményeket.