azure-data-factory - 如何将获取元数据结构输出与已知结构进行比较以验证文件?

标签 azure-data-factory

我正在根据 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/

相关文章:

azure - 如何在 Azure Blob 输出数据集中将编码设置为 "UTF8 without bom"

azure - 在 parquet 文件中添加附加列时复制事件失败

Azure 数据工厂管道运行 FTP 失败

azure - 使用复制事件在 ADFv2 中解压缩 .zip 文件时保留内容类型

azure-data-factory - Azure 数据工厂将数据流映射到 CSV 接收器导致零字节文件

sql - Azure 数据工厂中的复制数据事件后更新

anaconda 上的 Python 找不到 azure.mgmt.datafactory

azure - ADF 映射数据流,是否可以在源上执行 SQL?

azure - 删除多个 Azure 数据工厂管道

json - 数据工厂将数据源复制为接收器对象的主体