Partager via


Démarrage rapide : Acheminer les événements Azure Cache pour Redis vers un point de terminaison web avec PowerShell

Important

Azure Cache pour Redis a annoncé sa chronologie de mise hors service pour toutes les références SKU. Nous vous recommandons de déplacer vos instances Azure Cache pour Redis existantes vers Azure Managed Redis dès que vous le pouvez.

Pour plus d’informations sur la mise hors service :

Azure Event Grid est un service de gestion d’événements pour le cloud. Dans ce guide de démarrage rapide, vous allez utiliser Azure PowerShell pour vous abonner aux événements Azure Cache pour Redis, déclencher un événement et afficher les résultats.

En règle générale, vous envoyez des événements à un point de terminaison qui traite les données d’événement et entreprend des actions. Toutefois, pour simplifier ce guide de démarrage rapide, vous allez envoyer des événements à une application web qui va collecter et afficher les messages. Une fois que vous aurez effectué les étapes décrites dans ce guide de démarrage rapide, vous verrez que les données d’événement ont été envoyées à l’application web.

Configuration

Ce guide de démarrage rapide nécessite que vous exécutiez la dernière version d’Azure PowerShell. Si vous devez installer ou mettre à niveau, consultez Installer et configurer Azure PowerShell.

Connexion à Azure

Connectez-vous à votre abonnement Azure avec la commande Connect-AzAccount et suivez les instructions à l’écran pour l’authentification.

Connect-AzAccount

Cet exemple utilise westus2 et stocke la sélection dans une variable à utiliser dans l’ensemble.

$location = "westus2"

Créer un groupe de ressources

Les rubriques Event Grid sont déployées en tant que ressources Azure individuelles et doivent être provisionnées sous un groupe de ressources Azure. Un groupe de ressources est une collection logique dans laquelle des ressources Azure sont déployées et managées.

Créez un groupe de ressources avec la commande New-AzResourceGroup.

L’exemple suivant crée un groupe de ressources nommé gridResourceGroup à l’emplacement westus2.

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

Créer une instance Cache Redis Azure

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

Pour plus d’informations sur la création d’une instance de cache dans PowerShell, consultez la référence Azure PowerShell.

Créer un point de terminaison de message

Avant de nous abonner à la rubrique, nous allons créer le point de terminaison pour le message de l’événement. En règle générale, le point de terminaison entreprend des actions en fonction des données d’événement. Pour simplifier ce guide de démarrage rapide, déployez une application web prédéfinie qui affiche les messages d’événement. La solution déployée comprend un plan App Service, une offre App Service Web Apps et du code source en provenance de GitHub.

Remplacez <your-site-name> par un nom unique pour votre application web. Le nom de l’application web doit être unique, car il fait partie de l’entrée 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

Le déploiement peut prendre quelques minutes. Une fois le déploiement réussi, affichez votre application web pour vérifier qu’elle s’exécute. Dans un navigateur web, accédez à : https://<your-site-name>.azurewebsites.net

Vous devez voir le site sans messages affichés.

Site de visionneuse Event Grid vide.

S’abonner à votre événement Azure Cache pour Redis

Dans cette étape, vous allez vous abonner à une rubrique pour indiquer aux événements Event Grid que vous souhaitez suivre. L’exemple suivant s’abonne à l’instance de cache que vous avez créée et transmet l’URL de votre application web comme point de terminaison pour la notification d’événement. Le point de terminaison de votre application web doit inclure le suffixe /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

Affichez à nouveau votre application web, et notez qu’un événement de validation d’abonnement lui a été envoyé. Sélectionnez l’icône en forme d’œil pour développer les données d’événements. Event Grid envoie l’événement de validation pour que le point de terminaison puisse vérifier qu’il souhaite recevoir des données d’événement. L’application web inclut du code pour valider l’abonnement.

Visionneuse Azure Event Grid.

Déclencher un événement à partir d’Azure Cache pour Redis

Nous allons maintenant déclencher un événement pour voir comment Event Grid distribue le message à votre point de terminaison.

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

Pour plus d’informations sur l’importation dans PowerShell, consultez la référence Azure PowerShell.

Vous avez déclenché l’événement, et Event Grid a envoyé le message au point de terminaison configuré lors de l’abonnement. Affichez votre application web pour voir l’événement que vous venez d’envoyer.

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

Nettoyer les ressources

Si vous envisagez de continuer à utiliser cette instance Azure Cache pour Redis et cet abonnement aux événements, ne nettoyez pas les ressources créées dans ce guide de démarrage rapide. Si vous ne prévoyez pas de continuer, utilisez la commande suivante pour supprimer les ressources que vous avez créées dans ce guide de démarrage rapide.

Remove-AzResourceGroup -Name $resourceGroup

Étapes suivantes

Maintenant que vous savez comment créer des rubriques et des abonnements aux événements, découvrez-en plus sur les événements Azure Cache pour Redis et ce que Event Grid peut vous aider à faire :