Rychlý start: Směrování událostí Azure Cache for Redis do webového koncového bodu pomocí Azure CLI

Azure Event Grid je služba zpracování událostí pro cloud. V tomto rychlém startu použijete Azure CLI k přihlášení k odběru událostí Azure Cache for Redis, aktivaci události a zobrazení výsledků.

Obvykle odesíláte události do koncového bodu, který data události zpracuje a provede akce. Pro zjednodušení tohoto rychlého startu ale odešlete události do webové aplikace, která bude shromažďovat a zobrazovat zprávy. Po dokončení kroků popsaných v tomto rychlém startu uvidíte, že se data události odeslala do webové aplikace.

Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet Azure před tím, než začnete.

Azure Cloud Shell

Azure hostí interaktivní prostředí Azure Cloud Shell, které můžete používat v prohlížeči. Pro práci se službami Azure můžete v prostředí Cloud Shell použít buď Bash, nebo PowerShell. Předinstalované příkazy Cloud Shellu můžete použít ke spuštění kódu v tomto článku, aniž byste museli instalovat cokoli do místního prostředí.

Spuštění služby Azure Cloud Shell:

Možnost Příklad nebo odkaz
Vyberte Vyzkoušet v pravém horním rohu bloku kódu nebo příkazu. Výběrem možnosti Vyzkoušet se kód ani příkaz automaticky nekopíruje do Cloud Shellu. Screenshot that shows an example of Try It for Azure Cloud Shell.
Přejděte na adresu https://shell.azure.com nebo výběrem tlačítka Spustit Cloud Shell otevřete Cloud Shell v prohlížeči. Button to launch Azure Cloud Shell.
Zvolte tlačítko Cloud Shell v pruhu nabídky v pravém horním rohu webu Azure Portal. Screenshot that shows the Cloud Shell button in the Azure portal

Použití Azure Cloud Shellu:

  1. Spusťte Cloud Shell.

  2. Výběrem tlačítka Kopírovat v bloku kódu (nebo bloku příkazů) zkopírujte kód nebo příkaz.

  3. Vložte kód nebo příkaz do relace Cloud Shellu tak, že ve Windows a Linuxu vyberete ctrl+Shift+V nebo vyberete Cmd+Shift+V v macOS.

  4. Stisknutím klávesy Enter spusťte kód nebo příkaz.

Pokud se rozhodnete nainstalovat a používat rozhraní příkazového řádku místně, musíte mít nejnovější verzi Azure CLI (2.0.70 nebo novější). Verzi zjistíte spuštěním příkazu az --version. Pokud potřebujete instalaci nebo upgrade, přečtěte si téma Instalace Azure CLI.

Pokud nepoužíváte Cloud Shell, musíte se nejprve přihlásit pomocí příkazu az login.

Vytvoření skupiny zdrojů

Témata event Gridu se nasazují jako jednotlivé prostředky Azure a musí být zřízena ve skupině prostředků Azure. Skupina prostředků je logická kolekce, do 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ů <resource_group_name> v umístění westcentralus. Nahraďte <resource_group_name> jedinečným názvem vaší skupiny prostředků.

az group create --name <resource_group_name> --location westcentralus

Vytvoření instance mezipaměti

#/bin/bash

# Create a Basic C0 (256 MB) Azure Cache for Redis instance
az redis create --name <cache_name> --resource-group <resource_group_name> --location westcentralus --sku Basic --vm-size C0

Vytvoření koncového bodu zpráv

Před přihlášením k odběru tématu vytvoříme koncový bod pro zprávy události. Koncový bod obvykle provede akce na základě dat události. Pro zjednodušení tohoto rychlého startu nasadíte předem připravenou webovou aplikaci, která zobrazuje zprávy události. Nasazené řešení zahrnuje plán služby App Service, webovou aplikaci App Service a zdrojový kód z GitHubu.

Nahraďte <your-site-name> jedinečným názvem vaší webové aplikace. Název webové aplikace musí být jedinečný, protože je součástí položky DNS.

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/main/azuredeploy.json" \
  --parameters siteName=$sitename hostingPlanName=viewerhost

Dokončení nasazení může trvat několik minut. Po úspěšném nasazení si webovou aplikaci prohlédněte, abyste se ujistili, že funguje. Ve webovém prohlížeči přejděte na: https://<your-site-name>.azurewebsites.net

Měli byste vidět web aktuálně bez zobrazených zpráv.

Povolení poskytovatele prostředků Event Gridu

  1. 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
    
  2. 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 je Registered, můžete pokračovat.

Přihlášení k odběru instance Azure Cache for Redis

V tomto kroku se přihlásíte k odběru tématu, abyste službě Event Grid řekli, které události chcete sledovat a kam se mají tyto události odesílat. Následující příklad se přihlásí k odběru instance Azure Cache for Redis, kterou jste vytvořili, a předá adresu URL z vaší webové aplikace jako koncový bod pro oznámení události. Nahraďte řetězec <event_subscription_name> názvem odběru události. Místo <resource_group_name> a <cache_name> použijte hodnoty názvu skupiny prostředků a názvu účtu úložiště, které jste vytvořili dříve.

Koncový bod pro webovou aplikaci musí obsahovat příponu /api/updates/.

cacheId=$(az redis show --name <cache_name> --resource-group <resource_group_name> --query id --subscription <subscription_id> --output tsv)
endpoint=https://$sitename.azurewebsites.net/api/updates

az eventgrid event-subscription create \
  --source-resource-id $cacheId \
  --name <event_subscription_name> \
  --endpoint $endpoint

Podívejte se na webovou aplikaci znovu a všimněte si, že do ní byla odeslána událost ověření odběru. Vyberte ikonu oka a rozbalte data události. Služba Event Grid odešle událost ověření, aby koncový bod mohl ověřit, že data události chce přijímat. Webová aplikace obsahuje kód pro ověření odběru.

Azure Event Grid Viewer.

Aktivace události ze služby Azure Cache for Redis

Nyní aktivujeme událost, abychom viděli, jak služba Event Grid distribuuje zprávu do vašeho koncového bodu. Exportujme data uložená v instanci Azure Cache for Redis. Znovu použijte hodnoty pro {cache_name} a {resource_group_name} vytvořili jste je dříve.

az redis export  --ids '/subscriptions/{subscription_id}/resourceGroups/{resource_group_name}/providers/Microsoft.Cache/Redis/{cache_name}' \
    --prefix '<prefix_for_exported_files>' \
    --container '<SAS_url>'  

Právě jste aktivovali událost a služba Event Grid odeslala zprávu do koncového bodu, který jste nakonfigurovali při přihlášení k odběru. Podívejte se na webovou aplikaci, abyste si zobrazili událost, kterou jste právě odeslali.

[{
"id": "e1ceb52d-575c-4ce4-8056-115dec723cff",
  "eventType": "Microsoft.Cache.ExportRDBCompleted",
  "topic": "/subscriptions/{subscription_id}/resourceGroups/{resource_group_name}/providers/Microsoft.Cache/Redis/{cache_name}",
  "data": {
    "name": "ExportRDBCompleted",
    "timestamp": "2020-12-10T18:07:54.4937063+00:00",
    "status": "Succeeded"
  },
  "subject": "ExportRDBCompleted",
  "dataversion": "1.0",
  "metadataVersion": "1",
  "eventTime": "2020-12-10T18:07:54.4937063+00:00"
}]

Vyčištění prostředků

Pokud chcete pokračovat v práci s touto instancí azure Cache for Redis a odběrem událostí, nevyčišťujte prostředky vytvořené v tomto rychlém startu. Pokud pokračovat nechcete, pomocí následujícího příkazu odstraňte prostředky, které jste vytvořili v tomto rychlém startu.

Nahraďte <resource_group_name> názvem skupiny prostředků, kterou jste vytvořili výše.

az group delete --name <resource_group_name>

Další kroky

Teď, když víte, jak vytvářet témata a odběry událostí, přečtěte si další informace o událostech Azure Cache for Redis a o tom, co vám může Event Grid pomoct: