Rychlý start: Směrování vlastních událostí do centra událostí pomocí Event Gridu a Azure CLI
Azure Event Grid je vysoce škálovatelný a bezserverový zprostředkovatel událostí, který můžete použít k integraci aplikací prostřednictvím událostí. Event Grid doručuje události do podporovaných obslužných rutin událostí a Azure Event Hubs je jedním z nich.
V tomto rychlém startu pomocí Azure CLI vytvoříte vlastní téma Event Gridu a odběr služby Event Hubs pro toto téma. Pak odešlete ukázkové události do vlastního tématu a ověříte, že se tyto události doručí do centra událostí.
Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet Azure před tím, než začnete.
Vytvoření skupiny zdrojů
Témata event Gridu jsou prostředky Azure a musí se umístit do skupiny prostředků Azure. Skupina prostředků je logická kolekce, ve které se nasazují a spravují prostředky Azure.
Vytvořte skupinu prostředků pomocí příkazu az group create. Následující příklad vytvoří skupinu prostředků s názvem gridResourceGroup
v umístění westus2
.
Výběrem možnosti Otevřít Cloud Shell otevřete Azure Cloud Shell v pravém podokně. Výběrem tlačítka Kopírovat zkopírujte příkaz, vložte ho do Cloud Shellu a pak stisknutím klávesy Enter příkaz spusťte.
az group create --name gridResourceGroup --location westus2
Povolení poskytovatele prostředků Event Gridu
Pokud jste službu Event Grid ve svém předplatném Azure ještě nepoužívali, možná budete muset zaregistrovat poskytovatele prostředků Event Gridu. Spuštěním následujícího příkazu zaregistrujte poskytovatele:
az provider register --namespace Microsoft.EventGrid
Dokončení registrace může chvíli trvat. Pokud chcete zkontrolovat stav, spusťte následující příkaz:
az provider show --namespace Microsoft.EventGrid --query "registrationState"
Jakmile
registrationState
jeRegistered
, můžete pokračovat.
Vytvoření vlastního tématu
Téma Event Gridu poskytuje uživatelem definovaný koncový bod, do kterého publikujete události. Následující příklad vytvoří vlastní téma ve vaší skupině prostředků.
Nahraďte <TOPIC NAME>
jedinečným názvem vlastního tématu. Název tématu Event Gridu musí být jedinečný, protože položka DNS (Domain Name System) ji představuje.
Zadejte název tématu:
topicname="<TOPIC NAME>"
Spuštěním následujícího příkazu vytvořte téma:
az eventgrid topic create --name $topicname -l westus2 -g gridResourceGroup
Vytvoření centra událostí
Než se přihlásíte k odběru vlastního tématu, vytvořte koncový bod pro zprávu události. Vytvoříte centrum událostí pro shromažďování událostí.
Zadejte jedinečný název oboru názvů služby Event Hubs:
namespace="<EVENT HUBS NAMESPACE NAME>"
Spuštěním následujících příkazů vytvořte obor názvů služby Event Hubs a centrum událostí pojmenované
demohub
v tomto oboru názvů:hubname=demohub az eventhubs namespace create --name $namespace --resource-group gridResourceGroup az eventhubs eventhub create --name $hubname --namespace-name $namespace --resource-group gridResourceGroup
Přihlášení k odběru vlastního tématu
Přihlásíte se k odběru tématu Event Gridu a sdělíte službě Event Grid, které události chcete sledovat. Následující příklad se přihlásí k odběru vlastního tématu, které jste vytvořili, a předá ID prostředku centra událostí pro koncový bod. Koncový bod je v tomto formátu:
/subscriptions/<AZURE SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP NAME>/providers/Microsoft.EventHub/namespaces/<NAMESPACE NAME>/eventhubs/<EVENT HUB NAME>
Následující skript získá ID prostředku pro centrum událostí a přihlásí se k odběru tématu event Gridu. Nastaví typ koncového bodu na eventhub
a použije ID centra událostí pro daný koncový bod.
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
Účet, který vytváří odběr události, musí mít přístup k zápisu do služby centra událostí.
Odeslání události do vlastního tématu
Aktivujte událost, abyste viděli, jak Event Grid distribuuje zprávu do koncového bodu. Nejprve získejte adresu URL a klíč vlastního tématu:
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)
V zájmu jednoduchosti v tomto článku použijete ukázková data událostí k odeslání do vlastního tématu. Aplikace nebo služba Azure obvykle odesílají data událostí.
Nástroj cURL odesílá požadavky HTTP. V tomto článku použijete cURL k odeslání události do vlastního tématu. Následující příklad odešle do tématu Event Gridu tři události:
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
Na webu Azure Portal si na stránce Přehled vašeho oboru názvů služby Event Hubs všimněte, že Služba Event Grid tyto tři události odeslala do centra událostí. Stejný graf se zobrazí na stránce Přehled instance demohub
služby Event Hubs.
Obvykle vytvoříte aplikaci, která načte zprávy událostí z centra událostí. Další informace naleznete v tématu:
- Začínáme přijímat zprávy pomocí hostitele procesoru událostí v .NET Standard
- Příjem událostí ze služby Azure Event Hubs pomocí Javy
- Příjem událostí ze služby Event Hubs pomocí Apache Stormu
Vyčištění prostředků
Pokud chcete pokračovat v práci s touto událostí, nevyčistíte prostředky, které jste vytvořili v tomto článku. V opačném případě odstraňte prostředky pomocí následujícího příkazu:
az group delete --name gridResourceGroup
Související obsah
Když teď víte, jak vytvářet témata a odběry událostí, zjistěte, s čím vám služba Event Grid ještě může pomoct:
- Informace o službě Event Grid
- Směrování událostí služby Azure Blob Storage do vlastního webového koncového bodu
- Monitorování změn virtuálního počítače pomocí služeb Azure Event Grid a Logic Apps
- Streamování velkých objemů dat do datového skladu
Informace o publikování událostí do Event Gridu a jejich využívání pomocí různých programovacích jazyků najdete v následujících ukázkách: