您可以使用“电子邮件发件人”快照轻松地将传入的文档作为 HTML 表格发送。
来自 SnapLogic 文档
对于“HTML 表格”类型,Snap 期望在模板正文中查找和标记。输入视图中的一个 Document 对应于 HTML 表的一行。对于每个 Document,Snap 获取一个由 Table-data path 属性引用的地图数据,并在消息正文的 HTML 表中插入一行。表数据路径属性还可以引用地图数据数组。Snap 使用地图数据的键集来组成表的列标题。Snap 批量处理整个文档流以生成键的超集。
管道:
以下是我为证明这一点而制作的测试管道。
![测试管道](https://i.stack.imgur.com/b3fNp.png)
输入:
以下是我在JSON 生成器快照中配置的输入 JSON(根据您提供的描述创建)。
[
{
"Pipeline": "Pipeline_1",
"State": "Completed",
"Start_Time": "2019-12-18",
"Documents": 1
},
{
"Pipeline": "Pipeline_2",
"State": "Completed",
"Start_Time": "2019-12-17",
"Documents": 200
},
{
"Pipeline": "Pipeline_3",
"State": "Completed",
"Start_Time": "2019-12-18",
"Documents": 10
},
{
"Pipeline": "Pipeline_4",
"State": "Failed",
"Start_Time": "2019-12-16",
"Documents": 25
}
]
配置:
以下是我从 Snaplogic 文档中获得的电子邮件模板。
<!DOCTYPE html>
<html>
<head>
<title>Email Snap HTML Table</title>
<style type="text/css"> table.Snap {background-color:transparent;border-collapse:collapse;width:100%;} table.Snap th,
table.Snap td {text-align:center;border:1px solid black;padding:5px;} table.Snap th {background-color:AntiqueWhite;}
</style>
</head>
<body>
<p>Dear SnapLogic Users:</p>
<p>This is a sample Snap email with HTML Table email type.</p>
<table class="Snap">
</table>
<p></p>
<p>Regards,</p>
<p>SnapLogic Staff</p>
</body>
</html>
除了设置模板之外需要配置 -
- 电子邮件类型:将此设置为HTML 表格
- 表数据路径:将
$
其设置为根元素
- 批量大小:将其设置为您需要在电子邮件中一次发送的行数
以下是我在电子邮件发件人快照中使用的设置的屏幕截图。
![电子邮件发件人设置](https://i.stack.imgur.com/mI3cU.png)
仅$
在 Table-data 路径中使用时,Snap 会创建一个 HTML 表格,其中 Template Body 具有 HTML 表格标签 ( <table></table>
)。因此,表格会自动填充传入的数据。
注意: 文档结构需要是扁平的。
就批量大小而言 -
如果 Snap 从输入视图接收到的文档数量达到给定的 Batch 大小,则 Snap 会使用 HTML 表格编写一封电子邮件并将其发送到服务器。如果需要发送所有文档,则会生成多封电子邮件。如果剩余任意数量的未发送表行,则 Snap 在管道执行结束时发送最后一条消息。
结果:
以下是我收到的邮件截图。
![电子邮件](https://i.stack.imgur.com/GVmVR.png)
参考: