【发布时间】:2018-10-17 04:26:31
【问题描述】:
我正在寻找一种方法来创建但不更新由 ARM 模板部署的 PaaS sql 服务器的 SKU,但是仍然希望部署模板中的所有其他更改。
我有一个 ARM 模板,代表我当前的基础架构堆栈,它作为我们 CI 的一部分进行部署。 文件中指定的内容之一是我们的 PaaS 数据库的大小比例,例如:
"sku": {
"name": "BC_Gen4",
"tier": "BusinessCritical",
"family": "Gen4",
"capacity": 2
}
由于临时的高工作量,我已将 cpu 的数量扩展到 4 个(甚至 8 个)。有什么方法可以部署不会强制将我的数据库缩减回指定 sku 的模板?
resources.azure.com 显示还有其他与缩放相关的属性。 理想情况下,这将设置为“如果此资源不存在,则将其设置为 X,否则使用现有的 currentServiceObjectiveName/currentSku”
"kind": "v12.0,user,vcore",
"properties": {
"currentServiceObjectiveName": "BC_Gen4_2",
"requestedServiceObjectiveName": "BC_Gen4_2",
"currentSku": {
"name": "BC_Gen4",
"tier": "BusinessCritical",
"family": "Gen4",
"capacity": 2
}
}
目前我们的基础架构是通过 VSTS Azure Resource Group Deployment V2.* 在“创建或更新资源组,完成”模式下部署的。
【问题讨论】:
-
我突然想到了一个想法,您也许可以使用
reference(xx,xx,'full')提取当前的 sku,但您需要一个嵌套模板(我相信)才能使其工作 -
"引用函数从运行时状态派生出它的值,因此不能用在变量部分。它可以用在模板或链接模板的输出部分。不能用于嵌套模板的输出部分。要在嵌套模板中返回已部署资源的值,请将嵌套模板转换为链接模板。” --docs.microsoft.com/en-us/azure/azure-resource-manager/…。谢谢@4c74356b41 看起来使用参考功能可能是一种前进的方式(使用链接模板)
-
是的,没有他们你就无法做到这一点
标签: azure azure-resource-manager