Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Importante
Azure Cache for Redis anunció su cronograma de retiro para todos los SKU. Se recomienda mover las instancias existentes de Azure Cache for Redis a Azure Managed Redis tan pronto como pueda.
Para obtener más información sobre la retirada:
Azure Event Grid es un servicio de eventos para la nube. En este inicio rápido, usará Azure PowerShell para suscribirse a eventos de Azure Cache for Redis, desencadenar un evento y ver los resultados.
Por lo general, se envían eventos a un punto de conexión que procesa los datos del evento y realiza acciones. Sin embargo, para simplificar la guía de inicio rápido, enviará eventos a una aplicación web que recopilará y mostrará los mensajes. Al completar los pasos descritos en esta guía de inicio rápido, verá que los datos de eventos se han enviado a la aplicación web.
Configuración
Esta guía de inicio rápido requiere que ejecute la versión más reciente de Azure PowerShell. Si necesita instalarlas o actualizarlas, vea Install and configure Azure PowerShell (Instalación y configuración de Azure PowerShell).
Inicio de sesión en Azure
Inicie sesión en la suscripción de Azure con el comando Connect-AzAccount y siga las instrucciones que aparecen en pantalla para autenticarse.
Connect-AzAccount
En este ejemplo se usa westus2 y se almacena la selección en una variable para su uso.
$location = "westus2"
Creación de un grupo de recursos
Los temas de Event Grid se implementan como recursos individuales de Azure y se deben aprovisionar en un grupo de recursos de Azure. Un grupo de recursos de Azure es una colección lógica en la que se implementan y administran los recursos de Azure.
Cree un grupo de recursos con el comando New-AzResourceGroup.
En el ejemplo siguiente, se crea un grupo de recursos denominado gridResourceGroup en la ubicación westus2.
$resourceGroup = "gridResourceGroup"
New-AzResourceGroup -Name $resourceGroup -Location $location
Creación de una instancia de Azure Redis Cache
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>]
Para más información sobre cómo crear una instancia de caché en PowerShell, consulte la referencia de Azure PowerShell.
Creación de un punto de conexión de mensaje
Antes de suscribirse al tema, vamos a crear el punto de conexión para el mensaje de evento. Normalmente, el punto de conexión realiza acciones en función de los datos del evento. Para simplificar esta guía de inicio rápido, se implementa una aplicación web pregenerada que muestra los mensajes de los eventos. La solución implementada incluye un plan de App Service, una aplicación web de App Service y el código fuente desde GitHub.
Reemplace <your-site-name> por un nombre único para la aplicación web. El nombre de la aplicación web debe ser único, ya que es parte de la entrada 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
La implementación puede tardar unos minutos en completarse. Después de que la implementación se haya realizado correctamente, puede ver la aplicación web para asegurarse de que se está ejecutando. En un explorador web, vaya a: https://<your-site-name>.azurewebsites.net
Debería ver el sitio, que no muestra ningún mensaje actualmente.
Suscripción al evento de Azure Cache for Redis
En este paso, se suscribirá a un tema para indicarle a Event Grid qué eventos quiere seguir. En el ejemplo siguiente, se suscribirá a la instancia de caché que ha creado, y pasará la URL desde su aplicación web como punto de conexión para la notificación de eventos. El punto de conexión de la aplicación web debe incluir el sufijo /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
Vuelva a la aplicación web y observe que se ha enviado un evento de validación de suscripción. Seleccione el icono del ojo para expandir los datos del evento. Event Grid envía el evento de validación para que el punto de conexión pueda verificar que desea recibir datos de eventos. La aplicación web incluye código para validar la suscripción.
Desencadenamiento de un evento desde Azure Cache for Redis
Ahora, vamos a desencadenar un evento para ver cómo Event Grid distribuye el mensaje al punto de conexión.
Import-AzRedisCache
[-ResourceGroupName <String>]
-Name <String>
-Files <String[]>
[-Format <String>]
[-Force]
[-PassThru]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Para más información sobre la importación en PowerShell, consulte la referencia de Azure PowerShell.
Ha desencadenado el evento y Event Grid ha enviado el mensaje al punto de conexión que configuró al realizar la suscripción. Vaya a la aplicación web para ver el evento que acaba de enviar.
[{
"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"
}]
Limpieza de recursos
Si tiene previsto seguir trabajando con esta instancia y suscripción a eventos de Azure Cache for Redis, no limpie los recursos creados en esta guía de inicio rápido. Si no tiene previsto continuar, use el siguiente comando para eliminar los recursos que creó en este inicio rápido.
Remove-AzResourceGroup -Name $resourceGroup
Pasos siguientes
Ahora que sabe cómo crear temas y suscripciones de eventos, obtenga más información sobre los eventos de Azure Cache for Redis y lo que Event Grid puede ayudarle a hacer: