Azure ARMテンプレートがあり、これはMicrosoft.Web/site用の設定を追加しています。ARMテンプレートに条件付きで設定値を設定する
"resources": [
{
"apiVersion": "2016-03-01",
"name": "myazurefunction",
"type": "Microsoft.Web/sites",
"properties": {
"name": "myazurefunction",
"siteConfig": {
"appSettings": [
{
"name": "MY_SERVICE_URL",
"value": "[concat('https://myservice-', parameters('env'), '.domain.ca')]"
}
]
}
}
}
]
また、parameters.environment.json
のファイルが4つあります。たとえば、これはparameters.dev.json
の内容です。
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01...",
"contentVersion": "1.0.0.0",
"parameters": {
"env": {
"value": "dev"
}
}
}
テンプレートとそのパラメータは、設定よりも慣習に適しています。これはほとんどの場合うまく機能し、次のMY_SERVICE_URL
値につながります。
- https://myservice-dev.domain.ca
- https://myservice-qa.domain.ca
- https://myservice-ci.domain.ca
- https://myservice-prod.domain.ca
問題は、私たちがdev
環境のための規則を破るしたいということです。我々は唯一の環境のための規則を破るためにARMテンプレートを設定するにはどうすればよい
:つまり、我々はそれが次のようになりますMY_SERVICE_URL
をしたいですか?
私はまずこのような条件を使用しますが、そのようなARM関数は使用できないように見えます。
"name": "MY_SERVICE_URL",
"value": "[parameters('env') -eq 'dev'
? 'https://abc123.foo.bar.baz.ca'
: concat('https://myservice-', parameters('env'), '.domain.ca')]"
申し訳ありませんが、タイプミスを修正して、コメントを追加しました@ ShaunLuttin – 4c74356b41