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 eventos facilmente em vários serviços e aplicativos diferentes do Azure. Ela simplifica a criação de aplicativos orientados a eventos e sem servidor. Para uma visão geral do serviço, consulte Visão geral da Grade de Eventos.

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

  1. Criar uma conta de armazenamento de Blobs.
  2. Assinar eventos para esse armazenamento de blob.
  3. Disparar um evento carregando um arquivo no armazenamento de Blobs.
  4. Exibir o resultado em um aplicativo Web manipulador. Normalmente, você envia eventos para um ponto de extremidade que processa os dados de evento e realiza ações. Para simplificar, você enviará eventos para um aplicativo Web que coleta e exibe as mensagens.

Caso você não tenha uma assinatura do Azure, crie uma conta gratuita do Azure antes de começar.

Ao concluir, você verá que os dados do evento foram enviados para um aplicativo Web.

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

Criar uma conta de armazenamento

  1. Entre no Portal do Azure.

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

  3. Em Pesquisar, insira Conta de armazenamentoe 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 assinar eventos, crie uma conta de armazenamento v2 para uso geral ou uma conta de armazenamento de blobs.

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

    1. Selecione sua assinatura do Azure.

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

    3. Insira o nome para a conta de armazenamento.

    4. Selecione a Região na qual deseja que a conta de armazenamento seja criada.

    5. Para Redundância, selecione LRS (armazenamento com redundância local) 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 de Revisão, examine as configurações e selecione Criar.

      Observação

      Somente contas de armazenamento do tipo StorageV2 (v2 de uso geral) e BlobStorage dão suporte à integração de eventos. O armazenamento (v1 de uso geral)não dá suporte à integração da Grade de Eventos.

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

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

  7. Na página da Conta de armazenamento, selecione Eventos no menu esquerdo.

    Screenshot showing the Events page for an Azure storage account.

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

Criar um ponto de extremidade de mensagem

Antes de assinar eventos para o armazenamento de Blobs, vamos criar o ponto de extremidade para mensagens de evento. Normalmente, o ponto de extremidade executa ações com base nos dados de evento. Para simplificar esse início rápido, implante um aplicativo web predefinido que exiba as mensagens do evento. A solução implantada inclui um plano do Serviço de Aplicativo, um aplicativo Web do Aplicativo do Serviço de e o código-fonte do GitHub.

  1. Selecione Implantar no Azure para implantar a solução na sua assinatura.

    Button to deploy the Resource Manager template to Azure.

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

    1. Para Grupo de recursos, selecione o mesmo grupo de recursos que você usou ao criar a conta de armazenamento. Será mais fácil limpar após concluir 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 usar para hospedar o aplicativo Web.

    4. Selecione Examinar + criar.

      Screenshot showing the Custom deployment page.

  3. Na página Examinar + criar escolha 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 verá 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 para seu aplicativo Web, selecione a URL para navegar até o site da Web. A 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 você vê o site, mas que nenhum evento foi postado nele ainda.

    View new site.

    Importante

    Mantenha a janela Visualizador de Eventos da Grade de Eventos do Azure aberta para ver os eventos conforme eles são postados.

Registrar o provedor de recursos da Grade de Eventos

A menos que você tenha usado a Grade de Eventos antes, precisará registrar o provedor de recursos da Grade de Eventos. Se você tiver usado a Grade de Eventos antes, pule para a próxima seção.

No portal do Azure, siga as etapas abaixo:

  1. No menu à esquerda, selecione Assinaturas.

  2. Selecione a assinatura que você deseja usar para a Grade de Eventos na lista de assinaturas.

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

  4. Pesquise por Microsoft.EventGrid e confirme que o Status é Não 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 do Microsoft.EventGrid foi alterado para Registrado.

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

Inscreva-se no armazenamento de Blobs

Assine um tópico para indicar à Grade de Eventos quais eventos você deseja acompanhar e para onde enviar os eventos.

  1. Se você fechou a página Conta de armazenamento, navegue até a conta de Armazenamento do Microsoft Azure que você criou anteriormente. No menu esquerdo, selecione Todos os recursos e, em seguida, selecione sua conta de armazenamento.

  2. Na página da Conta de armazenamento, selecione Eventos no menu esquerdo.

  3. Selecione Mais opções e Web Hook. Você está enviando eventos ao aplicativo visualizador usando um web hook para o ponto de extremidade.

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

  4. Na página Criar Assinatura de Eventos, faça o seguinte:

    1. Insira um nome para a assinatura de evento.

    2. Insira um nome para o tópico do sistema. Para saber mais sobre os tópicos do sistema, confira 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 de extremidade.

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

  5. Para Ponto de extremidade, escolha Selecionar um ponto de extremidade, insira a URL do aplicativo Web, 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 de evento.

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

  7. Exiba novamente o seu aplicativo Web e observe que um evento de validação de assinatura foi enviado a ele. Selecione o ícone de olho para expandir os dados de evento. A Grade de Eventos envia o evento de validação de modo que o ponto de extremidade possa verificar se ele deseja receber os dados de evento. O aplicativo Web inclui o código para validar a assinatura.

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

Agora, vamos disparar um evento para ver como a Grade de Eventos distribui a mensagem para o ponto de extremidade.

Enviar um evento para o ponto de extremidade

Você pode disparar um evento para o armazenamento de Blobs carregando um arquivo. O arquivo não precisa de um conteúdo específico.

  1. No portal do Azure, navegue até a conta do Armazenamento de Blobs e selecione Contêineres no menu à esquerda.

  2. Selecionar + Contêiner. 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 contêiner.

    Screenshot showing the selection of the container.

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

    Screenshot showing Upload blob page.

  5. Navegue até seu arquivo de teste e carregue-o.

  6. Você disparou o evento, e a Grade de Eventos enviou a mensagem para o ponto de extremidade configurado durante a assinatura. 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. Veja 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.

Limpar os recursos

Caso planeje continuar a trabalhar com esse evento, não limpe os recursos criados neste artigo. Caso contrário, exclua os recursos criados neste artigo.

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

Próximas etapas

Agora que você sabe como criar tópicos e assinaturas de evento personalizados, saiba mais sobre como a Grade de Eventos pode ajudá-lo: