Azure Lei Zhang的博客

weibo: LeiZhang的微博/QQ: 185165016/QQ群:319036205/邮箱:leizhang1984@outlook.com/TeL:139-161-22926

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  390 随笔 :: 0 文章 :: 394 评论 :: 0 引用

  《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/

posted on 2016-10-27 18:31 Lei Zhang的博客 阅读(...) 评论(...) 编辑 收藏