逻辑应用程序 - 从JSON输出创建CSV表

问题描述 投票:0回答:3

我创建了一个Runbook,用于启动或关闭VM,然后将结果吐出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个结果定义模式,它将省略其余部分,因为它们未定义。

csv azure-logic-apps azure-runbook
3个回答
0
投票

请按照以下步骤操作:

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

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

然后它的工作

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


0
投票

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

如果每个记录的属性都是固定的,您也可以使用Parse 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


0
投票

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

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

...因此输出如下:

logic app

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

© www.soinside.com 2019 - 2024. All rights reserved.