Azure Logic Apps - 解包模式





5.00/5 (2投票s)
本文简要介绍了在 Azure Logic App 中使用 ForEach 循环来解包 JSON 文件。
引言
对于那些寻求在 Azure 逻辑应用上实现 debatching 模式的人来说,这将有助于快速入门。虽然可以使用 JSON "SplitOn
" 在请求中分割文件,但我正在使用 For Each 循环来进行 debatch。
背景
没有 BizTalk 先前知识的本地 BizTalk 开发者或公民集成开发者可以从 Azure 逻辑应用开发开始。您必须拥有 Azure 订阅才能开发此功能,并需要 SOAP UI 或 Postman 工具来测试该解决方案。
Using the Code
场景
将批量订单文件拆分为单个订单并将其发送到目标路径。
对于这种情况,我将使用 JSON 格式的批量订单文件,并将目标路径设置为 Google Drive,以发送 debatched 订单。
批量 JSON 文件示例如下。 它在批处理中有四个订单。 预期输出是写入四个文件,并将它们的详细信息写入 Google Drive 帐户文件夹。
{
"OrderDetails":{
"BatchNo": "ORDERS078",
"Orders":[
{"Order":{"Id": "100","ProductName":
"Laptop","ProductCategory": "Electronics",
"Productmanufacturer": "DELL",
"Qty": "1","Price": "700"}},
{"Order":{"Id": "200","ProductName":
"Mobile","ProductCategory": "Electronics",
"Productmanufacturer": "Apple","Qty":
"1","Price": "499"}},
{"Order":{"Id": "300","ProductName":
"TV","ProductCategory": "Appliance",
"Productmanufacturer": "SONY","Qty":
"2","Price": "950"}},
{"Order":{"Id": "400","ProductName":
"Swimming Kit","ProductCategory": "Sports",
"Productmanufacturer": "Golddust","Qty":
"1","Price": "450"}}
]
}
}
开发逻辑流程的步骤
我假设您拥有 Azure 订阅,并且您了解如何导航以创建逻辑应用工作流。
- 使用名称创建逻辑应用。 选择订阅,您可以创建新的资源组或使用现有的资源组,选择位置,然后单击“创建”按钮。 在 Azure 中创建需要一些时间。
- 转到逻辑应用仪表板,然后选择在步骤 1 中创建的上述逻辑应用。这将提示一个页面来设计流程,您可以选择模板中的“空白逻辑应用”。 在设计器上,选择 HTTP 连接器和触发器“收到 HTTP 请求时”。 单击“使用示例有效负载生成架构”选项。 在对话框中,复制场景部分中提供的示例。 单击“完成”后,这将生成 JSON 架构。
- 单击第一个流下方的“下一步”,然后转到“(更多...)”部分以添加“For Each”循环,然后从动态内容中选择“Order”。 出现此信息是因为已定义架构结构。
- 单击“For Each”循环内的“添加操作”,然后选择用于创建文件的 Google Drive 操作。 您可以在给定的搜索选项中键入搜索来查找。 选择此选项后,它将要求您提供 Google 帐户详细信息,以授权逻辑应用在您的 Google Drive 中写入文件。 您可以在 Google Drive 中创建一个单独的文件夹,供此应用程序测试您的文件。
通过导航到文件夹选择器图标选择文件夹路径,文件名 = 设置日期时间
为此,请单击“文件名”类型框,它将弹出“动态内容”和“表达式”。 选择“表达式”并向下滚动以查找“日期时间”函数以选择
utcNow()
。 我选择此选项是为了使每个文件都具有不同的日期时间名称。 您可以浏览各种其他函数来设置带有宏的特定文件名。文件内容值将在下一步中设置。
- 转到逻辑应用设计器的代码视图模式以设置文件内容值。 您会看到正文值在第 18 行为空。 请参阅此处的突出显示屏幕。
键入值的内容 --- ”
@items('For_each')?['Order']
"。第 18 行将如下所示:
”body": "@items('For_each')?['Order']"
, - 返回到设计器模式并展开第一个形状 HTTP 接收以设置高级选项“方法”=POST 并复制 HTTP Post URL 并保存项目。
- 使用任何测试工具(例如 SOAP UI 或 Google Postman)对其进行测试。 我正在使用 Postman 按照下面的屏幕进行测试。 使用 POST 谓词和您从逻辑应用设计器 HTTP 接收第一个形状复制的 url。 确保选择原始正文并使用内容类型 application/json。 与场景中提供的相同示例消息用于测试。 测试后,您将看到您的 Google Drive 文件夹中写入了四个文件。 您也可以查看文件的内容。
完整的已开发设计器视图
一览视图
测试结果
查看 Google Drive 中的订单文件,您还可以在逻辑应用运行历史记录中跟踪事务历史记录。 有关详细信息,请参见下面的图片。
Google Drive 中的图像
来自逻辑应用运行历史记录的图像
您可以单击事务详细信息进行深度分析。