我有一個在單個資源組中提供少量資源的arm模板。其中一些資源隨後發生變化(定價層正在針對不同的資源組進行更改)。Azure - 不允許Arm模板修改現有資源
例如,在我的arm模板中,Sql數據庫最初爲S1性能設置,然後由用戶按比例擴展到S2。然後我編輯我的arm模板以添加存儲帳戶資源。當我爲了增加存儲帳戶我看到我的數據庫被縮小到S1(在我的胳膊模板默認值)發佈至現有的資源組(一個與SQL數據庫擴大到S2)更新的模板。
我的問題是:有沒有辦法阻止arm模板修改現有資源的屬性?
我有一個在單個資源組中提供少量資源的arm模板。其中一些資源隨後發生變化(定價層正在針對不同的資源組進行更改)。Azure - 不允許Arm模板修改現有資源
例如,在我的arm模板中,Sql數據庫最初爲S1性能設置,然後由用戶按比例擴展到S2。然後我編輯我的arm模板以添加存儲帳戶資源。當我爲了增加存儲帳戶我看到我的數據庫被縮小到S1(在我的胳膊模板默認值)發佈至現有的資源組(一個與SQL數據庫擴大到S2)更新的模板。
我的問題是:有沒有辦法阻止arm模板修改現有資源的屬性?
天青RM模板的性質是一個聲明性結構,它定義一個解決方案應該如何進行部署。如果發現不在模板中的東西,它應該根據其所做的事情將其更改爲與模板匹配。
您可能會更好轉換你的模板PowerShell腳本(或REST API調用)的方式,你可以創建/修改信息之前檢查狀態。
另一種方法是修改這些參數在腳本的模板被調用之前。所以你可以將SQL數據庫調整到S2,如果已經存在的話。
您可以創建一個[資源鎖(https://azure.microsoft.com/en-us/documentation/articles/resource-group-lock-resources/)對這些資源,但這樣會導致整個部署失敗。 – BenV
您可以簡單地部署一個僅包含存儲帳戶的不同模板嗎?或者出於某種原因需要將它們結合起來?如果以增量模式(這是默認模式)進行部署,則不會影響模板中未定義的現有資源。 –
@ bmoore-MSFT我們有很多環境(資源組),我們需要確保添加調配新的資源後(資源列表將繼續增長)和現有的資源保持不變。如果我們爲每個資源添加一個單獨的模板,那麼這可能會使升級過程變得更加複雜。這就是爲什麼我想要在一個模板中包含所有內容 – Milen