0

我正在从带有表达式的 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",
}
4

2 回答 2

0

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

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

请记住,活动“GetSet”必须事先完成才能使该表达式具有值,因此如果您还没有它,请为它添加一个条件。

希望这可以帮助!

于 2018-03-19T12:28:59.387 回答
0

我们必须像这样使用 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)
于 2018-03-28T13:21:46.113 回答