Azure的ARM模式在中國已經落地了。在ARM模式中,通過ARM的Template批量的建立各種資源是與ASM模式的最大的區別之一。目前Azure ARM的Template數量已經越來越多,更多的客戶會選擇採用Template的模式進行資源的部署:
在前面的文章中已經介紹瞭如何通過已有的Template修改成你所需要的模板,請參考:
http://www.cnblogs.com/hengwei/p/5634380.html
本文將一步一步的建立一個最簡單的儲存賬戶的ARM Template,並部署到Azure China中。
一 準備工具
1 下載安裝工具:Visual Studio Code
首先下載Visual Studio Code:
https://code.visualstudio.com/
這個軟體是Visual Studio的簡化版,是免費的。並且可以支援Windows、MAC和Linux。
2 安裝ARM的外掛:
開啟Visual Studio Code,在最左邊點中"Extensions",在搜尋框中輸入azure後搜尋:
其中"Azure Resource Manager Tools"和"armsnippet"就是Azure ARM Template的外掛。點選安裝。
點選Enable,重啟Visual Studio Code。
3 配置Visual Studio Code
從連結:
https://raw.githubusercontent.com/Azure/azure-xplat-arm-tooling/master/VSCode/armsnippets.json
複製內容,在Visual Studio Code中開啟:
File->Preferences->User Snippets:
輸入json,點選JSON:
在{ }中複製剛剛拷貝的內容:
Ctrl-S儲存後關閉Visual Studio Code。
二 準備要建立的資源
本文將編寫最簡單的建立儲存的JSON檔案。如果客戶要建立一個儲存賬戶,需要準備如下資訊:
1 StorageAccountName: hwsa10
2 StorageAccountType: Standard_LRS
3 Resource Group: 採用一個已經存在的hwarm
三 編寫JSON模板
1 編寫AzureDeploy.json檔案
開啟Visual Studio Code,新建一個檔案,在右下角,點選Plain Text輸入json:
2 在編輯區域輸入"arm":
此時會有提示"Microsoft Azure Resouce Manager(ARM) JSON Template structure",按回車:
將會出現:
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": { },
"variables": { },
"resources": [ ],
"outputs": { }
}
ARM模板的標準的幾個引數。
3 編輯parameter
在parameter中輸入相關引數,在輸入了""後,Visual Studio Code出現提示:
這幾項是Parameter可以輸入的引數,其中"type"是必選項。在輸入過程中,每次輸入"",都會出現提示:
把前面準備的"storageAccountName"和"storageAccountType"輸入到Parameter中。
"parameters": {
"storageAccountName":{"type":"string"},
"storageAccountType":{
"type": "string",
"defaultValue": "Standard_LRS",
"allowedValues": [
"Standard_LRS",
"Standard_GRS",
"Premium_LRS"
]
}
},
輸入resource內容:
輸入""後,出現提示,其中apiVersion、location、propertises、type、name是必選項:
同樣,每次輸入""都會有提示:
輸入完的結果:
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"storageAccountName":{"type":"string"},
"storageAccountType":{
"type": "string",
"defaultValue": "Standard_LRS",
"allowedValues": [
"Standard_LRS",
"Standard_GRS",
"Premium_LRS"
]
}
},
"variables": { },
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"name": "[parameters('storageAccountName')]",
"apiVersion": "2015-06-15",
"location": "[resourceGroup().location]",
"properties": {
"accountType": "[parameters('storageAccountType')]"
}
}
],
"outputs": { }
}
四 編輯parameter檔案
根據已有的parameter檔案,將前面定義的兩個引數填好:
{
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"storageAccountName": {
"value": "hwsa01"
},
"storageAccountType": {
"value": "Standard_LRS"
}
}
}
至此,兩個檔案都編輯完成。
然後通過PowerShell可以將此Template釋出到Azure上,建立StorageAccount。
PS C:\Users\hengz> New-AzureRmResourceGroupDeployment -Name hwarmtemplate -ResourceGroupName hwarm -Mode Incremental -TemplateFile D:\AzureDeploy.json -TemplateParameterFile D:\DeployParameterFile.json
DeploymentName : hwarmtemplate
ResourceGroupName : hwarm
ProvisioningState : Succeeded
Timestamp : 2016/9/9 13:29:53
Mode : Incremental
TemplateLink :
Parameters :
Name Type Value
=============== ========================= ==========
storageAccountName String hwsa10
storageAccountType String Standard_LRS
Outputs :
DeploymentDebugLogLevel :