我创建了一个启动或关闭虚拟机的Runbook,然后将结果吐出到JSON输出中。我在尝试弄清楚如何获取该输出并在“创建CSV表”中使用它时遇到了问题。在我的逻辑应用程序中。
输出(这正是它进入Logic App的方式):
[
{
'VM': 'MyVM2',
'Success': true,
'PSComputerName': 'localhost',
'PSShowComputerName': true,
'PSSourceJobInstanceId': '286eeccb-c7f6-4afd-a734-7f4e837ffdac'
},
{
'VM': 'MyVM1',
'Success': true,
'PSComputerName': 'localhost',
'PSShowComputerName': true,
'PSSourceJobInstanceId': '286eeccb-c7f6-4afd-a734-7f4e837ffdac'
}
]
但是在运行时会出现以下错误,因为“创建CSV表”不喜欢输入:
我确定这只是某种需要改变的格式,但我不确定该怎么做。我是学习代码的新手,据我所知,输出是一个对象数组,但错误是要求一个数组。也许是某种限制?
我知道使用Pars JSON,然而,结果并不总是相同。有时我会在输出中得到2个结果,或者有时候我会得到20个结果。因此,如果我在Parse JSON中仅为2个结果定义模式,它将省略其余部分,因为它们未定义。
答案 0 :(得分:0)
请按照以下步骤操作:
1)首先,您需要删除“撰写”操作
2)在“创建CSV表”操作中从文本框传递“获取作业输出”的内容 您在“撰写”操作
中传递的动作连接器然后它的工作
问题:当您将“获取作业输出”操作内容传递到“撰写”操作时,它将内容数据类型数组转换为字符串。 “创建CSV表”仅限数组数据类型内容
答案 1 :(得分:0)
我知道使用Pars JSON,但结果并不总是一样的。有时我会在输出中得到2个结果,或者有时候我会得到20个结果。因此,如果我在Parse JSON中仅为2个结果定义模式,它将省略其余部分,因为它们未定义。
如果每个记录的属性都是固定的,您也可以使用Pars JSON。请尝试使用以下架构。我测试它在我身边,它工作正常。
{
"items": {
"properties": {
"PSComputerName": {
"type": "string"
},
"PSShowComputerName": {
"type": "boolean"
},
"PSSourceJobInstanceId": {
"type": "string"
},
"Success": {
"type": "boolean"
},
"VM": {
"type": "string"
}
},
"required": [
"VM",
"Success",
"PSComputerName",
"PSShowComputerName",
"PSSourceJobInstanceId"
],
"type": "object"
},
"type": "array"
}
答案 2 :(得分:0)