如何从数据工厂 v2 中的文件中读取带有表达式的设置?

How to read a setting with an expression from file in data factory v2?

我正在使用表达式从 json 文件中读取设置,但该表达式不起作用。

设置为outputPath -> @activity('GetSet').output.value[0].subs.outputPath

文件包含表达式:

"outputPath": "/subs/@{formatDateTime(utcnow(), 'yyyy')}/subs.json"

结果应该是/subs/2018/subs.json但是看起来和文件里写的一样。如果我直接把表达式放在设置里,就可以了。

json 我的管道

{
    "name": "subscription experience",
    "type": "ExecutePipeline",
    "dependsOn": [
        {
            "activity": "GetSet",
            "dependencyConditions": [
                "Succeeded"
            ]
        }
    ],
    "typeProperties": {
        "pipeline": {
            "referenceName": "Client",
            "type": "PipelineReference"
        },
        "waitOnCompletion": true,
        "parameters": {
            "outputPath": "@activity('GetSet').output.value[0].subs.outputPath",
        }
    }
}

我的文件是:

{
  "test": "my teste"
  "subs": {
    "outputPath": "/subs/@{formatDateTime(utcnow(), 'yyyy')}/subscriptions.json",
}

记住表达式必须在@{}之间。试试

@{activity('GetSet').output.value[0].subs.outputPath}

请记住,activity 'GetSet' 之前必须已经完成,此表达式才有值,因此如果您还没有条件,请为其添加一个条件。

希望对您有所帮助!

我们必须像这样使用 concat:

文件是:

{
 "test": "my teste"
"subs": {
"outputPath": "/subs/",
"outputPath2": subscriptions.json",
}

并在参数中输入:

@concat(activity('GetSettings').output.value[0].subs.outputPath,formatDateTime(utcnow(), 'yyyy'),activity('GetSettings').output.value[0].subs.outputPath2)