Sdílet prostřednictvím


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

Důležité

Služba Azure Cache for Redis oznámila časovou osu vyřazení všech skladových položek. Doporučujeme přesunout stávající instance Azure Cache for Redis do Azure Managed Redis , jakmile budete moct.

Další podrobnosti o ukončení podpory:

Azure Event Grid je služba zpracování událostí pro cloud. V tomto rychlém startu použijete Azure PowerShell 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.

Nastavení

Tento rychlý start vyžaduje, abyste spustili nejnovější verzi Azure PowerShellu. Pokud potřebujete instalaci nebo upgrade, přečtěte si téma Instalace a konfigurace Azure PowerShellu.

Přihlásit se do Azure

Přihlaste se ke svému předplatnému Azure pomocí Connect-AzAccount příkazu a podle pokynů na obrazovce proveďte ověření.

Connect-AzAccount

Tento příklad používá westus2 a ukládá výběr do proměnné pro použití v celém prostředí.

$location = "westus2"

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 New-AzResourceGroup .

Následující příklad vytvoří skupinu prostředků gridResourceGroup v umístění westus2.

$resourceGroup = "gridResourceGroup"
New-AzResourceGroup -Name $resourceGroup -Location $location

Vytvoření instance Azure Cache for Redis

New-AzRedisCache
   -ResourceGroupName <String>
   -Name <String>
   -Location <String>
   [-Size <String>]
   [-Sku <String>]
   [-RedisConfiguration <Hashtable>]
   [-EnableNonSslPort <Boolean>]
   [-TenantSettings <Hashtable>]
   [-ShardCount <Int32>]
   [-MinimumTlsVersion <String>]
   [-SubnetId <String>]
   [-StaticIP <String>]
   [-Tag <Hashtable>]
   [-Zone <String[]>]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Další informace o vytvoření instance mezipaměti v PowerShellu najdete v referenčních informacích k Azure PowerShellu.

Vytvoření koncového bodu zprávy

Před přihlášením k odběru tématu nejprve vytvoříme koncový bod pro zprávu o 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>"

New-AzResourceGroupDeployment `
  -ResourceGroupName $resourceGroup `
  -TemplateUri "https://raw.githubusercontent.com/Azure-Samples/azure-event-grid-viewer/main/azuredeploy.json" `
  -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 webovou stránku, kde momentálně nejsou zobrazeny žádné zprávy.

Prázdný web prohlížeče Event Gridu

Přihlášení k odběru události 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. Následující příklad se přihlásí k odběru instance mezipaměti, kterou jste vytvořili, a předá adresu URL z vaší webové aplikace jako koncový bod pro oznámení události. Koncový bod pro webovou aplikaci musí obsahovat příponu /api/updates/.

$cacheId = (Get-AzRedisCache -ResourceGroupName $resourceGroup -Name $cacheName).Id
$endpoint="https://$sitename.azurewebsites.net/api/updates"

New-AzEventGridSubscription `
  -EventSubscriptionName <event_subscription_name> `
  -Endpoint $endpoint `
  -ResourceId $cacheId

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 pro rozbalení dat 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.

Prohlížeč služby Azure Event Grid.

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.

Import-AzRedisCache
      [-ResourceGroupName <String>]
      -Name <String>
      -Files <String[]>
      [-Format <String>]
      [-Force]
      [-PassThru]
      [-DefaultProfile <IAzureContextContainer>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

Další informace o importu v PowerShellu najdete v referenčních informacích k Azure PowerShellu.

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.ImportRDBCompleted",
  "topic": "/subscriptions/{subscription_id}/resourceGroups/{resource_group_name}/providers/Microsoft.Cache/Redis/{cache_name}",
  "data": {
    "name": "ImportRDBCompleted",
    "timestamp": "2020-12-10T18:07:54.4937063+00:00",
    "status": "Succeeded"
  },
  "subject": "ImportRDBCompleted",
  "dataversion": "1.0",
  "metadataVersion": "1",
  "eventTime": "2020-12-10T18:07:54.4937063+00:00"
}]

Vyčistěte zdroje

Pokud plánujete pokračovat v práci s touto instancí Azure Cache for Redis a odběrem událostí, nečistěte 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.

Remove-AzResourceGroup -Name $resourceGroup

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: