Partilhar via


Enviar um email com um pipeline do Azure Data Factory ou do Azure Synapse

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

Gorjeta

Experimente o Data Factory no Microsoft Fabric, uma solução de análise tudo-em-um para empresas. O Microsoft Fabric abrange tudo, desde a movimentação de dados até ciência de dados, análises em tempo real, business intelligence e relatórios. Saiba como iniciar uma nova avaliação gratuitamente!

Muitas vezes, é necessário enviar notificações durante ou após a execução de um pipeline. A notificação fornece alertas proativos e reduz a necessidade de monitoramento reativo para descobrir problemas.  Este artigo mostra como configurar notificações por email de um pipeline do Azure Data Factory ou do Azure Synapse. 

Pré-requisitos

  • Subscrição do Azure. Se não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.
  • Fluxo de trabalho padrão do aplicativo lógico. Para acionar o envio de um email do pipeline, use os Aplicativos Lógicos do Azure para definir o fluxo de trabalho. Para obter detalhes sobre como criar um fluxo de trabalho de aplicativo lógico padrão, consulte Criar um exemplo de fluxo de trabalho de aplicativo lógico padrão.

Criar o fluxo de trabalho de email em seu aplicativo lógico

Crie um fluxo de trabalho de aplicativo lógico padrão chamado SendEmailFromPipeline. Adicione o gatilho de solicitação chamado When an HTTP request is receivede adicione a ação do Office 365 Outlook chamada Send an email (V2).

Mostra o designer de fluxo de trabalho do aplicativo lógico com a ação Solicitar gatilho e Enviar um email (V2).

Em Acionador de solicitação, forneça este JSON para a Request Body JSON Schema propriedade:

{
    "properties": {
        "dataFactoryName": {
            "type": "string"
        },
        "message": {
            "type": "string"
        },
        "pipelineName": {
            "type": "string"
        },
        "receiver": {
            "type": "string"
        }
    },
    "type": "object"
}

O gatilho Request no designer de fluxo de trabalho deve ter esta aparência:

Mostra o designer de fluxo de trabalho para o gatilho Request com o campo Request Body JSON Schema preenchido.

Para a ação Enviar um e-mail (V2), personalize como deseja formatar o e-mail, usando as propriedades do esquema JSON do corpo da solicitação:

Mostra o designer de fluxo de trabalho para a ação Enviar um email (V2).

Guarde o fluxo de trabalho. Navegue até a página Visão geral do fluxo de trabalho. Anote o URL do fluxo de trabalho, destacado na imagem abaixo:

Mostra a página Visão geral do fluxo de trabalho com a URL do fluxo de trabalho realçada.

Nota

Para localizar a URL do fluxo de trabalho, você deve navegar até o fluxo de trabalho em si, não apenas o aplicativo lógico que o contém. Na página Fluxos de trabalho da instância do aplicativo lógico, selecione o fluxo de trabalho e navegue até a página Visão geral.

Criar um pipeline para acionar o fluxo de trabalho do aplicativo lógico

Depois de criar o fluxo de trabalho do aplicativo lógico para enviar email, você pode acioná-lo a partir de um pipeline usando uma atividade da Web .

  1. Crie um novo pipeline e localize a atividade da Web na categoria Geral, para arrastá-la para a tela de edição.

  2. Selecione a nova atividade Web1 e, em seguida, selecione a guia Configurações .

    Forneça a URL do fluxo de trabalho do aplicativo lógico que você criou anteriormente no campo URL .

    Forneça o seguinte JSON para o corpo:

       {
        "message" : "This is a custom dynamic message from your pipeline with run ID @{pipeline().RunId}.",
        "dataFactoryName" : "@{pipeline().DataFactory}", 
        "pipelineName" : "@{pipeline().Pipeline}", 
        "receiver" : "@{pipeline().parameters.receiver}"
       }
    

    Use expressões dinâmicas para gerar mensagens úteis para eventos em seus pipelines. Observe que o formato JSON aqui corresponde ao formato JSON definido no aplicativo lógico e você também pode personalizá-los conforme necessário.

    Mostra um pipeline com uma atividade da Web configurada com a URL do fluxo de trabalho do aplicativo lógico e o corpo da mensagem JSON.

  3. Selecione a área de plano de fundo do designer de pipeline para selecionar a página de propriedades do pipeline e adicionar um novo parâmetro chamado receiver, fornecendo um endereço de e-mail como seu valor Padrão.

    Neste exemplo, fornecemos o e-mail do destinatário a partir de um parâmetro de pipeline que definimos arbitrariamente. O valor do recetor pode ser retirado de qualquer expressão, ou mesmo fontes de dados ligadas.

    Mostra a configuração do parâmetro receiver no designer de pipeline.

  4. Publique seu pipeline e acione-o manualmente para confirmar que o e-mail foi enviado conforme o esperado.

    Mostra como acionar manualmente o pipeline.

Adicionar mensagens dinâmicas com variáveis e expressões do sistema

Você pode usar variáveis e expressões do sistema para tornar suas mensagens dinâmicas. Por exemplo:

  • @activity("CopyData").output.errors[0].Message

  • @activity("DataFlow").error.Message

As expressões acima retornarão as mensagens de erro relevantes de uma falha de atividade de cópia, que pode ser redirecionada para sua atividade na Web que envia o e-mail. Consulte o artigo Copiar propriedades de saída da atividade para obter mais detalhes.

Como enviar notificações do Teams a partir de um pipeline