【问题标题】:Logic App - Create CSV table from JSON output逻辑应用 - 从 JSON 输出创建 CSV 表
【发布时间】:2018-02-22 09:20:58
【问题描述】:

我创建了一个 Runbook,它可以启动或关闭 VM,然后将结果输出到 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 个结果定义模式,它将省略其余的,因为它们没有定义。

【问题讨论】:

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


    【解决方案1】:

    我知道使用 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】:

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

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

      ...因此输出如下:

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

      【讨论】:

        【解决方案3】:

        请按照以下步骤操作:

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

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

        然后它的工作

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

        【讨论】:

          猜你喜欢
          • 2021-07-18
          • 2015-09-06
          • 1970-01-01
          • 2018-10-17
          • 1970-01-01
          • 2019-09-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多