Szybkie rozpoczęcie: kierowanie zdarzeń usługi Azure Cache for Redis do punktu końcowego w sieci za pomocą Azure CLI

Ważne

Usługa Azure Cache for Redis ogłosiła harmonogram wycofania wszystkich SKU. Zalecamy przeniesienie istniejących instancji usługi Azure Cache for Redis do usługi Azure Managed Redis, jak najszybciej.

Wskazówki dotyczące migracji:

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

Azure Event Grid to usługa obsługi zdarzeń dla chmury. W tym szybkim starcie użyjesz Azure CLI, aby rejestrować się w zdarzeniach Azure Cache for Redis, wyzwalać zdarzenie i wyświetlać wyniki.

Zazwyczaj użytkownik wysyła zdarzenia do punktu końcowego, w którym następuje przetwarzanie danych zdarzenia i są wykonywane akcje. Aby jednak uprościć ten przewodnik szybkiego startu, będziesz wysyłać wydarzenia do aplikacji internetowej, która odbierze i wyświetli komunikaty. Po wykonaniu kroków opisanych w tym szybkim przewodniku zobaczysz, że dane zdarzenia zostały wysłane do aplikacji internetowej.

Jeśli nie masz jeszcze konta platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.

Azure Cloud Shell

Na platformie Azure jest hostowane Azure Cloud Shell, interaktywne środowisko powłoki, z którego można korzystać za pomocą przeglądarki. Do pracy z usługami platformy Azure można używać programu Bash lub PowerShell w środowisku Cloud Shell. Aby uruchomić kod w tym artykule, możesz użyć wstępnie zainstalowanych poleceń usługi Cloud Shell bez konieczności instalowania niczego w środowisku lokalnym.

Aby uruchomić środowisko Azure Cloud Shell:

Opcja Przykład/link
Wybierz pozycję Wypróbuj w prawym górnym rogu bloku kodu lub polecenia. Wybranie pozycji Wypróbuj nie powoduje automatycznego skopiowania kodu lub polecenia do usługi Cloud Shell. Zrzut ekranu przedstawiający przykład narzędzia Try It dla usługi Azure Cloud Shell.
Przejdź do witryny https://shell.azure.com lub wybierz przycisk Uruchom Cloud Shell, aby otworzyć środowisko Cloud Shell w przeglądarce. Przycisk uruchamiania usługi Azure Cloud Shell.
Wybierz przycisk Cloud Shell na pasku menu w prawym górnym rogu witryny Azure Portal. Zrzut ekranu przedstawiający przycisk usługi Cloud Shell w witrynie Azure Portal

Aby użyć usługi Azure Cloud Shell:

  1. Uruchom usługę Cloud Shell.

  2. Wybierz przycisk Kopiuj w bloku kodu (lub bloku poleceń), aby skopiować kod lub polecenie.

  3. Wklej kod lub polecenie do sesji Cloud Shell, wybierając Ctrl+Shift+V w systemach Windows i Linux, lub wybierając Cmd+Shift+V w systemie macOS.

  4. Wybierz Enter, aby uruchomić kod lub polecenie.

Jeśli zdecydujesz się zainstalować interfejs wiersza polecenia i korzystać z niego lokalnie, ten przewodnik *Quickstart* będzie wymagał, abyś używał najnowszej wersji Azure CLI (2.0.70 lub nowszej). Aby dowiedzieć się, jaka wersja jest używana, uruchom polecenie az --version. Jeśli konieczna będzie instalacja lub uaktualnienie, zobacz Instalowanie interfejsu wiersza polecenia platformy Azure.

Jeśli nie korzystasz z usługi Cloud Shell, musisz się najpierw zalogować za pomocą polecenia az login.

Tworzenie grupy zasobów

Tematy usługi Event Grid są wdrażane jako oddzielne zasoby Azure i muszą być przydzielane w grupie zasobów 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 az group create.

Poniższy przykład obejmuje tworzenie grupy zasobów o nazwie <resource_group_name> w lokalizacji westcentralus. Zamień <resource_group_name> na unikatową nazwę grupy zasobów.

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

Utwórz wystąpienie pamięci podręcznej

#/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

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 szybki start, wdrożysz wstępnie zbudowaną aplikację webową, która 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>

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

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

Witryna powinna być widoczna bez wyświetlanych wiadomości.

Włączanie dostawcy zasobów usługi Event Grid

  1. Jeśli po raz pierwszy używasz usługi Event Grid w ramach subskrypcji platformy Azure, może być konieczne zarejestrowanie dostawcy zasobów usługi Event Grid. Uruchom następujące polecenie, aby zarejestrować dostawcę:

    az provider register --namespace Microsoft.EventGrid
    
  2. Ukończenie rejestracji może zająć trochę czasu. Aby sprawdzić stan, uruchom następujące polecenie:

    az provider show --namespace Microsoft.EventGrid --query "registrationState"
    

    Gdy właściwość registrationState uzyska wartość Registered, można kontynuować.

Subskrybowanie wystąpienia usługi Azure Cache for Redis

W tym kroku zasubskrybujesz temat, aby poinformować usługę Event Grid o zdarzeniach, które chcesz śledzić i gdzie wysyłać te zdarzenia. Poniższy przykład subskrybuje utworzone wystąpienie usługi Azure Cache for Redis i przekazuje adres URL z aplikacji internetowej jako punkt końcowy powiadomienia o zdarzeniach. Zastąp element <event_subscription_name> nazwą Twojej subskrypcji zdarzeń. Jako parametrów <resource_group_name> i <cache_name> użyj utworzonych wcześniej wartości.

Punkt końcowy dla aplikacji internetowej musi zawierać sufiks /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

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

Podgląd 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. Wyeksportujmy dane przechowywane w wystąpieniu usługi Azure Cache for Redis. Ponownie użyj wartości parametru {cache_name} i {resource_group_name} utworzonego wcześniej.

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>'  

Wyzwoliłeś zdarzenie, a usługa Event Grid wysłała komunikat do punktu końcowego, który skonfigurowałeś 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.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"
}]

Czyszczenie zasobów

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

Zamień <resource_group_name> na utworzoną powyżej grupę zasobów.

az group delete --name <resource_group_name>

Następne 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: