如何有条件地定义 azure 模板参数?

Posted

技术标签:

【中文标题】如何有条件地定义 azure 模板参数?【英文标题】:How to conditionally define azure template parameter? 【发布时间】:2022-01-13 15:25:48 【问题描述】:

在 azure 模板中允许使用参数,但是您不能定义变量...我需要根据不同的参数有条件地在 azure 管道模板中定义参数

这是我想要的抛出错误的语法

---
parameters:
  - name: my_host_url
    type: string
    $ if eq(parameters.environment, 'prod') :
      default: 'https://example.com'
    $ else :
      default: 'https://dev.example.com'

上面抛出错误

A template expression is not allowed in this context

变量https://docs.microsoft.com/en-us/azure/devops/release-notes/2021/sprint-192-update#new-yaml-conditional-expressions 可能与上述类似,但是由于我在一个天蓝色的管道模板中,所以不允许使用变量,所以我定义的是参数而不是变量

【问题讨论】:

【参考方案1】:

这在参数声明中是不可能的。当您调用模板并提供参数时,这很好。但是这里是不可能的。

【讨论】:

以上是关于如何有条件地定义 azure 模板参数?的主要内容,如果未能解决你的问题,请参考以下文章

如何绕过 Azure 数据工厂 ARM 模板参数限制?

条件表达式在 Azure DevOps 2019 中不起作用

发布后如何将 Azure 数据工厂参数放入 ARM 模板参数文件 (ARMTemplateParametersForFactory.json)

是否可以在Azure ARM模板中执行迭代字符串替换?

Azure,java sdk,使用ARM模板部署 - 无法转换参数文件

如何使用 EJS 模板有条件地显示 HTML?