Tutorial: Responder aos eventos do Barramento de Serviço do Azure recebidos por meio da 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 por meio da 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 deste tutorial: Início Rápido: Usar o portal do Azure para criar um tópico do Barramento de Serviço e assinaturas para o tópico para executar 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 etapa, você usa um aplicativo de exemplo para enviar mensagens para o tópico do Barramento de Serviço criado na etapa 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.

    Saída do aplicativo de console

Receber mensagens usando os Aplicativos Lógicos

Nesta etapa, você criará um aplicativo lógico do Azure que recebe eventos do Barramento de Serviço por meio da Grade de Eventos do Azure.

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

    Captura de tela mostrando o menu Criar um recurso –> Integração –> Menu do Aplicativo Lógico.

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

    1. Selecione sua assinaturado Azure.
    2. Selecione Usar existente para o Grupo de recursos e selecione o grupo de recursos que você usou para outros recursos (como a função do Azure, o namespace do Barramento de Serviço) criados anteriormente.
    3. Insira um nome para o aplicativo lógico.
    4. Selecione a Região do aplicativo lógico.
    5. Para Tipo de plano, selecione Consumo.
    6. Selecione Examinar + criar. Captura de tela mostrando a página Criar um aplicativo lógico.
    7. Na página Examinar + criar, selecione Criar para criar o aplicativo lógico.
  3. Na página Conclusão da Implantação, selecione Ir para o recurso para navegar até a página Aplicativo lógico.

  4. Na página Designer de Aplicativos Lógicos, selecione Aplicativo Lógico em Branco em Modelos.

Adicionar uma etapa de recebimento de mensagens de Barramento de Serviço por meio da Grade de Eventos

  1. Na página Ativado, selecione Designer do Aplicativo Lógico no menu à esquerda.

  2. No painel direito, em Modelos, selecione Aplicativo Lógico em Branco.

    Captura de tela mostrando a página do Designer de Aplicativo Lógico com a opção Aplicativo lógico em branco selecionada.

  3. No designer, siga as seguintes etapas:

    1. Pesquise Grade de Eventos.

    2. Selecione Quando ocorrer um evento de recurso – Grade de Eventos do Azure.

      Captura de tela mostrando o Designer de Aplicativos Lógicos com o acionador da Grade de Eventos selecionado.

  4. Selecione Entrar.

    Captura de tela mostrando 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ê deve usar para entrar no Azure. 1.

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

    1. Selecione sua assinatura do Azure.

    2. Para Tipo de recurso, selecione Microsoft.ServiceBus.Namespaces.

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

    4. Selecione Adicionar novo parâmetro, selecione Filtro de sufixo e, em seguida, mova o foco para fora da lista suspensa.

      Captura de tela mostrando a adição de um novo parâmetro do tipo filtro Suffix.

    5. 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 + Nova Etapa no designer e siga as etapas abaixo:

    1. Pesquise Barramento de Serviço.

    2. Selecione Barramento de Serviço na lista.

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

    3. Selecione Receber mensagens na lista Ações.

    4. Selecione Receber mensagens de uma assinatura do tópico (bloqueio de inspeção) .

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

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

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

    6. Selecione seu tópico e sua 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 mensagens recebidas

Nessa etapa, você deve adicionar etapas para enviar a mensagem recebida em um email e, em seguida, concluir a mensagem. Em um cenário real, você deve processar uma mensagem no aplicativo lógico antes de concluir a mensagem.

Adicionar um loop foreach

  1. Selecione + Nova Etapa.

  2. Pesquise e, em seguida, selecione Controlar.

    Captura de tela mostrando a categoria Controle.

  3. Na lista Ações, selecione For each.

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

  4. Para Selecionar um resultado das etapas anteriores (clique dentro da caixa de texto se necessário), 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.

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

  1. No loop For each, selecione Adicionar uma ação.

    Captura de tela mostrando a seleção do botão Adicionar uma ação no loop do For-each.

  2. Na caixa de texto Pesquisar conectores e ações, insira Office 365.

  3. Procure e selecione Office 365 Outlook na caixa de texto.

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

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

    Captura de tela mostrando 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 Corpo e siga estas etapas:

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

    2. Para Assunto, insira Mensagem recebida da assinatura do tópico de Barramento de Serviço.

    3. Alternar para Expressão.

    4. Insira a expressão a seguir:

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

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

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

  1. No loop For each, selecione Adicionar uma ação.

    1. Selecione Barramento de Serviço na lista Recente.

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

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

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

    4. Selecione uma assinatura para o tópico.

    5. Para Lock token da mensagem, selecione Lock token em Conteúdo dinâmico.

      Captura de tela mostrando o campo do token de bloqueio.

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

    Captura de tela mostrando 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. Alterne para a Página de visão geral do seu aplicativo lógico e, em seguida, alterne para 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 para que você veja as execuções do aplicativo lógico. Selecione Atualizar na barra de ferramentas para atualizar a página.

    Captura de tela mostrando 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 ela processou cinco mensagens no loop for.

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

  4. Você deve receber um email para cada mensagem que o aplicativo lógico receber.

    Captura de tela do Outlook com as mensagens recebidas da assinatura dos 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, executei o aplicativo MessageSender uma vez, portanto, vejo 5 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á nenhuma mensagem ativa 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 de evento corretamente.

    Captura de tela mostrando a página de Assinatura do Barramento de Serviço 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 mostrando a página Assinatura de Eventos com a contagem de eventos entregues selecionada.

Próximas etapas