Usar a Grade de Eventos do Azure para rotear eventos de armazenamento de Blob para o ponto de extremidade da Web (portal do Azure)

A Grade de Eventos é um serviço totalmente gerenciado que permite gerenciar facilmente eventos em muitos serviços e aplicativos diferentes do Azure. Ele simplifica a criação de aplicativos orientados a eventos e sem servidor. Para obter uma visão geral do serviço, consulte Visão geral da grade de eventos.

Neste artigo, você usa o portal do Azure para executar as seguintes tarefas:

  1. Crie uma conta de armazenamento de Blob.
  2. Inscreva-se em eventos para esse armazenamento de blob.
  3. Acione um evento carregando um arquivo no armazenamento de blob.
  4. Exiba o resultado em um aplicativo Web manipulador. Normalmente, envia eventos para um ponto final que processa os dados de eventos e efetua ações. Para simplificar, envie eventos para um aplicativo Web que coleta e exibe as mensagens.

Se não tiver uma subscrição do Azure, crie uma conta gratuita do Azure antes de começar.

Quando tiver terminado, verá que os dados do evento foram enviados para a aplicação Web.

Screenshot that shows the sample Azure Event Grid Viewer app with an event.

Criar uma conta de armazenamento

  1. Inicie sessão no portal do Azure.

  2. Para criar um armazenamento de Blobs, selecione Criar um recurso.

  3. Na Pesquisa, insira Conta de armazenamento e selecione Conta de armazenamento na lista de resultados.

    Screenshot showing the search for Storage account on the Create a resource page.

  4. Na página Conta de armazenamento, selecione Criar para começar a criar a conta de armazenamento. Para subscrever eventos, tem de criar uma conta de armazenamento de Blobs ou uma conta de armazenamento de fins gerais v2.

  5. Na página Criar conta de armazenamento, execute as seguintes etapas:

    1. Selecione a subscrição do Azure.

    2. Para Grupo de recursos, crie um novo grupo de recursos ou selecione um existente.

    3. Introduza o nome da conta de armazenamento.

    4. Selecione a região na qual você deseja que a conta de armazenamento seja criada.

    5. Em Redundância, selecione Armazenamento com redundância local (LRS) na lista suspensa.

    6. Selecione Revisão na parte inferior da página.

      Screenshot showing the Create a storage account page.

    7. Na página Revisão, revise as configurações e selecione Criar.

      Nota

      Apenas contas de armazenamento do tipo StorageV2 (uso geral v2) e BlobStorage suportam a integração de eventos. O armazenamento (finalidade geral v1)não suporta a integração com a Grade de Eventos.

  6. A implantação leva alguns minutos para ser concluída. Na página Implantação, selecione Ir para recurso.

    Screenshot showing the deployment succeeded page with a link to go to the resource.

  7. Na página Conta de armazenamento, selecione Eventos no menu à esquerda.

    Screenshot showing the Events page for an Azure storage account.

  8. Mantenha esta página no navegador da Web aberta.

Criar um ponto final de mensagem

Antes de subscrever aos eventos do armazenamento de Blobs, 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 esse início rápido, implante um aplicativo Web pré-criado que exibe as mensagens do 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.

  1. Selecione Implementar no Azure para implementar a solução para a sua subscrição.

    Button to deploy the Resource Manager template to Azure.

  2. Na página Implantação personalizada, execute as seguintes etapas:

    1. Em Grupo de recursos, selecione o grupo de recursos que você criou ao criar a conta de armazenamento. Será mais fácil para você limpar depois de terminar o tutorial, excluindo o grupo de recursos.

    2. Em Nome do Site, insira um nome para o aplicativo Web.

    3. Em Nome do plano de hospedagem, insira um nome para o plano do Serviço de Aplicativo a ser usado para hospedar o aplicativo Web.

    4. Selecione Rever + criar.

      Screenshot showing the Custom deployment page.

  3. Na página Rever + criar, selecione Criar.

  4. A implantação leva alguns minutos para ser concluída. Na página Implantação, selecione Ir para o grupo de recursos.

    Screenshot showing the deployment succeeded page with a link to go to the resource group.

  5. Na página Grupo de recursos, na lista de recursos, selecione o aplicativo Web que você criou. Você também vê o plano do Serviço de Aplicativo e a conta de armazenamento nesta lista.

    Screenshot that shows the selection of web app in the resource group.

  6. Na página Serviço de Aplicativo do seu aplicativo Web, selecione a URL para navegar até o site. O URL deve estar neste formato: https://<your-site-name>.azurewebsites.net.

    Screenshot that shows the selection of link to navigate to web app.

  7. Confirme que vê o site, mas que ainda não foram publicados eventos no mesmo.

    View new site.

    Importante

    Mantenha a janela do Visualizador de Grade de Eventos do Azure aberta para que você possa ver os eventos à medida que são publicados.

Registrar o provedor de recursos da Grade de Eventos

A menos que você já tenha usado a Grade de Eventos antes, precisará registrar o provedor de recursos da Grade de Eventos. Se já utilizou a Grelha de Eventos antes, avance para a secção seguinte.

No portal do Azure, execute as seguintes etapas:

  1. No menu à esquerda, selecione Assinaturas.

  2. Selecione a subscrição que pretende utilizar para a Grelha de Eventos na lista de subscrições.

  3. Na página Assinatura, selecione Provedores de recursos em Configurações no menu à esquerda.

  4. Procure Microsoft.EventGrid e confirme se o Status não está registrado.

  5. Selecione Microsoft.EventGrid na lista de provedores.

  6. Selecione Registrar na barra de comandos.

    Image showing the registration of Microsoft.EventGrid provider with the Azure subscription.

  7. Atualize para verificar se o status de Microsoft.EventGrid foi alterado para Registrado.

    Image showing the successful registration of Microsoft.EventGrid provider with the Azure subscription.

Subscrever a conta de armazenamento de Blobs

Subscreva um tópico para comunicar ao Event Grid os eventos que pretende controlar e para onde enviar os eventos.

  1. Se você fechou a página Conta de armazenamento , navegue até sua conta de Armazenamento do Azure criada anteriormente. No menu à esquerda, selecione Todos os recursos e selecione sua conta de armazenamento.

  2. Na página Conta de armazenamento, selecione Eventos no menu à esquerda.

  3. Selecione Mais Opções, e Webhook. Você está enviando eventos para seu aplicativo visualizador usando um gancho da Web para o ponto de extremidade.

    Screenshot showing the selection of Web Hook on the Events page.

  4. Na página Criar Assinatura de Evento , execute as seguintes etapas:

    1. Insira um nome para a assinatura do evento.

    2. Insira um nome para o tópico do sistema. Para saber mais sobre tópicos do sistema, consulte Visão geral dos tópicos do sistema.

      Screenshot showing the Create Event Subscription page with a name for the system topic.

    3. Selecione Web Hook para o tipo de ponto final.

      Screenshot showing the Create Event Subscription page with Web Hook selected as an endpoint.

  5. Em Ponto de extremidade, escolha Selecionar um ponto de extremidade, insira a URL do seu aplicativo Web e adicione api/updates à URL da página inicial (por exemplo: https://spegridsite.azurewebsites.net/api/updates) e, em seguida, selecione Confirmar seleção.

    Screenshot showing the Select Web Hook page.

  6. Agora, na página Criar Assinatura de Evento , selecione Criar para criar a assinatura do evento.

    Screenshot showing the Create Event Subscription page with all fields selected.

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

    Screenshot showing the Event Grid Viewer with the subscription validation event.

Agora, vamos acionar um evento para ver como o Event Grid distribui a mensagem para o ponto final.

Enviar um evento para o seu ponto final

Aciona um evento para o armazenamento de Blobs ao carregar um ficheiro. O ficheiro não precisa de qualquer conteúdo específico.

  1. No portal do Azure, navegue até sua conta de armazenamento de Blob e selecione Contêineres no menu permitir.

  2. Selecionar + Contentor. Dê um nome ao contêiner, use qualquer nível de acesso e selecione Criar.

    Screenshot showing the New container page.

  3. Selecione o novo contentor.

    Screenshot showing the selection of the container.

  4. Para carregar um ficheiro, selecione Carregar. Na página Carregar blob, procure e selecione um arquivo que você deseja carregar para teste e, em seguida, selecione Carregar nessa página.

    Screenshot showing Upload blob page.

  5. Navegue para o ficheiro de teste e carregue-o.

  6. Acionou o evento e o Event Grid enviou a mensagem para o ponto final que configurou ao subscrever. A mensagem está no formato JSON e contém uma matriz com um ou mais eventos. No exemplo a seguir, a mensagem JSON contém uma matriz com um evento. Exiba seu aplicativo Web e observe que um evento criado por blob foi recebido.

    Screenshot showing the Event Grid Viewer page with the Blob Created event.

Clean up resources (Limpar recursos)

Se quiser continuar a trabalhar com este evento, não limpe os recursos criados neste artigo. Caso contrário, elimine os recursos que criou neste artigo.

Selecione o grupo de recursos e selecione Eliminar grupo de recursos.

Próximos passos

Agora que sabe como criar tópicos personalizados e subscrições de eventos, saiba mais sobre o que o Event Grid pode ajudá-lo a fazer: