手把手教你创建Azure ARM Template
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 :

手把手教你创建Azure ARM Template的更多相关文章
- 手把手教你创建「人物角色Persona」
一.为什么要创建人物角色 下图来自 Cooper interaction design ,同样有购车需求的用户,用车的人不同.各自的目的不同,最终满足需求的车型也有很大差异.对于汽车公司而言,在车辆设 ...
- 手把手教你创建私有podspec
本文来自 网易云社区 . CocoaPods是iOS非常好用的类库管理工具,可以非常方便的管理和更新项目中使用到的第三方库,以及将自己项目中的公共组件交由它管理. 工作中比较常用到的是通过CocoaP ...
- asp.net+mvc+easyui+sqlite 简单用户系统学习之旅(一)—— 手把手教你创建第一个三层架构+mvc的asp.net项目
下面开启项目 1. 打开vs2010-文件-新建项目 2. 先创建一个空的解决方案: 选择其他项目类型-visual studio 解决方案-空白解决方案(默认.NET Framework 4),项目 ...
- 手把手教你创建electron+vue项目
electron可以结合前端的很多框架来进行快速的开发.在这里只讲一种electron结合vue并且使用前端的elementui来快速搭建一个项目页面. 第一步.创建electron 以管理员身份运行 ...
- Azure Powershell script检测登陆并部署ARM Template
本文简单提供了一个Azure powershell脚本,能实现如下功能 Azure (China)账户是否已经登陆了,如果没登陆,会提示你登陆. 要创建的资源组是否存在,存在的话不再创建,直接部署te ...
- Azure ARM (9) 创建ARM模式下的虚拟机网络
<Windows Azure Platform 系列文章目录> 笔者在之前几章内容中,创建了ARM Resource Group,然后在这个ARM Resource Group下创建Azu ...
- Azure ARM (13) 从现有VHD文件,创建新的ARM VM
<Windows Azure Platform 系列文章目录> 本文参考了Git Hub的ARM Template: https://github.com/Azure/azure-quic ...
- Azure ARM (5) ARM Template初探 - 本地JSON Template文件(1)
<Windows Azure Platform 系列文章目录> Azure ARM (1) 概览 Azure ARM (2) 概览 Azure ARM (3) ...
- Azure ARM (6) ARM Template简单介绍
<Windows Azure Platform 系列文章目录> Azure ARM (1) 概览 Azure ARM (2) 概览 Azure ARM (3) ...
随机推荐
- FANCO工程机械云平台
此系统专门为工程机械设备使用单位定制合理的生产要求,监控生产状况,快速体现产值,通过算法计算绩效等
- PHP验证是否为图片格式文件
/** * 判断是否为图片格式(jpg/jpeg/gif/png)文件 * * @param string $filePath * @return bool|string */ function is ...
- ScreenOS地址转换
目录 1. NAT-src 1.1 来自DIP池(启用PAT)的NAT-src 1.2 来自DIP池(禁用PAT)的NAT-src 1.3 来自DIP池(带有地址变换)的NAT-src 1.4 来自出 ...
- C++使用命名空间中成员的三种方式
通过简单的代码来介绍使用命名空间中成员的三种方式(我们最常用到的命名空间是是标准库std,下面的命名空间都以std为例): 使用作用域符:: #include<iostream> int ...
- Nginad广告生成代码分析
大家都知道实时竞价的广告一般会在一个iframe中,这个iframe会有一个复杂的src.那么这个iframe是如何生成的? 这里分析NginAd作为exchange时,如何让媒体网站通过引用一段ad ...
- DataX的安装
DataX的安装 1. 可下载tar包 https://github.com/alibaba/DataX/blob/master/userGuid.md 2. 下载源码自己编译 git clone h ...
- HIVE 2.1.0 安装教程。(数据源mysql)
前期工作 安装JDK 安装Hadoop 安装MySQL 安装Hive 下载Hive安装包 可以从 Apache 其中一个镜像站点中下载最新稳定版的 Hive, apache-hive-2.1.0-bi ...
- 判断一个浏览器是否支持opacity
支持opacity的浏览器,总会将opacity值规范成小于1.0且以0开头的值.例如,如果将opacity指定为:.5,原始支持opacity的浏览器就会将该值规范为0.5,而不支持opacity的 ...
- C# 实现WinForm窗口最小化到系统托盘代码
1.如果不想让程序在任务栏中显示,请把窗体的属性ShowInTaskbar设置为false; 2.如果想让程序启动时就最小化,请设置窗体的属性WindowState设置为Minimized.(Mini ...
- hibernate报错org.hibernate.HibernateException: No CurrentSessionContext configured!
org.hibernate.HibernateException: No CurrentSessionContext configured! at org.hibernate.internal.Ses ...