我有一个取自this example的Kusto查询,如下所示:
Resources
| where type =~ 'microsoft.compute/virtualmachines'
| extend vmPowerState = tostring(properties.extended.instanceView.powerState.code)
| summarize count() by vmPowerState
我想创建一个每周提醒,通过CSV文件格式的电子邮件发送结果。
Logic App分为5个步骤:
第一:
第二:
与
{
"query": "Resources | where type =~ 'microsoft.compute/virtualmachines' | extend vmPowerState = tostring(properties.extended.instanceView.powerState.code) | summarize count() by vmPowerState"
}
第三:
在这里我解析了Body
,并给予了JSON模式的摘录:
{
"count": 3,
"data": [
{
"count_": 3,
"vmPowerState": "PowerState/stopped"
},
{
"count_": 29,
"vmPowerState": "PowerState/deallocated"
},
{
"count_": 118,
"vmPowerState": "PowerState/running"
}
],
"skip_token": null,
"total_records": 3
}
这里我有一些疑问,因为我发现a guide说我应该使用array
公式代替。我不是很确定,因为我看不到例子中的细节。无论如何,这是我做的:
第四:
指令集
第五:
从CSV创建附件的位置
最后,电子邮件到达,但附件不是CSV,而是JSON文件:
指令集
我到底做错了什么?
2条答案
按热度按时间rqcrx0a61#
如果您想使用“创建CSV表”,并将列设置为“自动”,请传递“parse Json”的“body”。x1c 0d1x
你不需要使用数组变量,但是无论你使用什么,都需要返回一个如下所示的数组:
示例中的json解析器主体包含许多其他json节点。您应该有“data”选项,因为那里有一个名为“data”的数组
如果你想长话短说,试试“数据”
您可以更改为“自定义”。这将允许您删除冗余数据或格式化数据(如“PowerState/stopped”中的“PowerState”):
您还可以将.csv添加到文件名中:x1c4d 1x指令集
以上对我很有效,但还可以增强
xwmevbvl2#
@BrunoLucasAzure发布的建议确实帮助我了解了逻辑应用程序是如何工作的。
然而,我想用正确的解决方案来回答我自己的问题:我不得不粘贴JSON输出的一个示例,按下按钮 * 使用示例有效负载生成模式 *。
然后按照工作流程,一切都会好起来的。
我需要解决的下一个问题是分页,但显然也有一个解决方案:https://techcommunity.microsoft.com/t5/integrations-on-azure-blog/logic-app-http-pagination-deeper-look-build-custom-paging/ba-p/2907605