《Windows Azure Platform 系列文章目录》
Azure ARM (4) 开始创建ARM Resource Group并创建存储账户
在上一节中,笔者介绍了如何从现有的Azure Resource Group导出Template。
接下来,我们将总体介绍Azure Template。
1.首先,我们打开文本编辑器,创建一个JSON文件,命名为azuredeploy.json
然后复制以下内容:
{ "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { }, "variables": { }, "resources": [ ], "outputs": { } }
上面的内容就是一个Azure Template的标准Schema。
2.然后我们在resources节点,增加以下内容:
"resources": [ { "type": "Microsoft.Storage/storageAccounts", "name": "[parameters('storageAccountName')]", "apiVersion": "2015-06-15", "location": "[resourceGroup().location]", "properties": { "accountType": "Standard_LRS" } } ]
这里描述的是,在Azure Template,需要增加一个资源:
(1)Type类型为Azure Storage Account
(2)这个Storage Account的name,从parameters节点里面获得
(3)apiVersion,我们用上面的参数
(4)location的值,我们和Azure Resource Group在同一个数据中心
(5)这个存储账户的properties,是标准的本地冗余(Standard_LRS), Local Redundant Storage
3.然后我们在parameters节点,增加以下内容:
"parameters" : { "storageAccountName": { "type": "string", "metadata": { "description": "Storage Account Name" } } }
这里的parameters,定义了Azure Storage Account Name。这个值会赋值给上面resources节点的name。
4.我们最后生成的azuredeploy.json文件,内容如下:
{ "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters" : { "storageAccountName": { "type": "string", "metadata": { "description": "Storage Account Name" } } }, "resources": [ { "type": "Microsoft.Storage/storageAccounts", "name": "[parameters('storageAccountName')]", "apiVersion": "2015-06-15", "location": "[resourceGroup().location]", "properties": { "accountType": "Standard_LRS" } } ] }
这里要特别注意上面的内容:
(1) parameters节点,定义了azuredeploy.json的变量,名称为storageAccountName
(2) resources节点,包含一个存储账户信息,这个存储账户的name,从变量storageAccountName获得
(3) 这个storageAccountName的值,具体在parameters.json定义(参考下面的内容)
5.我们需要设置parameters.json,里面设置了这个存储账户的名称。注意必须为小写
{ "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#", "contentVersion": "1.0.0.0", "parameters": { "storageAccountName": { "value": "leizhangstorage1" } } }
6.我们下载并运行Azure PowerShell,运行以下命令:
#Login Azure China Cloud Write-Host "Logging in..."; Add-AzureRmAccount -EnvironmentName AzureChinaCloud; # 选择Azure China 订阅ID Select-AzureRmSubscription -SubscriptionID "[YourSubscriptionID]" # create a new resource group in China East New-AzureRmResourceGroup -Name TestResourceGroup -Location "China East" # 下面的azuredeploy.json 和 parameters.json 都需要设置本地路径 New-AzureRmResourceGroupDeployment -Name ExampleDeployment -ResourceGroupName ExampleResourceGroup -TemplateFile azuredeploy.json -parametersFilePath parameters.json
Azure PowerShell执行以后,我们就创建了一个新的Azure Resource Group,命名为TestResourceGroup
在这个Resource Group下,创建一个新的存储账户叫 leizhangstorage1。
参考资料:https://azure.microsoft.com/en-us/documentation/articles/resource-manager-template-walkthrough/