Rövid útmutató: Egyéni események átirányítása webes végpontra az Azure CLI és az Event Grid használatával
Ebben a cikkben az Azure CLI használatával hoz létre egy egyéni témakört az Azure Event Gridben, feliratkozik az egyéni témakörre, és elindít egy mintaeseményt az eredmény megtekintéséhez.
Á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 mintaeseményeket küld egy webalkalmazásnak, amely összegyűjti és megjeleníti az üzeneteket. Ha végzett, láthatja, hogy az eseményadatok a webalkalmazásba lettek elküldve az alábbi képen látható módon:
Ha nem rendelkezik Azure-előfizetéssel, első lépésként hozzon létre egy ingyenes Azure-fiókot.
Előfeltételek
Használja a Bash-környezetet az Azure Cloud Shellben. További információ: A Bash rövid útmutatója az Azure Cloud Shellben.
Ha inkább helyi cli-referenciaparancsokat szeretne futtatni, telepítse az Azure CLI-t. Ha Windows vagy macOS rendszert használ, fontolja meg az Azure CLI Docker-tárolóban való futtatását. További információ: Az Azure CLI futtatása Docker-tárolóban.
Ha helyi telepítést használ, jelentkezzen be az Azure CLI-be az az login parancs futtatásával. A hitelesítési folyamat befejezéséhez kövesse a terminálon megjelenő lépéseket. További bejelentkezési lehetőségekért lásd : Bejelentkezés az Azure CLI-vel.
Amikor a rendszer kéri, először telepítse az Azure CLI-bővítményt. További információ a bővítményekről: Bővítmények használata az Azure CLI-vel.
Futtassa az az version parancsot a telepített verzió és a függő kódtárak megkereséséhez. A legújabb verzióra az az upgrade paranccsal frissíthet.
- Ez a cikk az Azure CLI 2.0.70-es vagy újabb verzióját igényli. Az Azure Cloud Shell használata esetén a legújabb verzió már telepítve van.
- Ha még nem ismerkedik az Azure Event Gridszel, tekintse meg az Azure Event Gridet , amely áttekintést nyújt a szolgáltatásról, mielőtt végigvezeti az oktatóanyagon.
Erőforráscsoport létrehozása
Az Event Grid-témakörök Azure-erőforrások, amelyeket egy Azure-erőforráscsoportba kell helyezni. Az erőforráscsoport egy olyan logikai gyűjtemény, amelyben a rendszer üzembe helyezi és kezeli az Azure-erőforrásokat.
Hozzon létre egy erőforráscsoportot az az group create paranccsal. A következő példában létrehozunk egy gridResourceGroup nevű erőforráscsoportot a westus2 helyen. Ha a Kipróbálás lehetőséget választja, a jobb oldali panelen megjelenik az Azure Cloud Shell ablak. Ezután a Másolás gombra kattintva másolja a parancsot, és illessze be az Azure Cloud Shell ablakába, majd nyomja le az ENTER billentyűt a parancs futtatásához. Tetszés szerint módosítsa az erőforráscsoport nevét és helyét.
az group create --name gridResourceGroup --location westus2
Az Event Grid-erőforrás-szolgáltató engedélyezése
Ha korábban nem használta az Event Gridet az Azure-előfizetésében, előfordulhat, hogy regisztrálnia kell az Event Grid-erőforrás-szolgáltatót. A szolgáltató regisztrálásához futtassa az alábbi parancsot:
az provider register --namespace Microsoft.EventGrid
Eltarthat egy ideig, amíg a regisztráció befejeződik. Az állapot ellenőrzéséhez futtassa a következő parancsot:
az provider show --namespace Microsoft.EventGrid --query "registrationState"
Ha a
registrationState
Registered
értékű, készen áll a folytatásra.
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. Az alábbi példa létrehozza az egyéni témakört az erőforráscsoportban a Bash használatával az Azure Cloud Shellben. A <your-topic-name>
elemet a témakör egyedi nevére cserélje le. Az egyéni témakör nevének egyedinek kell lennie, mert a tartománynévrendszer (DNS) bejegyzés része. Emellett 3–50 karakter hosszúságúnak kell lennie, és csak az a-z, A-Z, 0-9 és "-" értékeket kell tartalmaznia.
Másolja ki a következő parancsot, adja meg a témakör nevét, majd nyomja le az ENTER billentyűt a parancs futtatásához.
topicname=<your-topic-name>
az eventgrid topic create
A parancs használatával hozzon létre egy egyéni témakört.az eventgrid topic create --name $topicname -l westus2 -g gridResourceGroup
Üzenetvégpont létrehozása
Az egyéni témakörre való feliratkozás előtt hozzuk létre az eseményüzenet végpontját. 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.
Másolja ki a következő parancsot, adja meg a webalkalmazás nevét (Event Grid Viewer-minta), majd nyomja le az ENTER billentyűt a parancs futtatásához. A
<your-site-name>
elemet a webalkalmazás egyedi nevére cserélje le. A webalkalmazás nevének egyedinek kell lennie, mert a DNS-bejegyzés része.sitename=<your-site-name>
Futtassa a
az deployment group create
webalkalmazás üzembe helyezését egy Azure Resource Manager-sablonnal.az deployment group create \ --resource-group gridResourceGroup \ --template-uri "https://raw.githubusercontent.com/Azure-Samples/azure-event-grid-viewer/master/azuredeploy.json" \ --parameters siteName=$sitename hostingPlanName=viewerhost
Az üzembe helyezés végrehajtása eltarthat néhány percig. A sikeres üzembe helyezést követően tekintse meg a webalkalmazást, hogy meggyőződjön annak működéséről. Egy webböngészőben navigáljon a következő helyre: https://<your-site-name>.azurewebsites.net
.
A helynek megjelenített üzenetek nélkül kell megjelennie.
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 ezeket az eseményeket. Az alábbi példa feliratkozik a létrehozott egyéni témakörre, és az eseményértesítés végpontjaként átadja a webalkalmazásából származó URL-címet.
A webalkalmazás végpontjának az /api/updates/
utótagot kell tartalmaznia.
Másolja ki a következő parancsot, cserélje le
$sitename
az előző lépésben létrehozott webalkalmazás nevére, majd nyomja le az ENTER billentyűt a parancs futtatásához.endpoint=https://$sitename.azurewebsites.net/api/updates
Futtassa a következő parancsot a létrehozott témakör erőforrás-azonosítójának lekéréséhez.
topicresourceid=$(az eventgrid topic show --resource-group gridResourceGroup --name $topicname --query "id" --output tsv)
Futtassa a következő parancsot az egyéni témakörhöz tartozó előfizetés létrehozásához a végpont használatával.
az eventgrid event-subscription create \ --source-resource-id $topicresourceid \ --name demoViewerSub \ --endpoint $endpoint
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 az egyéni témakörbe
Aktiváljunk egy eseményt, és lássuk, hogyan küldi el az üzenetet az Event Grid a végpontnak. Először szükségünk lesz az egyéni témakör URL-címére és kulcsára.
endpoint=$(az eventgrid topic show --name $topicname -g gridResourceGroup --query "endpoint" --output tsv)
key=$(az eventgrid topic key list --name $topicname -g gridResourceGroup --query "key1" --output tsv)
A folyamat leegyszerűsítése érdekében használjon mintául szolgáló eseményadatokat, amelyeket elküldhet az egyéni témakörbe. Egy alkalmazás vagy Azure-szolgáltatás általában eseményadatokat küld el. Az alábbi példa mintául szolgáló eseményadatokat hoz létre:
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"} ]'
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. Ebben a cikkben a CURL használatával küldjük el az eseményt a témakörbe.
curl -X POST -H "aeg-sas-key: $key" -d "$event" $endpoint
Ö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.
[{
"id": "1807",
"eventType": "recordInserted",
"subject": "myapp/vehicles/motorcycles",
"eventTime": "2017-08-10T21:03:07+00:00",
"data": {
"make": "Ducati",
"model": "Monster"
},
"dataVersion": "1.0",
"metadataVersion": "1",
"topic": "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.EventGrid/topics/{topic}"
}]
Az erőforrások eltávolítása
Ha tovább kívánja használni az eseményt vagy az eseménynapló alkalmazást, akkor ne törölje a cikkben létrehozott erőforrásokat. Ellenkező esetben a következő paranccsal törölheti a cikkben létrehozott erőforrásokat.
az group delete --name gridResourceGroup
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.