参数中的Azure数据工厂源数据集值

时间:2018-11-06 16:13:59

标签: azure-data-factory-2

我在Azure Datafactory中有一个由CSV文件支持的数据集。我在“数据集”中添加了另一列,并希望通过“数据集”参数传递其值,但值永远不会复制到该列中

df.iloc[[desired_index]].astype('O').iloc[0]

我也有定义的参数

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

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

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

但这不起作用。尽管设置了参数值,但目的地却为NULL

1 个答案:

答案 0 :(得分:1)

基于文档Expressions and functions in Azure Data Factory,到目前为止,Azure Data Factory不支持Trying to get property 'contents' of non-object 。因此,您不能直接将参数值用作具有本机复制活动的接收器或源中的自定义列。

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

1。您可以创建一个custom activity并编写代码以执行所需的任何操作。

2。您可以将@dataset().XXX文件放在蔚蓝的数据湖中,然后执行csv脚本从文件中读取数据,并在新列中附加管道U-SQL 。然后将其输出到数据湖中的新区域,以便其余管道可以拾取数据。为此,您只需要将参数从ADF传递到U-SQL。请参阅U-SQL Activity

在此线程:use adf pipeline parameters as source to sink columns while mapping中,客户使用了第二种方式。