Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V tomto rychlém startu použijete Azure CLI k vytvoření vlastního tématu Event Gridu a odběru Queue Storage 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 fronty.
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í, jako je azure Queue Storage. Další informace najdete v tématu Obslužné rutiny událostí.
Pokud nemáte účet Azure, vytvořte si bezplatný účet před tím, než začnete.
Vytvoření skupiny zdrojů
Témata Event Gridu jsou prostředky Azure. Umístěte je 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 ve svém předplatném Azure používáte Event Grid poprvé, 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 --location westus2 --resource-group gridResourceGroup
Vytvořit frontu
Než se přihlásíte k odběru vlastního tématu, vytvořte koncový bod pro zprávu události. Vytvoříte frontu pro shromažďování událostí.
Zadejte jedinečný název účtu úložiště Azure:
storagename="<STORAGE ACCOUNT NAME>"
Spuštěním následujících příkazů vytvořte účet úložiště a frontu (pojmenovanou
eventqueue
) v úložišti:queuename="eventqueue" az storage account create --name $storagename --resource-group gridResourceGroup --location westus2 --sku Standard_LRS key="$(az storage account keys list --account-name $storagename --query "[0].{value:value}" --output tsv)" az storage queue create --name $queuename --account-name $storagename --account-key $key
Přihlášení k odběru vlastního tématu
Následující příklad se přihlásí k odběru vlastního tématu, které jste vytvořili. Předá ID prostředku fronty pro koncový bod. Pomocí Azure CLI předáte ID fronty jako koncový bod. Koncový bod je v tomto formátu:
/subscriptions/<AZURE SUBSCRIPTION ID>/resourcegroups/<RESOURCE GROUP NAME>/providers/Microsoft.Storage/storageAccounts/<STORAGE ACCOUNT NAME>/queueservices/default/queues/<QUEUE NAME>
Následující skript načte ID prostředku účtu úložiště pro danou frontu. Vytvoří ID fronty a přihlásí se k odběru tématu Event Gridu. Nastaví typ koncového bodu na storagequeue
a použije ID fronty pro daný koncový bod.
Před spuštěním příkazu nahraďte zástupný symbol pro datum vypršení platnosti (<yyyy-mm-dd>
) skutečnou hodnotou pro rok, měsíc a den.
storageid=$(az storage account show --name $storagename --resource-group gridResourceGroup --query id --output tsv)
queueid="$storageid/queueservices/default/queues/$queuename"
topicid=$(az eventgrid topic show --name $topicname --resource-group gridResourceGroup --query id --output tsv)
az eventgrid event-subscription create \
--source-resource-id $topicid \
--name mystoragequeuesubscription \
--endpoint-type storagequeue \
--endpoint $queueid \
--expiration-date "<yyyy-mm-dd>"
Účet, který vytvoří odběr událostí, musí mít přístup k zápisu do fronty. Pro předplatné je nastavené datum vypršení platnosti.
Pokud k vytvoření předplatného použijete rozhraní REST API, předáte ID účtu úložiště a název fronty jako samostatný parametr:
"destination": {
"endpointType": "storagequeue",
"properties": {
"queueName":"eventqueue",
"resourceId": "/subscriptions/<subscription-id>/resourcegroups/<resource-group-name>/providers/Microsoft.Storage/storageAccounts/<storage-name>"
}
...
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 --resource-group gridResourceGroup --query "endpoint" --output tsv)
key=$(az eventgrid topic key list --name $topicname --resource-group gridResourceGroup --query "key1" --output tsv)
Pro zjednodušení tento článek používá 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
Přejděte do fronty na webu Azure Portal a podívejte se, že Služba Event Grid odeslala tyto tři události do fronty.
Vyčištění prostředků
Pokud plánujete dále pracovat s touto událostí, neodebírejte zdroje, 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
- Migrace zachycených dat služby Event Hubs ze služby Azure Storage do Azure Synapse Analytics
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: