我正在根据 ADF 中的事件触发器将 Blob 存储文件加载到 SQL,并希望在运行后续事件之前验证该文件的元数据是否符合已知模板。如何在 If 条件中编写表达式来检查“获取元数据”事件的“结构”输出对象是否与已知结构匹配?
有一组集合函数,例如“包含”,可能适用,但我不知道如何让表达式将输出对象(我认为是一个列表)与表示列的字符串进行比较名称和类型。以下是我的非功能性尝试...
@equals(activity('Get Metadata').output.structure, '[{"name": "ID","type": "String"},{"name": "reg_number","type": "String"},...,{"name":"final_column","type":"String"}]')
努力在在线数据工厂中寻找任何可能对此有所帮助的元数据验证示例。验证事件似乎只是判断 blob 文件是否存在的红绿灯。
最佳答案
我发现“获取元数据”事件的“结构”输出对象是一个 json 对象数组,因此我使用函数 createArray() 和 json() 来比较这些对象,这似乎有效。我确信有一个更优雅的解决方案。
@equals(activity('Get Metadata').output.structure,createArray(
json('{
"name": "ID",
"type": "String"
}'),...
json('{
"name": "final_column",
"type": "String"
}')
))
关于azure-data-factory - 如何将获取元数据结构输出与已知结构进行比较以验证文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58822518/