ADF任务修改

问题描述 投票:0回答:2
@string(equals(substring(pipeline().globalParameters.ENVIRONMENT_ROOT_FOLDER,0,2)),(substring(pipeline().parameters.TargetPath),1,3)))

这会抛出错误:函数“等于”不接受 1 个参数

  • 基本上这段代码想要检查当前环境是什么,如果 目标路径包含当前环境,这将转到 假的。
  • 例如,如果我从 DEV 和目标运行此 ADF 管道 path 包含一个路径,其位置来自 dev(比如 dev\xyz\kty)它 将失败/变为错误。否则它会是真的
azure azure-data-factory oracle-adf azure-pipelines-tasks
2个回答
0
投票

当我尝试使用与我的参数类似的动态内容时,我遇到了同样的错误。

enter image description here

  • 错误是因为在 equals 函数中指定第二个参数之前有一个额外的
    )
    ,因此在解析表达式时,这个额外的括号被认为是 equals 函数的结尾。因此,删除它会得到所需的结果(即使第二个子字符串有一些错误,我已根据需要进行了更改)。
@string(equals(substring(pipeline().parameters.root_folder,0,2),substring(pipeline().parameters.target_path,1,3)))

enter image description here

  • 用您需要的值替换
    root_folder
    target_path
    参数。

0
投票

你可以用这个:

@equals(tolower(pipeline().globalParameters.ENVIRONMENT),'prod') 

这解决了问题

© www.soinside.com 2019 - 2024. All rights reserved.