【问题标题】:Remove escape characters from Azure Data Explorer JSON object in Azure Data Factory从 Azure 数据工厂中的 Azure 数据资源管理器 JSON 对象中删除转义字符
【发布时间】:2022-01-24 23:57:35
【问题描述】:

我尝试使用 ADF 将 ADX 查询的结果导出到 JSON 文件中。我尝试使用复制活动将数据直接从查询映射到 blob 存储数据集。返回的两列在 ADX 中是“动态”类型,应在文件中作为 JSON 对象输出。

查询的输入看起来符合要求,没有额外的字符:

下图是属性列(第 5 列)的顶部,显示对象括号的开口。

输出文件仅在返回的属性对象数据中包含额外的转义字符和换行符。 Build、TypeName 和其他键值对列不受影响。

我需要能够以 JSON 格式返回此数据,而不需要任何其他字符。关于如何在 ADF 中实现这一目标的任何想法?

更新: 在使用 Azure Data Studio 进行测试并将数据从应用程序直接导出到 JSON 之后,似乎 KQL 是问题所在。当我使用 parse_json(Properties) 时,我收到与以前相同的 /r/n 和 /" 字符。当我使用 extractjson("$",tostring(Properties)) 时,我看到了轻微的改进,但是 " 仍然被转义了 \ "

【问题讨论】:

  • 还检查 DataFlow 中的函数 unescape() 和 ADF 管道表达式中的函数 json()
  • 你能找到解决办法吗?
  • 不,我还没有找到解决方案。

标签: json azure azure-data-factory azure-data-explorer adx


【解决方案1】:

您可以使用如下查询:

SETEL_Objects | project ID, FullName, parse_json(properties) | take 50

更多详情请参考官方 MS 文档:todynamic(), parse_json()

【讨论】:

  • 感谢 Karthik,我已确定问题出在我的查询中,而不是 ADF 中,因为当我直接从 Azure Data Studio 导出时,我发现附加字符存在同样的问题。我在原帖中添加了一些关于 parse_json 和 extractjson 正在做什么的内容。
  • 不幸的是,答案还没有解决我的问题。我的输出中仍然有不需要的字符。我刚刚发现问题出在 KQL 输出上,而不是 EDF 输出上。您还有其他可能有帮助的建议吗?谢谢
猜你喜欢
  • 2019-07-09
  • 1970-01-01
  • 1970-01-01
  • 2021-02-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-31
  • 1970-01-01
相关资源
最近更新 更多