Compartilhar via


Tutorial: Responder aos eventos do Barramento de Serviço do Azure recebidos usando a Grade de Eventos do Azure usando os Aplicativos Lógicos do Azure

Neste tutorial, você aprenderá a responder aos eventos do Barramento de Serviço do Azure recebidos usando a Grade de Eventos do Azure usando os Aplicativos Lógicos do Azure.

Pré-requisitos

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

Criar um namespace do Barramento de Serviço

Siga as instruções neste tutorial: Início Rápido: Use o portal do Azure para criar um tópico do Barramento de Serviço e assinaturas para o tópico para realizar as seguintes tarefas:

  • Criar um namespace premium do Barramento de Serviço.
  • Obter a cadeia de conexão.
  • Criar um tópico de Barramento de Serviço.
  • Crie uma assinatura para o tópico. Você precisa de apenas uma assinatura neste tutorial, portanto, não há necessidade de criar assinaturas S2 e S3.

Enviar mensagens para o tópico do Barramento de Serviço

Nesta seção, você usará um aplicativo de exemplo para enviar mensagens para o tópico do Service Bus criado na seção anterior.

  1. Clone o repositório GitHub azure-service-bus ou baixe o arquivo zip e extraia os arquivos dele.

  2. No Visual Studio, acesse a pasta \samples\DotNet\Azure.Messaging.ServiceBus\ServiceBusEventGridIntegrationV2 e abra o arquivo SBEventGridIntegration.sln.

  3. Na janela Gerenciador de Soluções , expanda o projeto MessageSender e selecione Program.cs.

  4. Substitua <SERVICE BUS NAMESPACE - CONNECTION STRING> pela cadeia de conexão do namespace do Barramento de Serviço e <TOPIC NAME> pelo nome do tópico.

    const string ServiceBusConnectionString = "<SERVICE BUS NAMESPACE - CONNECTION STRING>";
    const string TopicName = "<TOPIC NAME>";
    
  5. Crie e execute o programa para enviar cinco mensagens de teste (const int numberOfMessages = 5;) para o tópico do Barramento de Serviço.

    A captura de tela mostra a saída do aplicativo de console, enviando 5 mensagens.

Receber mensagens usando os Aplicativos Lógicos

** Nesta seção, crie um aplicativo de lógica do Azure que receba eventos do Azure Service Bus usando o Azure Event Grid.

  1. Selecione + Criar um recurso, selecione Integração e selecione Aplicativo Lógico.

    Captura de tela que mostra o menu Criar um recurso > Integration > Logic app.

  2. Na página Criar Aplicativo Lógico , siga estas etapas:

    1. Selecione a opção Consumo>Multilocatário e escolha Selecionar.

    2. Selecione sua Assinatura do Azure.

    3. Insira um Grupo de Recursos. Selecione o grupo de recursos que você usou para outros recursos, como o namespace do Barramento de Serviço, criado anteriormente.

    4. Insira um nome para o aplicativo lógico.

    5. Selecione a Região para o aplicativo lógico.

    6. Selecione Examinar + criar.

      Captura de tela que mostra a página Criar um aplicativo lógico.

    7. Na página Revisar + Criar , selecione Criar para criar o aplicativo lógico.

  3. Na página Implantação concluída, selecione Ir para o recurso para navegar até a página Logic app.

Adicionar uma etapa para a recepção de mensagens do Service Bus usando o Event Grid

  1. Expanda ferramentas de desenvolvimento e selecione modelos de aplicativo lógico.

    Captura de tela que mostra a página do designer de aplicativo Logic com a opção Blank selecionada.

  2. Selecione fluxo de trabalho em branco. O Designer de aplicativo lógico é aberto.

  3. No designer, siga as seguintes etapas:

    1. Selecione Adicionar um gatilho e, em seguida, pesquise por Event Grid.

    2. Selecione Quando ocorrer um evento de recurso.

      Captura de tela que mostra o Designer de Aplicativos Lógicos com o gatilho da Grade de Eventos selecionado.

  4. Selecione Entrar.

    Captura de tela que mostra o Designer de Aplicativos Lógicos com o botão Entrar selecionado.

  5. Na página Entrar na sua conta , selecione a conta que você deseja usar para entrar no Azure.

  6. Na página Quando um evento de recurso ocorre, execute as seguintes etapas :

    1. Para Tipo de Recurso, selecione Microsoft.ServiceBus.Namespaces.

    2. Selecione sua assinatura do Azure.

    3. Para Nome de recurso, selecione seu namespace do Barramento de Serviço.

    4. Em Parâmetros avançados, selecione a seta para baixo.

    5. Selecione Filtro de Sufixo e mova o foco para fora da lista suspensa.

      Captura de tela que mostra a adição de um novo parâmetro do tipo filtro sufixo.

    6. Para Filtro de Sufixo, insira o nome da sua assinatura do tópico do Barramento de Serviço.

      Captura de tela mostrando o Designer de Aplicativos Lógicos com configuração de conexão para o namespace do Barramento de Serviço.

  7. Selecione o + sinal e, em seguida, selecione Adicionar uma ação.

    1. Pesquise Barramento de Serviço.

      Captura de tela mostrando a seleção do Barramento de Serviço.

    2. Selecione Ver mais e, em seguida, selecione Obter mensagens de uma assinatura de tópico (peek-lock).

      Captura de tela mostrando o Designer de Aplicativos Lógicos com Obter mensagens de uma assinatura de tópico selecionada.

    3. Siga estas etapas:

      1. Insira um nome para a conexão. Por exemplo: Obter mensagens da assinatura do tópico.

      2. Confirme se o Tipo de Autenticação está definido como Chave de Acesso.

      3. Para Cadeia de Conexão, copie e cole a cadeia de conexão no namespace do Barramento de Serviço que você salvou anteriormente.

      4. Selecione Criar novo.

        Captura de tela mostrando o Designer de Aplicativos Lógicos com a cadeia de conexão do Barramento de Serviço especificada.

    4. Selecione seu tópico e assinatura.

      Captura de tela mostrando o Designer de Aplicativos Lógicos com o tópico e a assinatura do Barramento de Serviço especificados.

Adicionar uma etapa para processar e concluir as mensagens recebidas

Nesta seção, você adicionará etapas para enviar a mensagem recebida em um email e, em seguida, concluir a mensagem. Em um cenário do mundo real, você processa uma mensagem no aplicativo lógico antes de concluir a mensagem.

Adicionar um loop foreach

  1. Selecione o + sinal e, em seguida, selecione Adicionar uma ação.

  2. Pesquise e selecione Para cada.

    Captura de tela que mostra a operação For-each selecionada.

  3. Para Selecionar um resultado das etapas anteriores, selecione o raio ou insira / e selecione Inserir conteúdo dinâmico.

  4. Selecione Corpo em Obter mensagens de uma assinatura de tópico (peek-lock).

    Captura de tela mostrando a seleção de entrada do For-each.

Adicionar uma etapa dentro do loop foreach para enviar um email com o corpo da mensagem

  1. No loop For Each , selecione +e, em seguida, selecione Adicionar uma ação.

    Captura de tela que mostra a seleção do botão + no loop For-each.

  2. Pesquise o Office 365 e selecione Ver mais.

  3. Selecione o Office 365 Outlook nos resultados da pesquisa.

    Captura de tela que mostra a seleção do Office 365.

  4. Na lista de ações, selecione Enviar um email (V2).

    Captura de tela que mostra a seleção de Enviar uma operação de email.

  5. Selecione Entrar e siga as etapas para criar uma conexão com o Office 365 Outlook.

  6. Na janela Enviar um email (V2 ), siga estas etapas:

  7. Selecione dentro da caixa de texto para Corpo e siga estas etapas:

    1. Para isso, insira um endereço de email.

    2. Para Assunto, insira Mensagem recebida da assinatura do tópico do Service Bus.

    3. No Corpo, selecione a expressão ou insira / e selecione Inserir expressão.

    4. Insira a expressão a seguir:

      base64ToString(items('For_each')?['ContentData'])
      
    5. Selecione Adicionar.

      Captura de tela mostrando a expressão para Corpo da atividade Enviar um email.

Adicionar outra ação no loop foreach para concluir a mensagem

  1. No loop For Each , selecione +e, em seguida, selecione Adicionar uma ação.

    1. Pesquise Barramento de Serviço.

    2. Selecione Concluir a mensagem em uma assinatura de tópico na lista de ações.

      Captura de tela que mostra a seleção de Concluir uma mensagem em uma assinatura de tópico.

    3. Selecione o tópico do Barramento de Serviço.

    4. Selecione uma assinatura para o tópico.

    5. Em Token de Bloqueio da Mensagem, selecione a expressão ou insira / e selecione Inserir expressão.

    6. Selecione conteúdo dinâmico e selecione Token de Bloqueio. Selecione Adicionar.

      Captura de tela que mostra o campo de token de bloqueio.

  2. Selecione Salvar na barra de ferramentas no Designer de Aplicativos Lógicos para salvar o aplicativo lógico.

    Captura de tela que mostra o botão Salvar no aplicativo lógico projetado.

Testar o aplicativo

  1. Se você ainda não enviou mensagens de teste para o tópico, siga as instruções descritas na seção Enviar mensagens ao tópico do Barramento de Serviço para enviar mensagens ao tópico.

  2. Navegue até a página Visão geral do aplicativo lógico. Em seguida, selecione a guia Histórico de execuções no painel inferior. Você verá que o aplicativo lógico executa mensagens que foram enviadas para o tópico. Pode levar alguns minutos até que você veja a execução do aplicativo lógico. Selecione Atualizar na barra de ferramentas para atualizar a página.

    Captura de tela que mostra o histórico de execução do aplicativo lógico.

  3. Selecione uma execução de aplicativo lógico para ver os detalhes. Observe que ele processou cinco mensagens no loop for.

    Captura de tela que mostra os detalhes da execução do aplicativo lógico selecionado.

  4. Você deve receber um email para cada mensagem recebida pelo aplicativo lógico.

    Captura de tela do Outlook com as mensagens recebidas da assinatura de tópicos.

Solucionar problemas

Se você não vir nenhuma invocação depois de aguardar e atualizar a página por algum tempo, siga estas etapas:

  1. Confirme se as mensagens chegaram no tópico do Barramento de Serviço. Confira o contador mensagens de entrada na página Tópico do Barramento de Serviço. Nesse caso, o aplicativo MessageSender é executado uma vez, portanto, há cinco mensagens.

    Captura de tela mostrando a página Tópico do Barramento de Serviço com a contagem de mensagens recebidas selecionada.

  2. Confirme se não há mensagens ativas na assinatura do Barramento de Serviço.

    Se você não vir nenhum evento nessa página, verifique se a página Assinatura do Barramento de Serviço não mostra nenhuma Contagem de mensagens ativas. Se o número desse contador for maior que zero, as mensagens da assinatura não serão encaminhadas para a função de manipulador (manipulador de assinaturas de evento) por algum motivo. Verifique se você configurou a assinatura do evento corretamente.

    Captura de tela que mostra a página de Assinatura do Service Bus com a contagem de mensagens ativas selecionada.

  3. Você também verá os eventos entregues na página Eventos do namespace do Barramento de Serviço.

    Captura de tela mostrando a página Eventos da página Namespace do Barramento de Serviço.

  4. Você também verá que os eventos são entregues na página Assinatura de Evento. Acesse essa página selecionando a assinatura de evento na página Eventos.

    Captura de tela que mostra a página Assinatura de Eventos com a contagem de eventos entregue selecionada.