Rövid útmutató: Egyéni események átirányítása egy eseményközpontba az Event Grid és az Azure CLI használatával
Az Azure Event Grid egy nagymértékben skálázható és kiszolgáló nélküli eseményszervező, amellyel alkalmazásokat integrálhat eseményeken keresztül. Az Event Grid eseményeket biztosít a támogatott eseménykezelőknek, és az Azure Event Hubs is ilyen.
Ebben a rövid útmutatóban az Azure CLI használatával hozhat létre egy egyéni Event Grid-témakört és egy Event Hubs-előfizetést ehhez a témakörhöz. Ezután elküldheti a mintaeseményeket az egyéni témakörnek, és ellenőrizheti, hogy ezek az események egy eseményközpontba érkeznek-e.
Ha nem rendelkezik Azure-előfizetéssel, első lépésként hozzon létre egy ingyenes Azure-fiókot.
Erőforráscsoport létrehozása
Az Event Grid-témakörök Azure-erőforrások, és egy Azure-erőforráscsoportba kell őket 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 westus2
nevű erőforráscsoportot a gridResourceGroup
helyen.
Válassza a Cloud Shell megnyitása lehetőséget az Azure Cloud Shell jobb oldali panelen való megnyitásához. Kattintson a Másolás gombra a parancs másolásához, illessze be a Cloud Shellbe, majd az Enter billentyűt választva futtassa a parancsot.
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 az erőforráscsoportban létrehozza az egyéni témakört.
A <TOPIC NAME>
elemet cserélje le az egyéni témakör egyedi nevére. Az Event Grid-témakör nevének egyedinek kell lennie, mert egy DNS-bejegyzés jelöli azt.
Adja meg a témakör nevét:
topicname="<TOPIC NAME>"
Futtassa a következő parancsot a témakör létrehozásához:
az eventgrid topic create --name $topicname -l westus2 -g gridResourceGroup
Eseményközpont létrehozása
Mielőtt feliratkozik az egyéni témakörre, hozza létre az eseményüzenet végpontját. Eseményközpontot hoz létre az események begyűjtéséhez.
Adja meg az Event Hubs névtér egyedi nevét:
namespace="<EVENT HUBS NAMESPACE NAME>"
Futtassa a következő parancsokat egy Event Hubs-névtér és a névtérben elnevezett
demohub
eseményközpont létrehozásához:hubname=demohub az eventhubs namespace create --name $namespace --resource-group gridResourceGroup az eventhubs eventhub create --name $hubname --namespace-name $namespace --resource-group gridResourceGroup
Feliratkozás egyéni témakörre
Előfizethet egy Event Grid-témakörre, hogy elmondja az Event Gridnek, hogy mely eseményeket szeretné nyomon követni. Az alábbi példa feliratkozik a létrehozott egyéni témakörre, és átadja a végpont eseményközpontjának erőforrás-azonosítóját. A végpont a következő formátumban van:
/subscriptions/<AZURE SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP NAME>/providers/Microsoft.EventHub/namespaces/<NAMESPACE NAME>/eventhubs/<EVENT HUB NAME>
Az alábbi szkript lekéri az eseményközpont erőforrás-azonosítóját, és előfizet egy Event Grid-témakörre. A végpontot eventhub
típusúra állítja be, és az Event Hub azonosítóját használja végpontként.
hubid=$(az eventhubs eventhub show --name $hubname --namespace-name $namespace --resource-group gridResourceGroup --query id --output tsv)
topicid=$(az eventgrid topic show --name $topicname -g gridResourceGroup --query id --output tsv)
az eventgrid event-subscription create \
--source-resource-id $topicid \
--name subtoeventhub \
--endpoint-type eventhub \
--endpoint $hubid
Az esemény-előfizetést létrehozó fióknak írási hozzáféréssel kell rendelkeznie az Event Hubhoz.
Esemény elküldése az egyéni témakörbe
Esemény aktiválása annak megtekintéséhez, hogy az Event Grid hogyan osztja el az üzenetet a végponton. Először szerezze be az egyéni témakör URL-címét és kulcsát:
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 cikkben szereplő egyszerűség kedvéért mintaesemény-adatokat használ az egyéni témakörbe való küldéshez. Általában egy alkalmazás vagy egy Azure-szolgáltatás küldi el az eseményadatokat.
A cURL eszköz HTTP-kéréseket küld. Ebben a cikkben a cURL használatával küldi el az eseményt az egyéni témakörbe. Az alábbi példa három eseményt küld az Event Grid-témakörnek:
for i in 1 2 3
do
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"} ]'
curl -X POST -H "aeg-sas-key: $key" -d "$event" $endpoint
done
Az Azure PortalOn, az Event Hubs-névtér Áttekintés lapján figyelje meg, hogy az Event Grid elküldte ezt a három eseményt az eseményközpontnak. Ugyanez a diagram az Event Hubs-példány Áttekintés lapján demohub
látható.
Általában olyan alkalmazást hoz létre, amely lekéri az eseményüzeneteket az eseményközpontból. További információk:
- Az üzenetek fogadásának első lépései az eseményfeldolgozó gazdagéppel a .NET Standardban
- Események fogadása az Azure Event Hubsból a Java használatával
- Események fogadása az Event Hubsból az Apache Storm használatával
Az erőforrások eltávolítása
Ha folytatni szeretné az esemény használatát, ne törölje a cikkben létrehozott erőforrásokat. Ellenkező esetben az erőforrások törléséhez használja a következő parancsot:
az group delete --name gridResourceGroup
Kapcsolódó tartalom
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 webvé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 Eseményrács eseményeinek különböző programozási nyelvek használatával történő közzétételéről és az események felhasználásáról az alábbi példákban tájékozódhat: