2

我创建了一个运行手册,它启动或关闭虚拟机,然后将结果输出到 JSON 输出中。我在试图弄清楚如何获取该输出并将其用于我的逻辑应用程序中的“创建 CSV 表”时遇到了麻烦。

输出(这正是它进入逻辑应用程序的方式):

[
    {
        '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 个结果定义模式,它将省略其余的,因为它们没有定义。

4

3 回答 3

2

我知道使用 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"
}

在此处输入图像描述

在此处输入图像描述

于 2018-02-26T02:39:09.807 回答
1

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

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

...因此输出如下:

逻辑应用

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

于 2018-02-28T12:33:31.737 回答
0

请按照以下步骤操作:

1)首先您需要删除“撰写”操作

2) 在“创建 CSV 表”操作中,从文本框中传递您在“撰写”操作中传递的“获取作业输出”操作连接器的内容

然后它的工作

问题:当您将“获取作业输出”操作内容传递给“撰写”操作时,它会将内容数据类型数组转换为字符串。“创建 CSV 表”仅数组数据类型内容

于 2018-02-23T13:15:08.943 回答