我已经使用Azure Data Factory创建了一个Blob文件。
使用Logic Apps读取Blob内容时,由于该内容无法将Blob内容转换为JSON,因此我在内容的前缀中得到77u/
。尝试将Blob内容转换为XML,然后转换为JSON,但无法正常工作。
任何人都可以让我知道如何解决该问题吗?
下面是blob内容:
"body": {
"$content-type": "application/octet-stream",
"$content": "77u/W3siUHJvcF8wIjoiQUFBIiwiUHJvcF8xIjoiQjAxNTEwMDEiLCJQcm9wXzIiOiJEIiwiUHJvcF8zIjoiMjAxODA3MDQxNzA1MDIiLCJQcm9wXzQiOiJNSSIsIlByb3BfNSI6Ik4yRVhNSURQIiwiUHJvcF82IjoiQk0iLCJQcm9wXzciOiJVS0RDIiwiUHJvcF84IjoiMTI2NjM3IiwiUHJvcF85IjoiT1BFUiIsIlByb3BfMTAiOm51bGx9DQoseyJQcm9wXzAiOiJNSUQiLCJQcm9wXzEiOiJOMkVYTUlEUCIsIlByb3BfMiI6IjIwMTgwNzA0IiwiUHJvcF8zIjpudWxsLCJQcm9wXzQiOm51bGwsIlByb3BfNSI6bnVsbCwiUHJvcF82IjpudWxsLCJQcm9wXzciOm51bGwsIlByb3BfOCI6bnVsbCwiUHJvcF85IjpudWxsLCJQcm9wXzEwIjpudWxsfQ0KLHsiUHJvcF8wIjoiTUlQIiwiUHJvcF8xIjoiMDEiLCJQcm9wXzIiOiIwLjAiLCJQcm9wXzMiOiIwLjAiLCJQcm9wXzQiOiIwLjAiLCJQcm9wXzUiOiIwLjAiLCJQcm9wXzYiOm51bGwsIlByb3BfNyI6bnVsbCwiUHJvcF84IjpudWxsLCJQcm9wXzkiOm51bGwsIlByb3BfMTAiOm51bGx9DQoseyJQcm9wXzAiOiJNSVAiLCJQcm9wXzEiOiIwMiIsIlByb3BfMiI6IjAuMCIsIlByb3BfMyI6IjAuMCIsIlByb3BfNCI6IjAuMCIsIlByb3BfNSI6IjAuMCIsIlByb3BfNiI6bnVsbCwiUHJvcF83IjpudWxsLCJQcm9wXzgiOm51bGwsIlByb3BfOSI6bnVsbCwiUHJvcF8xMCI6bnVsbH0NCix7IlByb3BfMCI6Ik1JUCIsIlByb3BfMSI6IjAzIiwiUHJvcF8yIjoiMC4wIiwiUHJvcF8zIjoiMC4wIiwiUHJvcF80IjoiMC4wIiwiUHJvcF81IjoiMC4wIiwiUHJvcF82IjpudWxsLCJQcm9wXzciOm51bGwsIlByb3BfOCI6bnVsbCwiUHJvcF85IjpudWxsLCJQcm9wXzEwIjpudWxsfQ0KLHsiUHJvcF8wIjoiTUlQIiwiUHJvcF8xIjoiMDQiLCJQcm9wXzIiOiIwLjAiLCJQcm9wXzMiOiIwLjAiLCJQcm9wXzQiOiIwLjAiLCJQcm9wXzUiOiIwLjAiLCJQcm9wXzYiOm51bGwsIlByb3BfNyI6bnVsbCwiUHJvcF84IjpudWxsLCJQcm9wXzkiOm51bGwsIlByb3BfMTAiOm51bGx9DQoseyJQcm9wXzAiOiJaWloiLCJQcm9wXzEiOiI3IiwiUHJvcF8yIjoiMTU5NjUyNDE0NyIsIlByb3BfMyI6bnVsbCwiUHJvcF80IjpudWxsLCJQcm9wXzUiOm51bGwsIlByb3BfNiI6bnVsbCwiUHJvcF83IjpudWxsLCJQcm9wXzgiOm51bGwsIlByb3BfOSI6bnVsbCwiUHJvcF8xMCI6bnVsbH0NCl0="
}
答案 0 :(得分:1)
Base64内容中的前缀77u/
由UTF-8 BOM引起。通过解码Base64内容,您可以看到
与开头的UTF-8 BOM字符匹配。
如果您以数据集格式指定encodingName
,则ADF将始终生成BOM。因此,您可以删除encodingName
中的format
,以生成没有BOM的文件。
答案 1 :(得分:0)
我觉得答案对你来说有点晚了,但我希望它可以帮助面临同样问题的其他人。 我通过用空字符串 ('') 替换 BOM 字符 '77u/' 解决了这个问题,例如撰写活动:
json(base64ToString(replace(body('Get_blob_content')?['$content'],'77u/','')))
这可能不是一个完美的解决方案,但对我来说效果很好。 :)
问候, 卢卡斯