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:
- Hozzon létre egy egyéni témakört.
- Iratkozzon fel az egyéni témakörre.
- Aktiválja az eseményt.
- 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:
A bal oldali menüben válassza az Előfizetések lehetőséget.
Válassza ki az Event Gridhez használni kívánt előfizetést az előfizetési listából.
Az Előfizetés lapon válassza az Erőforrás-szolgáltatók lehetőséget a bal oldali menü Gépház alatt.
Keressen rá a Microsoft.EventGridre, és győződjön meg arról, hogy az állapot nincs regisztrálva.
Válassza a Microsoft.EventGrid elemet a szolgáltatólistában.
Válassza a Regisztráció lehetőséget a parancssávon.
Frissítsen, hogy a Microsoft.EventGrid állapota regisztrálva legyen.
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.
Jelentkezzen be az Azure portálra.
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.
Az Event Grid-témakörök lapon válassza a + Létrehozás lehetőséget az eszköztáron.
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á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.
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 a Véleményezés + létrehozás lehetőséget a lap alján.
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.
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.
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.
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.
Az Egyéni üzembe helyezés lapon hajtsa végre a következő lépéseket:
Erőforráscsoport esetén válasszon ki egy meglévő erőforráscsoportot, vagy hozzon létre egy erőforráscsoportot.
A Webhely neve mezőben adja meg a webalkalmazás nevét.
Az üzemeltetési csomag neveként adja meg a webalkalmazás üzemeltetéséhez használni kívánt App Service-csomag nevét.
Válassza az Áttekintés + létrehozás lehetőséget.
A Véleményezés + létrehozás lapon válassza a Létrehozás lehetőséget.
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.
Az Erőforráscsoport lapon, az erőforrások listájában válassza ki a létrehozott webalkalmazást (az alábbi példában contosoegriviewer).
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
.Győződjön meg arról, hogy látja a webhelyet, de még nem tettek közzé eseményeket.
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 a Web Hook lehetőséget a végponttípushoz.
Válassza a Végpont kiválasztása lehetőséget.
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.Az Esemény-előfizetés létrehozása lapon válassza a Létrehozás lehetőséget.
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.
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. A Cloud Shell a webböngésző alsó paneljén nyílik meg.
Válassza a Bash lehetőséget a Cloud Shell ablakának bal felső sarkában.
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)
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)
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: 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.
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.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.
Á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>"
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ő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.
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 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:
- 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.