Início Rápido: Encaminhar eventos Cache do Azure para Redis para o ponto final Web com o PowerShell
O Azure Event Grid é um serviço de eventos para a cloud. Neste início rápido, irá utilizar Azure PowerShell para subscrever Cache do Azure para Redis eventos, acionar um evento e ver os resultados.
Normalmente, envia eventos para um ponto final que processa os dados de eventos e efetua ações. No entanto, para simplificar este início rápido, irá enviar eventos para uma aplicação Web que irá recolher e apresentar as mensagens. Quando concluir os passos descritos neste início rápido, verá que os dados do evento foram enviados para a aplicação Web.
Configuração
Este início rápido requer que esteja a executar a versão mais recente do Azure PowerShell. Se precisar de instalar ou atualizar, consulte Instalar e configurar Azure PowerShell.
Iniciar sessão no Azure
Inicie sessão na sua subscrição do Azure com o Connect-AzAccount
comando e siga as instruções apresentadas no ecrã para se autenticar.
Connect-AzAccount
Este exemplo utiliza westus2 e armazena a seleção numa variável para utilização.
$location = "westus2"
Criar um grupo de recursos
Os tópicos do Event Grid são implementados como recursos individuais do Azure e têm de ser aprovisionados num grupo de recursos do Azure. Um grupo de recursos é uma coleção lógica na qual os recursos do Azure são implementados e geridos.
Crie um grupo de recursos com o comando New-AzResourceGroup .
O exemplo seguinte cria um grupo de recursos com o nome gridResourceGroup na localização westus2.
$resourceGroup = "gridResourceGroup"
New-AzResourceGroup -Name $resourceGroup -Location $location
Criar uma instância do Cache do Azure para 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>]
Para obter mais informações sobre como criar uma instância de cache no PowerShell, veja a referência Azure PowerShell.
Criar um ponto final de mensagem
Antes de subscrever o tópico, vamos criar o ponto final para a mensagem de evento. Normalmente, o ponto final executa as ações com base nos dados do evento. Para simplificar este início rápido, vai implementar uma aplicação Web pré-criada para apresentar as mensagens de evento. A solução implementada inclui um plano do Serviço de Aplicações, uma aplicação Web do Serviço de Aplicações e o código de origem do GitHub.
Substitua <your-site-name>
por um nome exclusivo para a aplicação Web. O nome da aplicação Web deve ser exclusivo, porque faz parte da 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
A implementação pode demorar alguns minutos. Após a implementação ter sido concluída com êxito, verifique a aplicação Web para verificar se está em execução. Num browser, navegue para: https://<your-site-name>.azurewebsites.net
Deverá ver o site sem mensagens atualmente apresentadas.
Subscrever o evento de Cache do Azure para Redis
Neste passo, irá subscrever um tópico para indicar ao Event Grid quais os eventos que pretende controlar. O exemplo seguinte subscreve a instância de cache que criou e transmite o URL da sua aplicação Web como o ponto final da notificação de evento. O ponto final para a aplicação Web tem de incluir o sufixo /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
Verifique a aplicação Web novamente e repare que um evento de validação de subscrição foi enviado para a mesma. Selecione o ícone do olho para expandir os dados do evento. O Event Grid envia o evento de validação para que o ponto final possa verificar que pretende receber dados de eventos. A aplicação Web inclui código para validar a subscrição.
Acionar um evento a partir de Cache do Azure para Redis
Agora, vamos acionar um evento para ver como o Event Grid distribui a mensagem para o ponto final.
Import-AzRedisCache
[-ResourceGroupName <String>]
-Name <String>
-Files <String[]>
[-Format <String>]
[-Force]
[-PassThru]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Para obter mais informações sobre a importação no PowerShell, veja a referência Azure PowerShell.
Acionou o evento e o Event Grid enviou a mensagem para o ponto final que configurou ao subscrever. Verifique a aplicação Web para ver o evento que acabámos 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"
}]
Limpar os recursos
Se pretender continuar a trabalhar com este Cache do Azure para Redis subscrição de eventos e instâncias, não limpe os recursos criados neste início rápido. Se não quiser continuar, utilize o seguinte comando para eliminar os recursos que criou neste início rápido.
Remove-AzResourceGroup -Name $resourceGroup
Passos seguintes
Agora que sabe como criar tópicos e subscrições de eventos, saiba mais sobre Cache do Azure para Redis eventos e o que o Event Grid pode ajudar a fazer: