Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Az Azure Event Grid egy felhőalapú eseménykezelési szolgáltatás. Ebben a cikkben az Azure CLI használatával iratkozhat fel a Blob Storage-eseményekre, és aktiválhatja az esemé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 az eseményeket egy olyan webalkalmazásnak küldjük el, amely az üzenetek gyűjtésével és megjelenítésével foglalkozik.
A cikkben ismertetett lépések elvégzése után láthatja, hogy az eseményadatok a webalkalmazásba lettek elküldve.
Ha még nem rendelkezik Azure-fiókkal, első lépésként hozzon létre egy ingyenes fiókot.
Előfeltételek
Használja a Bash-környezetet az Azure Cloud Shellben. További információ: Az Azure Cloud Shell használatának első lépései.
Ha a CLI referencia parancsokat helyben szeretnéd futtatni, telepítsd az Azure CLI-t. Ha Windows vagy macOS rendszeren fut, fontolja meg az Azure CLI-t egy Docker-konténerben futtatni. További információkért lásd: Az Azure CLI használata Docker-konténerben.
Ha egy helyileg telepített verziót használ, jelentkezzen be az Azure CLI-be az az login parancs futtatásával. Az azonosítási folyamat befejezéséhez kövesse a terminálján megjelenő lépéseket. További bejelentkezési lehetőségekért lásd: Hitelesítés az Azure-ba az Azure CLI használatával.
Amikor megjelenik a felszólítás, az első használatkor 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 és kezelése az Azure CLI-vel.
Futtasd a az version parancsot, hogy megtudd a telepített verziót és függő könyvtárakat. A legújabb verzióra való frissítéshez futtassa a az upgrade parancsot.
- 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.
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.
Az alábbi példa létrehoz egy <resource_group_name>
nevű erőforráscsoportot a westcentralus helyszínen. A <resource_group_name>
elemet az erőforráscsoport egyedi nevére cserélje le.
az group create --name <resource_group_name> --location westcentralus
Hozzon létre egy tárolófiókot
Blobtároló események általános célú v2 tárfiókokban vagy Blob tárfiókokban érhetők el. Az általános célú v2 fiókok olyan tárfiókok, amelyek a társzolgáltatások összes funkcióját támogatják, beleértve a blobokat, a fájlokat, az üzenetsorokat és a táblákat is. A Blob Storage-fiók egy speciális tárfiók a strukturálatlan adatok blobként (objektumként) való tárolására az Azure Storage-ban. A Blob storage fiókok az általános célú tárfiókokhoz hasonlóak, és osztoznak minden kiváló tartóssági, rendelkezésre állási, méretezhetőségi és teljesítménybeli jellemzőn, amelyeket ma használ, beleértve a 100%-os API-konzisztenciát a blokkblobok és a hozzáfűző blobok számára. További információkat az Azure Storage-fiókok áttekintésében találhat.
Cserélje le <storage_account_name>
a tárfiók egyedi nevére és <resource_group_name>
a korábban létrehozott erőforráscsoportra.
az storage account create \
--name <storage_account_name> \
--location westcentralus \
--resource-group <resource_group_name> \
--sku Standard_LRS \
--kind BlobStorage \
--access-tier Hot
Üzenetvégpont létrehozása
A 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 helyezhet egy előre elkészített 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 <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>
az deployment group create \
--resource-group <resource_group_name> \
--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 webhelyet kellene látnia, amely jelenleg nem jelenít meg üzeneteket.
Az Event Grid-erőforrás-szolgáltató engedélyezése
Ha most először használja 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
értékeRegistered
, akkor készen áll a folytatásra.
Iratkozzon fel a tárfiókra
A témakörre való feliratkozással lehet tudatni az Event Griddel, hogy mely eseményeket kívánja nyomon követni, és hová szeretné küldeni azokat. Az alábbi példa feliratkozik a létrehozott tárfiókra, és átadja az URL-címet a webalkalmazásból az eseményértesítés végpontjaként. Az <event_subscription_name>
elemet cserélje le az esemény-előfizetéshez választott névre. A <resource_group_name>
és <storage_account_name>
elemnél a korábban létrehozott értékeket adja meg.
A webalkalmazás végpontjának az /api/updates/
utótagot kell tartalmaznia.
storageid=$(az storage account show --name <storage_account_name> --resource-group <resource_group_name> --query id --output tsv)
endpoint=https://$sitename.azurewebsites.net/api/updates
az eventgrid event-subscription create \
--source-resource-id $storageid \
--name <event_subscription_name> \
--endpoint $endpoint
Tekintse meg újra a webalkalmazást, és figyelje meg, hogy egy előfizetés-érvényesítési esemény érkezett hozzá. Az eseményadatok kibontásához válassza a szem ikont. Az Event Grid elküldi az érvényesítési eseményt, így a végpont ellenőrizheti, hogy szeretne-e eseményadatokat fogadni. A webalkalmazás tartalmazza az előfizetés érvényesítéséhez szükséges kódot.
Esemény kiváltása a Blob Storage-ból
Most aktiváljunk egy eseményt, és lássuk, hogyan küldi el az üzenetet az Event Grid a végpontnak. Először konfiguráljuk a tárfiók nevét és kulcsát, majd hozzunk létre egy tárolót, majd hozzunk létre és töltsünk fel egy fájlt. Használja ismét a korábban létrehozott értékeket <storage_account_name>
<resource_group_name>
.
export AZURE_STORAGE_ACCOUNT=<storage_account_name>
export AZURE_STORAGE_KEY="$(az storage account keys list --account-name <storage_account_name> --resource-group <resource_group_name> --query "[0].value" --output tsv)"
az storage container create --name testcontainer
touch testfile.txt
az storage blob upload --file testfile.txt --container-name testcontainer --name testfile.txt
Ö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.
[{
"topic": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/myrg/providers/Microsoft.Storage/storageAccounts/myblobstorageaccount",
"subject": "/blobServices/default/containers/testcontainer/blobs/testfile.txt",
"eventType": "Microsoft.Storage.BlobCreated",
"eventTime": "2017-08-16T20:33:51.0595757Z",
"id": "4d96b1d4-0001-00b3-58ce-16568c064fab",
"data": {
"api": "PutBlockList",
"clientRequestId": "d65ca2e2-a168-4155-b7a4-2c925c18902f",
"requestId": "4d96b1d4-0001-00b3-58ce-16568c000000",
"eTag": "0x8D4E4E61AE038AD",
"contentType": "text/plain",
"contentLength": 0,
"blobType": "BlockBlob",
"url": "https://myblobstorageaccount.blob.core.windows.net/testcontainer/testfile.txt",
"sequencer": "00000000000000EB0000000000046199",
"storageDiagnostics": {
"batchId": "dffea416-b46e-4613-ac19-0371c0c5e352"
}
},
"dataVersion": "",
"metadataVersion": "1"
}]
Erőforrások tisztítása
Ha továbbra is használni szeretné ezt a tárfiókot és esemény-előfizetést, ne törölje a cikkben létrehozott erőforrásokat. Ha nem tervezi folytatni a munkát, az alábbi paranccsal törölje a cikkben létrehozott erőforrásokat.
Cserélje le <resource_group_name>
a fent létrehozott erőforráscsoportra.
az group delete --name <resource_group_name>
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újthatnak segítséget a Blob Storage-események és az Event Grid: