代码之家  ›  专栏  ›  技术社区  ›  PythonRookie

Azure数据工厂-我们可以在数据流的派生列中使用局部变量吗?

  •  0
  • PythonRookie  · 技术社区  · 3 年前

    专家,

    我有一个简单的要求,需要将变量的值存储在目标SQL表(Sink)的列中。

    以下是我正在做的事情:

    1. 创建了一个新的管道,并创建了值为“@utcNow”的变量“createDate”
    2. 我创建了一个“数据流”任务,在其中配置了我的源(一个简单的CSV文件)并添加了“派生列”任务,因为我想存储数据加载到目标表的日期
    3. 在“派生列”任务中,我添加了一个新列“der_createDate”,但是,我不知道如何将“createDate”变量的值分配给这个派生列,我尝试了几个表达式,如-@variables('createDate'),但表达式验证失败。

    我如何在任何“数据流”中使用管道中创建的变量的值?这有可能吗?我在可迭代对象中甚至在“复制数据”任务中看到了几个变量的用例,但是,我正在使用数据流,并希望引用我在管道中创建的那些局部变量。让我知道你的建议。

    0 回复  |  直到 3 年前
        1
  •  0
  •   Kiran-MSFT    3 年前

    数据流中不支持变量。您必须将此变量的值作为参数(createDate)传递到数据流中,并将其引用为$createDate

        2
  •  0
  •   Joseph Xu    3 年前
    1. 我们可以声明一个变量 createDate 在管道中。 enter image description here

    2.在数据流内部,我们可以声明一个参数 parameter1 并临时分配双引号。 enter image description here

    1. 然后在管道中,选择 Pipeline expression ,添加动态值 @variables('createDate') 因此,我们可以为 创建日期 参数1 . enter image description here

    2. In DerivedColumn1 activity,我们可以生成一个新的列,其值为 参数1 。数据预览可能有问题,但调试结果正确。因为此列将在运行时分配。 enter image description here

    3. 调试结果如下: enter image description here