Azure 数据工厂使用表格格式的电子邮件从 SQL 发送数据

问题描述 投票:0回答:1

我在使用 ADF 以表格格式发送电子邮件的 Web 活动方面遇到问题, enter image description here 我在 sql 中有表,我可以使用查找活动检索它,并且数据可以在 adf 中显示 这是查找的输出 enter image description here

这是电子邮件的结果,不显示数据,仅显示 ADF Web JSON 的表达式 enter image description here

这是 Expression 网络活动

{
  "ITEmailTO": "@{variables('emailsummary')}",
  "dataFactoryName": "@{pipeline().DataFactory}",
  "pipelineName": "@{pipeline().Pipeline}",
  "subject": "Summary Error Report from Table",
  "ErrorMessage": "@concat(
    '<html><body><h3>Contact Info</h3><table border=\"1\">',
    '<tr><th>FileName</th><th>Target</th><th>ErrorDetails</th></tr>',
    join(
        activities('Lookup').output.value,
        '<tr><td>',
        item().FileName,
        '</td><td>',
        item().Target,
        '</td><td>',
        item().ErrorDetails,
        '</td></tr>'
    ),
    '</table></body></html>'
  )"
}

任何想法,如何仅使用 ADF 显示格式表中的数据。

也许这是电子邮件中显示的预期表格 enter image description here

json azure azure-pipelines azure-data-factory
1个回答
0
投票

还没有,有什么见解吗?怎么做?

如果您想将所有查找数据作为表格发送到邮件,您可以尝试使用逻辑应用中的创建表格 HTML 对其进行格式化。

首先将查找活动输出数组从 Web 活动主体传递到逻辑应用程序,如下所示。

{
"ITEmailTO": "mymail",
"dataFactoryName": "@{pipeline().DataFactory}",
"pipelineName": "@{pipeline().Pipeline}",
"subject": "Summary Error Report from Table",
"ErrorMessage":@{activity('Lookup1').output.value}
}

现在,在逻辑应用中,在“收到 HTTP 请求”步骤之后,添加创建 HTML 表步骤并传递来自上一步主体的查找活动输出数组。打开表达式并输入表达式 triggerBody()?['ErrorMessage'],然后单击

ok

enter image description here现在,将此步骤的输出作为动态内容中的 Outlook 操作的正文传递。

enter image description here您可以使用

triggerBody()?['ITEmailTO']

triggerBody()?['subject'] 等表达式从

HTTP
步骤传递您的邮件 ID 和主题。

邮件中的表格:

enter image description here如果要为每一行发送邮件,则需要从 ADF 循环触发逻辑应用或在逻辑应用中创建循环并在该循环中使用这些步骤。您需要根据循环更改表达式。

© www.soinside.com 2019 - 2024. All rights reserved.