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

Azure Event Grid to usługa obsługi zdarzeń dla chmury. W tym przewodniku Szybki start użyjesz Azure PowerShell, aby zasubskrybować zdarzenia Azure Cache for Redis, wyzwolić zdarzenie i wyświetlić wyniki.

Zazwyczaj użytkownik wysyła zdarzenia do punktu końcowego, w którym następuje przetwarzanie danych zdarzenia i są wykonywane akcje. Jednak aby uprościć ten przewodnik 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.

Konfigurowanie

Ten przewodnik Szybki start wymaga korzystania z najnowszej wersji Azure PowerShell. Jeśli konieczna będzie instalacja lub uaktualnienie, zobacz Instalowanie i konfigurowanie programu Azure PowerShell.

Logowanie do platformy 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 opcji westus2 i zapisano wybór w zmiennej do użycia w całej.

$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 ramach grupy 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 pamięci podręcznej 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ę Azure PowerShell.

Tworzenie punktu końcowego komunikatów

Przed zasubskrybowaniem tematu utwórzmy punkt końcowy dla komunikatów o zdarzeniach. Zazwyczaj w punkcie końcowym akcje są wykonywane 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

Powinna być widoczna witryna internetowa bez żadnych aktualnie wyświetlanych komunikatów.

Pusta witryna podglądu usługi Event Grid.

Subskrybowanie zdarzenia 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 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 rozwinąć dane zdarzenia. Usługa Event Grid wysyła zdarzenie weryfikacji, aby w punkcie końcowym mogło nastąpić sprawdzenie, czy dane zdarzenia mają być odbierane. Aplikacja internetowa zawiera kod do sprawdzania poprawności subskrypcji.

Azure Event Grid Viewer.

Wyzwalanie zdarzenia z 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ę Azure PowerShell.

Zdarzenie zostało wyzwolone, a usługa Event Grid wysłała komunikat do punktu końcowego skonfigurowanego podczas subskrybowania. Wyświetl aplikację sieci Web, aby wyświetlić 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"
}]

Czyszczenie zasobów

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

Remove-AzResourceGroup -Name $resourceGroup

Następne kroki

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