逻辑应用程序 - 从JSON输出

时间:2018-02-22 09:20:59

标签: csv azure-logic-apps azure-runbook

我创建了一个启动或关闭虚拟机的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'
    }
]

我的逻辑应用流程: enter image description here

但是在运行时会出现以下错误,因为“创建CSV表”不喜欢输入: enter image description here

我确定这只是某种需要改变的格式,但我不确定该怎么做。我是学习代码的新手,据我所知,输出是一个对象数组,但错误是要求一个数组。也许是某种限制?

我知道使用Pars JSON,然而,结果并不总是相同。有时我会在输出中得到2个结果,或者有时候我会得到20个结果。因此,如果我在Parse JSON中仅为2个结果定义模式,它将省略其余部分,因为它们未定义。

3 个答案:

答案 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"
}

enter image description here

enter image description here

答案 2 :(得分:0)

向那些已经回答过这个问题的人致歉,但在那段时间我能够以不同的方式创建一个表,并且随着我的逻辑应用程序的过度进展。

Create_CSV_table": {
            "inputs": {
                "format": "CSV",
                "from": "@json(outputs('Compose'))"
            },

...因此输出就像:

logic app

我希望您的回答可以帮助其他人(或我自己以后)查看此页面的任何人。