Partilhar via


Inscreva-se e aguarde eventos para executar fluxos de trabalho usando webhooks HTTP nos Aplicativos Lógicos do Azure

Aplica-se a: Aplicativos Lógicos do Azure (Consumo + Padrão)

Em vez de usar um gatilho que verifica ou sonda regularmente um ponto de extremidade de serviço ou ação que chama esse ponto de extremidade, você pode usar um gatilho ou ação HTTP Webhook que assina um ponto de extremidade de serviço, aguarda eventos específicos e executa ações específicas em seu fluxo de trabalho.

Aqui estão alguns exemplos de fluxos de trabalho baseados em webhook:

Este guia mostra como usar o gatilho HTTP Webhook e a ação Webhook para que seu fluxo de trabalho possa receber e responder a eventos em um ponto de extremidade de serviço.

Como funcionam os webhooks?

Um gatilho de webhook é baseado em eventos, o que não depende da verificação ou sondagem regular de novos dados ou eventos. Depois de adicionar um gatilho de webhook a um fluxo de trabalho vazio e, em seguida, salvar o fluxo de trabalho, ou depois de reativar um recurso de aplicativo lógico desabilitado, o gatilho de webhook se inscreve no ponto de extremidade de serviço especificado registrando uma URL de retorno de chamada com esse ponto de extremidade. Em seguida, o gatilho aguarda que o ponto de extremidade do serviço chame a URL, que dispara o gatilho e inicia o fluxo de trabalho. Semelhante ao gatilho Request, um gatilho webhook é acionado imediatamente. O gatilho do webhook também permanece inscrito no ponto de extremidade do serviço, a menos que você execute manualmente as seguintes ações:

  • Altere os valores dos parâmetros do gatilho.
  • Exclua o gatilho e salve seu fluxo de trabalho.
  • Desative o recurso do aplicativo lógico.

Semelhante ao gatilho webhook, uma ação webhook funciona também é baseada em eventos. Depois de adicionar uma ação de webhook a um fluxo de trabalho existente e, em seguida, salvar o fluxo de trabalho, ou depois de reativar um recurso de aplicativo lógico desabilitado, a ação de webhook se inscreve no ponto de extremidade de serviço especificado registrando uma URL de retorno de chamada com esse ponto de extremidade. Quando o fluxo de trabalho é executado, a ação webhook pausa o fluxo de trabalho e aguarda até que o ponto de extremidade do serviço chame a URL antes que o fluxo de trabalho retome a execução. Uma ação de webhook cancela a inscrição do ponto de extremidade do serviço quando ocorrem as seguintes condições:

  • A ação do webhook é concluída com êxito.
  • A execução do fluxo de trabalho é cancelada enquanto aguarda uma resposta.
  • Antes que a execução de um fluxo de trabalho atinja o tempo limite.
  • Você altera quaisquer valores de parâmetros de ação do webhook que são usados como entradas por um gatilho do webhook.

Por exemplo, a ação Enviar email de aprovação do conector do Office 365 Outlook é um exemplo de ação de webhook que segue esse padrão. Você pode estender esse padrão para qualquer serviço usando a ação webhook.

Para obter mais informações, veja a seguinte documentação:

Para obter informações sobre criptografia, segurança e autorização para chamadas de entrada para seu aplicativo lógico, como Transport Layer Security (TLS), anteriormente conhecido como Secure Sockets Layer (SSL), ou Microsoft Entra ID Open Authentication (Microsoft Entra ID OAuth), consulte Acesso seguro e dados - Acesso para chamadas de entrada para gatilhos baseados em solicitação.

Referência técnica do conector

Para obter mais informações sobre parâmetros de gatilho e ação, consulte Parâmetros HTTP Webhook.

Pré-requisitos

  • Uma conta e subscrição do Azure. Se não tiver uma subscrição do Azure, inscreva-se para obter uma conta do Azure gratuita.

  • A URL de um ponto de extremidade ou API já implantado que suporta o padrão de assinatura e cancelamento de assinatura do webhook para gatilhos de webhook em fluxos de trabalho ou ações de webhook em fluxos de trabalho, conforme apropriado

  • O fluxo de trabalho do aplicativo lógico Padrão ou de Consumo no qual você deseja aguardar eventos específicos no ponto de extremidade de destino. Para começar com o gatilho HTTP Webhook, crie um aplicativo lógico com um fluxo de trabalho em branco. Para usar a ação HTTP Webhook, inicie seu fluxo de trabalho com qualquer gatilho desejado. Este exemplo usa o gatilho HTTP como a primeira etapa.

Adicionar um gatilho HTTP Webhook

Esse gatilho interno chama o ponto de extremidade de assinatura no serviço de destino e registra uma URL de retorno de chamada com o serviço de destino. Em seguida, o fluxo de trabalho aguarda que o serviço de destino envie uma HTTP POST solicitação para a URL de retorno de chamada. Quando esse evento acontece, o gatilho é acionado e passa todos os dados da solicitação para o fluxo de trabalho.

  1. No portal do Azure, abra seu aplicativo lógico padrão e fluxo de trabalho em branco no designer.

  2. Siga estas etapas gerais para adicionar o gatilho chamado HTTP Webhook ao seu fluxo de trabalho.

    Este exemplo renomeia o gatilho para HTTP Webhook trigger para que a etapa tenha um nome mais descritivo. Além disso, o exemplo adiciona posteriormente uma ação HTTP Webhook e ambos os nomes devem ser exclusivos.

  3. Forneça os valores para os parâmetros de gatilho HTTP Webhook que você deseja usar para as chamadas de assinatura e cancelamento de assinatura.

    Property Necessário Description
    Subscrição - Método Sim O método a ser usado ao assinar o ponto de extremidade de destino
    Subscrever - URI Sim A URL a ser usada para assinar o ponto de extremidade de destino
    Subscrever - Corpo Não Qualquer corpo de mensagem a incluir no pedido de subscrição. Este exemplo inclui a URL de retorno de chamada que identifica exclusivamente o assinante, que é seu aplicativo lógico, usando a expressão para recuperar a @listCallbackUrl() URL de retorno de chamada do aplicativo lógico.
    Cancelar inscrição - Método Não O método a ser usado ao cancelar a assinatura do ponto de extremidade de destino
    Cancelar inscrição - URI Não A URL a ser usada para cancelar a assinatura do ponto de extremidade de destino
    Cancelar inscrição - Corpo Não Um corpo de mensagem opcional para incluir na solicitação de cancelamento de inscrição

    Nota: Esta propriedade não suporta o uso da listCallbackUrl() função. No entanto, o gatilho inclui e envia automaticamente os cabeçalhos x-ms-client-tracking-id e x-ms-workflow-operation-name, que o serviço de destino pode usar para identificar exclusivamente o assinante.

    Nota

    Para as propriedades Unsubscribe - Method e Unsubscribe - URI , adicione-as à sua ação abrindo a lista Parâmetros avançados .

    Por exemplo, o gatilho a seguir inclui os métodos, URIs e corpos de mensagens a serem usados ao executar as operações de assinatura e cancelamento de assinatura.

    A captura de tela mostra o fluxo de trabalho padrão com parâmetros de gatilho HTTP Webhook.

    Se precisar usar a autenticação, você pode adicionar as propriedades Inscrever - Autenticação e Cancelar inscrição - Autenticação . Para obter mais informações sobre os tipos de autenticação disponíveis para HTTP Webhook, consulte Adicionar autenticação a chamadas de saída.

  4. Continue criando seu fluxo de trabalho com ações que são executadas quando o gatilho é acionado.

  5. Quando tiver terminado, guarde o fluxo de trabalho. Na barra de ferramentas do estruturador, selecione Guardar.

Salvar seu fluxo de trabalho chama o ponto de extremidade de assinatura no serviço de destino e registra a URL de retorno de chamada. Em seguida, o fluxo de trabalho aguarda que o serviço de destino envie uma HTTP POST solicitação para a URL de retorno de chamada. Quando esse evento acontece, o gatilho é acionado e passa todos os dados da solicitação para o fluxo de trabalho. Se essa operação for concluída com êxito, o gatilho cancelará a inscrição do ponto de extremidade e seu fluxo de trabalho continuará para a próxima ação.

Adicionar uma ação HTTP Webhook

Essa ação interna chama o ponto de extremidade de assinatura no serviço de destino e registra uma URL de retorno de chamada com o serviço de destino. Em seguida, o fluxo de trabalho pausa e aguarda que o serviço de destino envie uma HTTP POST solicitação para a URL de retorno de chamada. Quando esse evento acontece, a ação passa todos os dados da solicitação para o fluxo de trabalho. Se a operação for concluída com êxito, a ação será cancelada do ponto de extremidade e seu fluxo de trabalho continuará para a próxima ação.

Este exemplo usa o gatilho HTTP Webhook como a primeira etapa.

  1. No portal do Azure, abra seu aplicativo lógico padrão e fluxo de trabalho no designer.

  2. Siga estas etapas gerais para adicionar a ação chamada HTTP Webhook ao seu fluxo de trabalho.

    Este exemplo renomeia a ação para ação HTTP Webhook para que a etapa tenha um nome mais descritivo.

  3. Forneça os valores para os parâmetros de ação HTTP Webhook, que são semelhantes aos parâmetros de gatilho HTTP Webhook, que você deseja usar para as chamadas de assinatura e cancelamento de assinatura.

    Property Necessário Description
    Subscrição - Método Sim O método a ser usado ao assinar o ponto de extremidade de destino
    Subscrever - URI Sim A URL a ser usada para assinar o ponto de extremidade de destino
    Subscrever - Corpo Não Qualquer corpo de mensagem a incluir no pedido de subscrição. Este exemplo inclui a URL de retorno de chamada que identifica exclusivamente o assinante, que é seu aplicativo lógico, usando a expressão para recuperar a @listCallbackUrl() URL de retorno de chamada do aplicativo lógico.
    Cancelar inscrição - Método Não O método a ser usado ao cancelar a assinatura do ponto de extremidade de destino
    Cancelar inscrição - URI Não A URL a ser usada para cancelar a assinatura do ponto de extremidade de destino
    Cancelar inscrição - Corpo Não Um corpo de mensagem opcional para incluir na solicitação de cancelamento de inscrição

    Nota: Esta propriedade não suporta o uso da listCallbackUrl() função. No entanto, a ação inclui e envia automaticamente os cabeçalhos x-ms-client-tracking-id e x-ms-workflow-operation-name, que o serviço de destino pode usar para identificar exclusivamente o assinante.

    Nota

    Para as propriedades Unsubscribe - Method e Unsubscribe - URI , adicione-as à sua ação abrindo a lista Parâmetros avançados .

    Por exemplo, a ação a seguir inclui os métodos, URIs e corpos de mensagens a serem usados ao executar as operações de assinatura e cancelamento de assinatura.

    A captura de tela mostra o fluxo de trabalho padrão com parâmetros de ação HTTP Webhook.

  4. Para adicionar outras propriedades de ação, abra a lista Parâmetros avançados.

    Por exemplo, se você precisar usar autenticação, poderá adicionar as propriedades Inscrever - Autenticação e Cancelar inscrição - Autenticação . Para obter mais informações sobre os tipos de autenticação disponíveis para HTTP Webhook, consulte Adicionar autenticação a chamadas de saída.

  5. Quando tiver terminado, guarde o fluxo de trabalho. Na barra de ferramentas do estruturador, selecione Guardar.

Quando essa ação é executada, seu fluxo de trabalho chama o ponto de extremidade de assinatura no serviço de destino e registra a URL de retorno de chamada. Em seguida, o fluxo de trabalho pausa e aguarda que o serviço de destino envie uma HTTP POST solicitação para a URL de retorno de chamada. Quando esse evento acontece, a ação passa todos os dados da solicitação para o fluxo de trabalho. Se a operação for concluída com êxito, a ação será cancelada do ponto de extremidade e seu fluxo de trabalho continuará para a próxima ação.

Saídas de gatilho e ação

Aqui estão mais informações sobre as saídas de um gatilho ou ação HTTP Webhook, que retorna essas informações:

Nome da propriedade Tipo Description
cabeçalhos objeto Os cabeçalhos da solicitação
corpo objeto O objeto com o conteúdo do corpo da solicitação
código de estado número inteiro O código de status da solicitação
Código de estado Description
200 OK
202 Aceite
400 Solicitação inválida
401 Não autorizado
403 Proibido
404 Não Encontrado
500 Erro de servidor interno. Ocorreu um erro desconhecido.

Próximos passos