Megosztás a következőn keresztül:


Rövid útmutató: Egyéni események átirányítása Egy Azure-függvényhez az Event Grid használatával

Az Azure Event Grid egy felhőalapú eseménykezelési szolgáltatás. Az Azure Functions az egyik támogatott eseménykezelő. Ebben a cikkben létrehozunk egy egyéni témakört az Azure Portallal, feliratkozunk az egyéni témakörre, majd kiváltjuk az eseményt az eredmény megtekintéséhez. Az eseményeket egy Azure-függvénynek küldi el.

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

Azure-függvényalkalmazás létrehozása

  1. Jelentkezzen be az Azure Portalra.

  2. A bal oldali navigációs menüben válassza a Minden szolgáltatás lehetőséget.

  3. Válassza a Számítás lehetőséget a kategóriák listájában.

  4. Vigye az egérmutatót (ne válassza ki) a Függvényalkalmazás fölé, és válassza a lehetőséget+.

    Képernyőkép a Függvényalkalmazás létrehozási hivatkozásának kiválasztásáról.

  5. A Függvényalkalmazás létrehozása varázsló Alapismeretek lapján kövesse az alábbi lépéseket:

    1. Válassza ki azt az Azure-előfizetést , amelyben létre szeretné hozni a függvényalkalmazást.

    2. Hozzon létre egy új erőforráscsoportot , vagy válasszon ki egy meglévő erőforráscsoportot.

    3. Adja meg a függvényalkalmazás nevét.

    4. Válassza a .NET for Runtime stack lehetőséget.

    5. Verzió esetén válassza a 6 (LTS) folyamaton belüli modellt.

    6. Válassza ki az Önhöz legközelebbi régiót .

    7. Válassza a Tovább elemet : A tárterület az oldal alján.

      Képernyőkép a Függvényalkalmazás létrehozása lap Alapismeretek lapjáról.

  6. A Storage lapon hozzon létre egy új tárfiókot, vagy válasszon ki egy meglévő tárfiókot a függvényalkalmazáshoz társítani, majd válassza a Lap alján található Véleményezés + létrehozás lehetőséget.

    Képernyőkép a Függvényalkalmazás létrehozása lap Storage lapjáról.

  7. A Véleményezés + létrehozás lapon tekintse át a beállításokat, és a függvényalkalmazás létrehozásához válassza a lap alján található Létrehozás lehetőséget.

  8. Ha az üzembe helyezés sikeres volt, válassza az Erőforrás megnyitása lehetőséget a függvényalkalmazás kezdőlapjára való navigáláshoz.

Függvény létrehozása

Mielőtt feliratkozik az egyéni témakörre, hozzon létre egy függvényt az események kezeléséhez.

  1. A Függvényalkalmazás lap Létrehozás az Azure Portalon szakaszában válassza a Függvény létrehozása hivatkozást a jobb oldali panelen.

    Képernyőkép a Függvény létrehozása hivatkozás kiválasztásáról.

  2. A Függvény létrehozása lapon kövesse az alábbi lépéseket:

    1. A Sablon kiválasztása szakasz szűrő vagy keresőmezőbe írja be az Azure Event Grid-eseményindítót.

    2. Válassza az Azure Event Grid-eseményindító sablont a sablonlistában.

    3. Válassza a Lap alján a Tovább gombot.

      Képernyőkép az Event Grid-eseményindító kiválasztásáról.

    4. A Sablon részletei lapon adja meg a függvény nevét. Ebben a példában ez a HandleEventsFunc.

    5. Válassza a Létrehozás lehetőséget.

      Képernyőkép a Sablon részletei lapról.

  3. A HandleEventsFunc függvényoldalán válassza a Kód + Tesztelés lehetőséget a bal oldali navigációs menüben, cserélje le a kódot a következő kódra, majd válassza a Parancssáv Mentés elemét.

    #r "Azure.Messaging.EventGrid"
    #r "System.Memory.Data"
    
    using Azure.Messaging.EventGrid;
    using System;
    
    public static void Run(EventGridEvent eventGridEvent, ILogger log)
    {
        log.LogInformation(eventGridEvent.Data.ToString());
    }        
    

    Egy Azure-függvény kód + teszt menüjét ábrázoló kép.

  4. A bal oldali menüBen válassza a Figyelés lehetőséget, és váltson a Naplók lapra. Tartsa nyitva ezt az ablakot vagy a böngésző lapját, hogy láthassa a kapott eseményadatokat.

    Képernyőkép az Azure-függvény Monitor nézetével.

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. A webböngésző ablakának új lapján jelentkezzen be az Azure Portalra.

  2. A témakör keresősávján keresse meg az Event Grid-témaköröket, és válassza az Event Grid-témakörök lehetőséget.

    Az Event Grid-témakörök kiválasztását bemutató kép.

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

    Képernyőkép az Event Grid-témakör létrehozásához a Létrehozás gombról.

  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álassza ki ugyanazt az erőforráscsoportot az előző lépésekből.

    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 az Áttekintés + létrehozás lehetőséget.

      Képernyőkép a Témakör létrehozása lapról.

    6. A Véleményezés + létrehozás lapon tekintse át a beállításokat, és válassza a Létrehozás lehetőséget.

  5. Az egyéni témakör létrehozása után válassza az Erőforrás-hivatkozás megnyitása lehetőséget a létrehozott témakör következő Event Grid-témaköroldalának megtekintéséhez.

    Az Event Grid egyéni témakör kezdőlapját bemutató kép.

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.

    Az eszköztár Esemény-előfizetés hozzáadása elemének kiválasztását ábrázoló kép.

  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 az Azure-függvényt a végponttípushoz.

    3. Válassza a Végpont konfigurálása lehetőséget.

      Esemény-előfizetési értékeket megjelenítő kép.

    4. A függvényvégpont esetében válassza ki azt az Azure-előfizetést és erőforráscsoportot, amelyben a függvényalkalmazás található, majd válassza ki a korábban létrehozott függvényalkalmazást és függvényt. Válassza a Kiválasztás megerősítése lehetőséget.

      Az Azure-függvény kiválasztása lap képe, amelyen a korábban létrehozott függvény kiválasztása látható.

    5. Ez a lépés nem kötelező, de éles forgatókönyvekhez ajánlott. Az Esemény-előfizetés létrehozása lapon váltson a Speciális szolgáltatások lapra, és állítsa be a maximális események számát kötegenként, az előnyben részesített kötegméretet pedig kilobájtban.

      A kötegelés nagy átviteli sebességet biztosít. A kötegenkénti maximális eseményekhez állítsa be az előfizetés által a kötegbe belefoglalt események maximális számát. Az előnyben részesített kötegméret kilobájtban állítja be a kötegméret előnyben részesített felső határát, de túlléphető, ha egyetlen esemény nagyobb ennél a küszöbértéknél.

      Esemény-előfizetés kötegelési beállításait bemutató kép.

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

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. Válassza a Bash lehetőséget a Cloud Shell ablakának bal felső sarkában.

    A Cloud Shellt bemutató kép – Bash-ablak

  2. Adja meg a topicname parancsokban használt változókat és resourcegroupname változókat.

    Cserélje le TOPICNAME az Event Grid-témakör nevére.

    topicname="TOPICNAME"
    

    Cserélje le RESOURCEGROUPNAME az Event Grid-témakört tartalmazó Azure-erőforráscsoport nevére.

    resourcegroupname="RESOURCEGROUPNAME"
    
  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.

    endpoint=$(az eventgrid topic show --name $topicname -g $resourcegroupname --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.

    key=$(az eventgrid topic key list --name $topicname -g $resourcegroupname --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:

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

Azure PowerShell

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

  1. Az Azure Portalon válassza a Cloud Shellt (vagy lépjen a következőre https://shell.azure.com/). 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.

  2. Á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:

    $resourceGroupName = "RESOURCEGROUPNAME"
    
    $topicName = "TOPICNAME"
    
  3. 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
    
  4. 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)+"]"
    
  5. 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őrizze, hogy a függvény megkapta-e az eseményt

Ön kiváltotta az eseményt, az Event Grid pedig elküldte az üzenetet a feliratkozáskor konfigurált végpontnak.

  1. Az Azure-függvény Monitorozás lapján egy meghívás jelenik meg.

    Képernyőkép a Figyelés lap Meghívások lapjáról.

  2. Válassza ki a meghívást a részletek megtekintéséhez.

    Képernyőkép a meghívás részleteiről.

  3. A jobb oldali panel Naplók lapján is megtekintheti a naplózott üzeneteket, amikor eseményeket küld a témakör végpontjára.

    Az Azure-függvény Monitor nézetét bemutató kép egy naplóval.

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.

  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.

    Erőforráscsoportok

    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 megismerkedett vele, hogyan hozhat létre témaköröket és eseményfeliratkozásokat, 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.