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
Jelentkezzen be az Azure Portalra.
A bal oldali navigációs menüben válassza a Minden szolgáltatás lehetőséget.
Válassza a Számítás lehetőséget a kategóriák listájában.
Vigye az egérmutatót (ne válassza ki) a Függvényalkalmazás fölé, és válassza a lehetőséget+.
A Függvényalkalmazás létrehozása varázsló Alapismeretek lapján kövesse az alábbi lépéseket:
Válassza ki azt az Azure-előfizetést , amelyben létre szeretné hozni a függvényalkalmazást.
Hozzon létre egy új erőforráscsoportot , vagy válasszon ki egy meglévő erőforráscsoportot.
Adja meg a függvényalkalmazás nevét.
Válassza a .NET for Runtime stack lehetőséget.
Verzió esetén válassza a 6 (LTS) folyamaton belüli modellt.
Válassza ki az Önhöz legközelebbi régiót .
Válassza a Tovább elemet : A tárterület az oldal alján.
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.
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.
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.
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.
A Függvény létrehozása lapon kövesse az alábbi lépéseket:
A Sablon kiválasztása szakasz szűrő vagy keresőmezőbe írja be az Azure Event Grid-eseményindítót.
Válassza az Azure Event Grid-eseményindító sablont a sablonlistában.
Válassza a Lap alján a Tovább gombot.
A Sablon részletei lapon adja meg a függvény nevét. Ebben a példában ez a HandleEventsFunc.
Válassza a Létrehozás lehetőséget.
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()); }
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.
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.
A webböngésző ablakának új lapján jelentkezzen be az Azure Portalra.
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 lapon válassza a + Létrehozás lehetőséget a parancssávon.
A Témakör létrehozása lapon kövesse az alábbi lépéseket:
Válassza ki az Azure-előfizetését.
Válassza ki ugyanazt az erőforráscsoportot az előző lépésekből.
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.
Válassza ki az Event Grid-témakör helyét.
Válassza az Áttekintés + létrehozás lehetőséget.
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.
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.
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.
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 Esemény-előfizetés létrehozása lapon kövesse az alábbi lépéseket:
Adja meg az esemény-előfizetés nevét.
Válassza az Azure-függvényt a végponttípushoz.
Válassza a Végpont konfigurálása lehetőséget.
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.
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.
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
Az Azure Portalon válassza a Cloud Shellt. Válassza a Bash lehetőséget a Cloud Shell ablakának bal felső sarkában.
Adja meg a
topicname
parancsokban használt változókat ésresourcegroupname
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"
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)
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)
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"} ]'
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.
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.Á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"
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
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)+"]"
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.
Az Azure-függvény Monitorozás lapján egy meghívás jelenik meg.
Válassza ki a meghívást a részletek megtekintéséhez.
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 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.
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.
Válassza ki az erőforráscsoportot az Erőforráscsoport lap elindításához.
Válassza az eszköztárOn az Erőforráscsoport törlése lehetőséget.
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 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:
- Bevezetés az Event Grid használatába
- Azure Blob Storage-események átirányítása egyéni webes végpontra
- Virtuális gépek módosításainak monitorozása az Azure Event Grid és a Logic Apps segítségével
- Big Data típusú adatok streamelése adattárházba
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.
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: