【问题标题】:Add an appsetting conditionally in an ARM template在 ARM 模板中有条件地添加应用程序设置
【发布时间】:2017-03-08 18:52:57
【问题描述】:

这个问题要求应用设置的 key 和 value 都是有条件的。 Set an appsetting value conditionally in an ARM template 是一个相关问题,只需要一个条件 value

我们有四个 parameters.environment.json 文件。例如,这是parameters.dev.json的内容。

{
    "$schema": "https://schema.management.azure.com/schemas/2015-01-01...",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "env": {
            "value": "dev"
        }
    }
}

要求是仅在dev 环境中添加API_KEY 设置,并且在ciqaprod 环境中没有此类键或值。想到这样的事情,但当然不适用于 ARM 模板。

"appSettings": [
    {
        [if(parameters('env') eq 'dev')]
        {
            "name": "API_KEY", 
            "value": "[parameters('apikey')]"
        }    
        [endif()]
    }
]    

【问题讨论】:

    标签: json azure arm-template


    【解决方案1】:

    所以,同样的方法,但传入对象;)如果您需要,您可以创建另一个级别的间接(如果您需要更多条件)。

    "variables": {
    "Appsettings1": {
        "name": "API_KEY1", 
        "value": "[parameters('apikey1')]",
        "existingsetting": "bla-bla"
    },
    "Appsettings2": {
        "name": "API_KEY2", 
        "value": "[parameters('apikey2')]",
        "existingsetting": "bla-bla"
    },
    "realAppsettings": "[variables(parameters('realAppsettings'))]" # < this pulls 
                      # Appsettings1 or Appsettings2 depending on the value or parameter
    ...
    "appSettings": "[variables('realAppsettings')]"
    

    参考:Set an appsetting value conditionally in an ARM template

    【讨论】:

    • 可变应用设置将如何与appsettings 部分中已列出的现有应用设置交互?例如。如果我们以"appSettings": "[ { "EXISTING_SETTING": "some_value" } ]" 开头,那么我们如何添加变量?
    • 我不认为你可以将它们结合起来,你需要将“现有”设置包含到每个 appsettings 变量中,我会更新答案@ShaunLuttin
    • 这就是我所担心的......它可能会导致变量显着膨胀,因为我们需要在那里复制所有其他应用程序设置。 IE。在您的回答中,您只重复了一个现有设置。如果我们有 50 个其他共享设置,我们将需要全部重复。
    • 好吧,我想我可能有一个解决方法给你,但这取决于。
    • 只是你没有得到错误的印象,我不会编辑这个答案来包含它,因为这是一个完全不同的问题:) 而且,它相当大:) @ShaunLuttin
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多