【问题标题】:Azure Data Factory Source Dataset value from Parameter来自参数的 Azure 数据工厂源数据集值
【发布时间】:2019-04-10 01:45:48
【问题描述】:

我在 Azure Datafactory 中有一个由 CSV 文件支持的数据集。我在 Dataset 中添加了一个附加列,并希望从 Dataset 参数中传递它的值,但值永远不会被复制到列中

  "type": "AzureBlob",
    "structure": 
    [
        {
            "name": "MyField",
            "type": "String"
        }
    ]

我也有一个定义的参数

   "parameters": {
        "MyParameter": {
            "type": "String",
            "defaultValue": "ABC"
        }
    }  

如何将参数值复制到Column?我尝试了以下但不起作用

   "type": "AzureBlob",
    "structure": 
    [
        {
            "name": "MyField",
            "type": "String",
            "value": "@dataset().MyParameter"
        }
    ]

但这不起作用。尽管设置了参数值,但我在目的地得到了 NULL

【问题讨论】:

标签: azure-data-factory-2


【解决方案1】:

基于文档:Expressions and functions in Azure Data Factory@dataset().XXX 目前在 Azure 数据工厂中不受支持。因此,您不能直接使用参数值作为自定义列进入具有本机复制活动的接收器或源。

但是,您可以采用以下解决方法:

1.您可以创建一个custom activity 并编写代码来做任何您需要的事情。

2.您可以将 csv 文件暂存到 azure 数据湖中,然后执行 U-SQL 脚​​本以从文件中读取数据并将新列附加到管道 rundId。然后将其输出到数据湖中的新区域,以便管道的其余部分可以获取数据。为此,您只需简单地将参数从 ADF 传递给 U-SQL。请参考U-SQL Activity

在这个帖子里:use adf pipeline parameters as source to sink columns while mapping,客户用的是第二种方式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-27
    • 2020-03-11
    • 1970-01-01
    相关资源
    最近更新 更多