azure-data-factory - 如何将获取元数据结构输出与已知结构进行比较以验证文件?
问题描述
我正在根据 ADF 中的事件触发器将 blob 存储文件加载到 SQL,并希望在运行后续活动之前验证该文件的元数据是否符合已知模板。如何在 If 条件中编写表达式来检查 Get Metadata 活动的“结构”输出对象是否与已知结构匹配?
有一组集合函数,例如可能适用的“包含”,但我不知道如何让表达式将输出对象(我认为它是一个列表)与表示列名和类型的字符串进行比较. 以下是我的非功能性尝试...
@equals(activity('Get Metadata').output.structure, '[{"name": "ID","type": "String"},{"name": "reg_number","type": "String"},...,{"name":"final_column","type":"String"}]')
努力在在线数据工厂中找到任何可能对此有所帮助的元数据验证示例。验证活动似乎只是指示 blob 文件是否存在的信号灯。
解决方案
我发现 Get Metadata 活动的“结构”输出对象是一个 json 对象数组,因此我使用函数 createArray() 和 json() 来比较对象,这似乎有效。我确信那里有一个更优雅的解决方案。
@equals(activity('Get Metadata').output.structure,createArray(
json('{
"name": "ID",
"type": "String"
}'),...
json('{
"name": "final_column",
"type": "String"
}')
))
推荐阅读
- javascript - Vue.js 在拖动和单击时转换
- python - 为什么“\n”出现在我的字符串输出中?
- kubernetes - dsl.ContainerOp 与 python
- javascript - 如何在 NodeJS 中限制跨多个请求的函数调用?
- python - 如何使用 praw 从 reddit 下载视频
- amazon-web-services - 在 java 中使用带有 OR 和 AND 条件的 Amazon/AWS DynamodB 扫描过滤器
- javascript - React - 具有多个类的样式化组件
- angular - 根据物料表中的值隐藏行
- python - 获取数据框中基于常见项目列表的列
- wordpress - 我们的服务器和 CDN 准备好迎接更多活跃用户了吗?