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 received
e adicione a ação do Office 365 Outlook chamada Send an 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:
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:
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:
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 .
Crie um novo pipeline e localize a atividade da Web na categoria Geral, para arrastá-la para a tela de edição.
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.
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.
Publique seu pipeline e acione-o manualmente para confirmar que o e-mail foi enviado conforme o esperado.
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.