Udostępnij za pomocą


Szybki start: kierowanie zdarzeń usługi Azure Cache for Redis do internetowego punktu końcowego za pomocą programu PowerShell

Ważne

Usługa Azure Cache for Redis ogłosiła harmonogram wycofania wszystkich SKU. Zalecamy przeniesienie istniejących wystąpień usługi Azure Cache for Redis do usługi Azure Managed Redis tak szybko, jak to możliwe.

Aby uzyskać więcej informacji na temat przejścia na emeryturę:

Azure Event Grid to usługa obsługi zdarzeń dla chmury. W tym wprowadzeniu użyjesz Azure PowerShell do subskrybowania wydarzeń Azure Cache for Redis, wyzwalania wydarzeń i przeglądania wyników.

Zazwyczaj użytkownik wysyła zdarzenia do punktu końcowego, w którym następuje przetwarzanie danych zdarzenia i są wykonywane akcje. Jednak w celu uproszczenia tego przewodnika Szybki start będziesz wysyłać zdarzenia do aplikacji internetowej, która będzie zbierać i wyświetlać komunikaty. Po wykonaniu kroków opisanych w tym przewodniku Szybki start zobaczysz, że dane zdarzenia zostały wysłane do aplikacji internetowej.

Konfiguracja

Ten przewodnik szybkiego startu wymaga, abyś korzystał z najnowszej wersji programu Azure PowerShell. Jeśli konieczna będzie instalacja lub uaktualnienie, zobacz Instalowanie i konfigurowanie programu Azure PowerShell.

Zaloguj się do Azure

Zaloguj się do subskrypcji platformy Azure za Connect-AzAccount pomocą polecenia i postępuj zgodnie z instrukcjami wyświetlanymi na ekranie, aby się uwierzytelnić.

Connect-AzAccount

W tym przykładzie użyto metody westus2 i zapisano wybór w zmiennej do użycia w całym.

$location = "westus2"

Tworzenie grupy zasobów

Tematy usługi Event Grid są wdrażane jako poszczególne zasoby platformy Azure i muszą być aprowizowane w grupie zasobów platformy Azure. Grupa zasobów to logiczna kolekcja, w której są wdrażane i zarządzane zasoby platformy Azure.

Utwórz grupę zasobów za pomocą polecenia New-AzResourceGroup .

Poniższy przykład obejmuje tworzenie grupy zasobów o nazwie gridResourceGroup w lokalizacji westus2.

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

Tworzenie wystąpienia usługi 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>]

Aby uzyskać więcej informacji na temat tworzenia wystąpienia pamięci podręcznej w programie PowerShell, zobacz dokumentację programu Azure PowerShell.

Tworzenie punktu końcowego komunikatu

Przed zasubskrybowaniem tematu utwórzmy punkt końcowy dla komunikatów o zdarzeniach. Zazwyczaj punkt końcowy wykonuje akcje na podstawie danych zdarzenia. Aby uprościć ten przewodnik Szybki Start, wdrożysz wstępnie zbudowaną aplikację sieci Web, która będzie wyświetlać komunikaty o zdarzeniach. Wdrożone rozwiązanie zawiera plan usługi App Service, aplikację internetową usługi App Service i kod źródłowy z repozytorium GitHub.

Zastąp <your-site-name> unikatową nazwą aplikacji internetowej. Nazwa aplikacji internetowej musi być unikatowa, ponieważ stanowi część wpisu 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

Wdrożenie może potrwać kilka minut. Po pomyślnym wdrożeniu należy wyświetlić aplikację sieci Web i upewnić się, że jest uruchomiona. W przeglądarce sieci Web przejdź do: https://<your-site-name>.azurewebsites.net

Powinieneś zobaczyć witrynę internetową bez żadnych komunikatów wyświetlanych obecnie.

Pusta witryna podglądu usługi Event Grid.

Subskrybuj zdarzenia usługi Azure Cache for Redis

W tym kroku zasubskrybujesz temat, aby poinformować usługę Event Grid o zdarzeniach, które chcesz śledzić. Poniższy przykład subskrybuje utworzone wystąpienie pamięci podręcznej i przekazuje adres URL z aplikacji internetowej jako punkt końcowy dla powiadomienia o zdarzeniach. Punkt końcowy dla aplikacji internetowej musi zawierać sufiks /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

Wyświetl aplikację sieci Web ponownie i zwróć uwagę, że zdarzenie sprawdzania poprawności subskrypcji zostało do niej wysłane. Wybierz ikonę oka, aby wyświetlić dane zdarzenia. Usługa Event Grid wysyła zdarzenie weryfikacji, aby punkt końcowy mógł potwierdzić, że chce odbierać dane zdarzeń. Aplikacja internetowa zawiera kod do sprawdzania poprawności subskrypcji.

Podgląd usługi Azure Event Grid.

Wyzwalanie zdarzenia z usługi Azure Cache for Redis

Teraz wyzwólmy zdarzenie, aby zobaczyć, jak usługa Event Grid dystrybuuje komunikat do punktu końcowego.

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

Aby uzyskać więcej informacji na temat importowania w programie PowerShell, zobacz dokumentację programu Azure PowerShell.

Wywołałeś zdarzenie, a usługa Event Grid wysłała wiadomość do punktu końcowego, który skonfigurowałeś podczas subskrybowania. Sprawdź swoją aplikację webową, aby zobaczyć właśnie wysłane zdarzenie.

[{
"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"
}]

Uprzątnij zasoby

Jeśli planujesz kontynuować pracę z tym wystąpieniem Azure Cache for Redis i subskrypcją zdarzeń, nie usuwaj zasobów utworzonych w tym przewodniku szybkiego startu. Jeśli nie planujesz kontynuować pracy, użyj następującego polecenia, aby usunąć zasoby utworzone w tej instrukcji szybkiego startu.

Remove-AzResourceGroup -Name $resourceGroup

Dalsze kroki

Teraz, gdy wiesz, jak tworzyć tematy i subskrypcje zdarzeń, dowiedz się więcej o zdarzeniach usługi Azure Cache for Redis i o tym, co usługa Event Grid może ci pomóc: