azure - 如何为使用一些不同参数的模板使用一个参数文件? (在 DevOps Pipeline

所以我现在正在开发一个项目,但遇到了一个问题。在我工作的公司中,我们使用两种不同的资源组,一种用于演示,另一种用于生产。之前,我们习惯于从演示帐户手动复制每个新的逻辑应用程序并更改参数,以便它使用正确的参数来提高工作效率。到目前为止,我们有大约 80 个逻辑应用程序,我们将它们分组。我们的目标是使其变得更加容易,并且需要尽可能少的手动工作。

我们使用它们来同步 SQL 表、CRM 数据和许多其他内容。所以我有许多使用不同参数的逻辑应用程序。例如,一个可以从日历同步到 SQL 服务器,另一个可以同步两个 SQL 表,但每个表必须由不同的用户访问。我想要做的是根据同步有 6-7 个参数文件。但是,当部署发现我的参数值未被模板使用时,部署会失败并出现以下错误,这使得需要为几乎所有新逻辑应用创建新的参数文件:

代码=InvalidTemplate; Message=部署模板验证失败:'参数文件中的模板参数'sql_server......'无效;它们不存在于原始模板中,因此无法在部署时提供。此模板唯一支持的参数是“logicAppName、logicAppLocation......sql-8_username、sql-8_password、sql-8_sqlConnectionString”。有关使用详细信息,请参阅 https://aka.ms/arm-deploy/#parameter-file。'。

有没有办法使这些参数成为可选参数,以便每个模板都使用它需要的参数?我用谷歌搜索了一下,但我发现的主要内容并没有多大帮助=> https://learn.microsoft.com/en-us/azure/azure-resource-manager/templates/template-best-practices#parameters

非常感谢你们提供的任何帮助!

最佳答案

您可以选择使用 defaultValue 为参数提供值。

  • 为参数提供的任何 defaultValue 必须对默认部署配置中的所有用户有效。
  • 请勿提供用户名、密码(或任何需要 secureString 的内容)的默认值或任何会增加应用程序攻击面的内容
  • 不要使用空字符串作为默认值(使用语言表达式来简化场景)
  • 模板表达式可用于创建默认值

引用:https://github.com/Azure/azure-quickstart-templates/blob/master/1-CONTRIBUTION-GUIDE/best-practices.md#parameters

关于azure - 如何为使用一些不同参数的模板使用一个参数文件? (在 DevOps Pipelines 中使用 Powershell 进行 Azure LogicApp 部署),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59625935/

相关文章:

c++ - 如何检测非事件 Win32 应用程序中的最小化?

python - PyAutoGUI,停止命令

typescript - npm 如何发布 typescript 接口(interface)定义

c# - 在 Blazor 应用程序中使用 Azure Active Directory 时如何在

javascript - CSS 不透明度过渡不适用于 Safari

android - 尝试在使用谷歌驱动器的 android 应用程序(使用 kotlin)webvi

reactjs - 类型 'background' 上不存在属性 '{}' - React Rout

amazon-web-services - 使用 Amazon API Gateway 和 Lamb

java - Slf4j,logback - 从 json 中删除 mdc 标签

flutter - showDialog 后键盘关闭