如何在逻辑应用程序中解析来自 Azure Blob 存储文件的 JSON?

dat*_*hen 2 json blob azure azure-logic-apps

我在 Azure Blob 存储中有一个 JSON 文件,我需要使用逻辑应用程序解析该文件并将行插入到 SQL 中。

我正在使用“获取 Blob 内容”,我的第一次尝试是传递给“解析 JSON”。它返回并错误“:InvalidTemplate。无法处理第'1'行和'2856'列的操作'Parse_JSON'输入中的模板语言表达式”

我发现一些讨论表明内容需要转换为字符串,因此我使用“Compose”并按照“inputs”的建议编辑代码:“@base64ToString(body('Get_blob_content').$content)”

这可行,但随后 InvalidTemplate 问题被推送到 Parse 函数,我在那里收到 InvalidTemplate 错误。我尝试将输出包装在 JSON 表达式和其他一些内容中,但我无法解析它。

如果我获取一个样本甚至整个 JSON 并将其放入 Parse 函数的 INPUT 中,它可以正常工作,但不会接受 JSON 形式的 blob 内容。

我能够从 blob 内容成功完成的唯一一件事是将其作为字符串并更新 SQL 中的一行,以便稍后在 SQL 中使用 OPENJSON...但我遇到了另一个帖子的问题。

我不知道该怎么办。

Geo*_*hen 7

您没有发布太多有关逻辑应用操作的信息,因此也许您可以参考我的流程设计。我用带有数组的 json 数据进行测试。

下面是我的流程图。我没有使用撰写操作,而是将其用作decodeBase64(body('Get_blob_content')['$content'])内容Parse Json

在此输入图像描述

如果从json中选择属性,则需要设置数组索引。我设置一个变量来获取值 'body('Parse_JSON') 1 ['name']'。

在此输入图像描述

您可以尝试一下,如果仍然失败,请提供更多信息或一些样本让我们进行测试。