Azure ARM (6) ARM Template简单介绍

  《Windows Azure Platform 系列文章目录

     Azure ARM (1) 概览

     Azure ARM (2) 概览

     Azure ARM (3) ARM支持的服务类型

     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/

原文地址:https://www.cnblogs.com/threestone/p/6004169.html