我在Blob存储中存储了JSON形式的输入 我以SQL Azure表格的形式输出。
我的写入查询并成功将JSON中特定属性的值移动到相应的SQL Azure表列。
现在对于一个列,我想在一个sql列中将整个JSON有效负载复制为序列化字符串,我没有得到正确的库函数来执行此操作。
SELECT
CASE
WHEN GetArrayLength(E.event) > 0
THEN GetRecordPropertyValue(GetArrayElement(E.event, 0), 'name')
ELSE ''
END AS EventName
,E.internal.data.id as DataId
,E.internal.data.documentVersion as DocVersion
,E.context.custom As CustomDimensionsPayload
Into OutputTblEvents
FROM InputBlobEvents E
CustomDimensionsPayload 实际上应该是JSON
答案 0 :(得分:2)
我创建了一个用户定义的函数,它为我完成了这项工作:
SELECT udf.ConvertToJSONString(COLLECT()) AS InputJSON
INTO outputX
FROM inputY
然后,在Query中,我使用了这样的函数:
BehaviorSubject
答案 1 :(得分:0)
如果要转换整个有效负载,则只需引用输入对象本身而不是COLLECT()。我也想这样做,所以我想补充一下我所做的。
我使用了PerSchjetne建议的相同功能,查询便变为
SELECT udf.JSONToString(IoTInputStream)
INTO [SQLTelemetry]
FROM [IoTInputStream]
您的输出现在将是完整的JSON字符串,包括IOT中心添加的所有元数据额外内容。