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的更多相关文章

  1. 手把手教你创建「人物角色Persona」

    一.为什么要创建人物角色 下图来自 Cooper interaction design ,同样有购车需求的用户,用车的人不同.各自的目的不同,最终满足需求的车型也有很大差异.对于汽车公司而言,在车辆设 ...

  2. 手把手教你创建私有podspec

    本文来自 网易云社区 . CocoaPods是iOS非常好用的类库管理工具,可以非常方便的管理和更新项目中使用到的第三方库,以及将自己项目中的公共组件交由它管理. 工作中比较常用到的是通过CocoaP ...

  3. asp.net+mvc+easyui+sqlite 简单用户系统学习之旅(一)—— 手把手教你创建第一个三层架构+mvc的asp.net项目

    下面开启项目 1. 打开vs2010-文件-新建项目 2. 先创建一个空的解决方案: 选择其他项目类型-visual studio 解决方案-空白解决方案(默认.NET Framework 4),项目 ...

  4. 手把手教你创建electron+vue项目

    electron可以结合前端的很多框架来进行快速的开发.在这里只讲一种electron结合vue并且使用前端的elementui来快速搭建一个项目页面. 第一步.创建electron 以管理员身份运行 ...

  5. Azure Powershell script检测登陆并部署ARM Template

    本文简单提供了一个Azure powershell脚本,能实现如下功能 Azure (China)账户是否已经登陆了,如果没登陆,会提示你登陆. 要创建的资源组是否存在,存在的话不再创建,直接部署te ...

  6. Azure ARM (9) 创建ARM模式下的虚拟机网络

    <Windows Azure Platform 系列文章目录> 笔者在之前几章内容中,创建了ARM Resource Group,然后在这个ARM Resource Group下创建Azu ...

  7. Azure ARM (13) 从现有VHD文件,创建新的ARM VM

    <Windows Azure Platform 系列文章目录> 本文参考了Git Hub的ARM Template: https://github.com/Azure/azure-quic ...

  8. Azure ARM (5) ARM Template初探 - 本地JSON Template文件(1)

    <Windows Azure Platform 系列文章目录>      Azure ARM (1) 概览      Azure ARM (2) 概览      Azure ARM (3) ...

  9. Azure ARM (6) ARM Template简单介绍

    <Windows Azure Platform 系列文章目录>      Azure ARM (1) 概览      Azure ARM (2) 概览      Azure ARM (3) ...

随机推荐

  1. Windows定时任务没有执行

    最近部署网站首页静态化程序,需要定时执行的,由于部署在Windows上,为了方便直接用Windows计划任务做定时了.跑了一段时间发现.首页的静态html文件日期一直是老的,手动执行程序会更新,怀疑任 ...

  2. PHP中的常见魔术方法功能作用及用法实例

    概述 在面向对象编程中,PHP提供了一系列的魔术方法,这些魔术方法为编程提供了很多便利.PHP中的魔术方法通常以__(两个下划线)开始,并且不需要显示的调用而是由某种特定的条件出发. 开始之前 在总结 ...

  3. 20145210姚思羽《网络对抗》MSF基础应用实验

    20145210姚思羽<网络对抗>MSF基础应用实验 实验后回答问题 1.用自己的话解释什么是exploit,payload,encode. exploit就是进行攻击的那一步 paylo ...

  4. Docker 搭建一个Docker应用栈

    Docker应用栈结构图 Build Django容器 编写docker-file FROM django RUN pip install redis build django-with-redis ...

  5. seajs 入门

    最近想搞搞JS模块化, 读到了园子里的一篇好文:  http://www.cnblogs.com/lvdabao/p/js-modules-develop.html 看里面讲seajs不错, 于是想学 ...

  6. java.net.UnknownHostException异常处理

    1.问题描述 最近迁移环境,在Linux系统下部署Java产品的应用,后台报出如下异常,系统报找不到名为“xxx-houtai1”的主机: 1 java.net.UnknownHostExceptio ...

  7. Java 关于final那些事

    先说结论:对于引用类型的变量,Java本身会创建两个东西,一个是对象本身,另一个是记录对象地址的一个int值,将引用类型的对象声明为final实际上是固定记录地址的那个int的值不能改变,如果通过某种 ...

  8. SSH或者SSM开发web,mysql数据库,数据库配置文件配置不当~数据库读写数据乱码问题解决办法。

    相信,大家都有遇到过在传入一个中文string,debug自己的每一行代码时,都发现始终是没有乱码的(即:排除了,源码文件的编码格式是没问题的),但是数据进入数据库之后就是乱掉了. 那么很明显问题就出 ...

  9. 262. Trips and Users

    问题描述 解决方案 -- case when 的效率比if的效率高 -- select Trips.Request_at as 'Day', -- round(sum(case Trips.Statu ...

  10. poj2289二分图多重匹配

    题意:给你一张二分图,求右边点到汇点的最小容量(保证流量为n)是多少 题解:二分答案,每次重新建边跑最大流,看是不是为n就好了 #include<map> #include<set& ...