2016-10-26 76 views
0

我想在現有託管計劃(Microsoft.Web/serverfarms)上部署一個網站(Microsoft.Web/sites)資源,而無需在ARM模板中定義sku,workersize等。它應該直接使用託管計劃而不會改變它。但sku似乎是託管計劃定義所必需的,並且託管計劃定義似乎是網站定義所必需的。如何在Azure資源管理器模板中使用現有的Microsoft.Web/serverfarms?

目前我們閱讀託管計劃的sku並將其設置爲ARM模板中的一個參數,但有時它仍會觸發Azure中的縮放操作並重新啓動託管計劃中的所有網站。

回答

3

您在ARM模板來設置的託管計劃唯一需要的就是服務器農場的RESOURCEID - 這是下面的serverFarmId財產...

 "name": "[variables('websiteName')]", 
     "type": "Microsoft.Web/sites", 
     "location": "centralus", 
     "apiVersion": "2015-08-01", 
     "dependsOn": [ ], 
     "tags": { 
      "displayName": "website" 
     }, 
     "properties": { 
      "name": "[variables('websiteName')]", 
      "serverFarmId": "[resourceId(parameters('serverFarmResourceGroupName'), 'Microsoft.Web/serverFarms', parameters('AppSvcPlanName'))]" 
     } 

這是準系統,但它會把一個Web應用程序進入現有的serverFarm。

+0

我想我的問題是,我不提供serverFarmId的resourceId函數中的serverFarmResourceGroupName參數,這似乎只在serverFarm在同一個模板中定義時才起作用。 –

+1

是的,你釘 - 如果一個函數的參數不提供它默認爲當前on(subscriptionId在resourceId()fn)中的工作方式相同 –

+0

@ bmoore-msft - 爲什麼把同樣的東西(ServerFarmId)在'dependsOn'下面給出錯誤? –

相關問題