Azure ARM (5) ARM Template初探 - 本地JSON Template文件(1)
《Windows Azure Platform 系列文章目录》
Azure ARM (4) 开始创建ARM Resource Group并创建存储账户
本文需要的ARM Template,在这里下载。
在之前的文章里,笔者介绍了:我们可以在ARM模式下,通过JSON Template来部署Azure资源。通过使用JSON Template,我们可以重复部署多个Azure资源。
这个对于独立软件开发商(ISV)来说是非常重要的。比如厂商Contoso基于微软Azure开发了一套多租户的产品,给客户A使用。当客户B需要使用的时候,Contoso管理员只要从客户A的环境里,将Azure Deployment的JSON Template导出,进行相应的修改。然后再部署到Azure环境,即可把该环境提供给客户B使用。这种需要重复部署Azure资源的场景,非常适合使用Azure JSON Template。
而且,当我们需要同时部署开发环境和测试环境,使用JSON Template也可以非常快速完成相应操作。
在上一章内容中,笔者首先介绍了如何创建一个Azure Resource Group(命名为LeiResourceGroup),然后在这个Resource Group下创建Azure Storage Account(leistorageaccount)。
我们不直接创建一个空的ARM Template,而是基于之前几章的内容。介绍一下ARM Template的架构。
1.我们访问Azure New Portal: https://portal.azure.cn
2.选中之前创建的LeiResourceGroup,点击Automation Script。如下图:

上图中要特别注意右上角的几个参数。如下图:

(1) Template:这表示Resource Group下包含的Azure资源。我们这里只包含了Azure Storage Account
Template对Azure资源进行了定义。
(2) Parameters :Parameters 定义了参数值。我们可以通过修改Partmeters文件内容,来决定Template部署的内容名称。
Parameters可以理解为Web.config文件。
(3) CLI: Azure命令行工具(command-line-interface,CLI),是由Azure服务器端生成的CLI部署模板。
(4) PowerShell: 由Azure服务器生成的Azure PowerShell部署模板。
(5) .NET: 由Azure服务器端生成的.NET部署模板
(6)Ruby: 由Azure服务器端生成的Ruby部署模板。
本节我们不直接创建一个空的ARM Templat,一般性的执行过程是这样的:
(1)我们根据需要,下载不同语言的Azure Template
(2)查看Template文件,修改里面需要的Azure资源,比如增加或者减少Azure Virtual Machine, Azure Virtual Network,Storage Account等
(3)根据自己的需求,修改Parameters 里面定义的参数值。比如VM Name, VNet Name, Storage Account Name等
(4)使用不同的方法(CLI, PowerShell, .NET或者Ruby),部署需要的Azure Template
3.我们点击上图中,点击Download。如下图:

将下载好的文件,保存在D盘根目录下。然后解压缩。
4.我们这里不做大的修改。主要修改以下内容:
(1)修改deploy.ps1里面的Add-AzureRmAccount,修改为:Add-AzureRmAccount -EnvironmentName AzureChinaCloud;
现在默认的Azure Template PowerShell是指向到海外Azure。
(2)修改deploy.ps1,注释以下内容:
# Register RPs
#$resourceProviders = @("microsoft.storage");
#if($resourceProviders.length) {
# Write-Host "Registering resource providers"
# foreach($resourceProvider in $resourceProviders) {
# RegisterRP($resourceProvider);
# }
#}
(3)template.json不要修改
(4)修改parameters.json里面的参数值,value为"leistorageaccountnew",注意value有双引号,然后值必须小写(因为存储账户名称必须为小写)
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"storageAccounts_leistorageaccount_name": {
"value": "leistorageaccountnew"
}
}
}
4.请注意:deploy.ps1里面的PowerShell语法,是增量部署。
5.修改完毕后,我们打开Azure PowerShell,执行这个deploy.ps1。命令如下:
.\deploy.ps1 -subscriptionId "fa02e842-5d77-4a05-9089-7ce3fdb786e0" -resourceGroupName "LeiResourceGroup" -resourceGroupLocation "China East" -deploymentName "Lei Test on 2016/10/7" -templateFilePath "D:\Desktop\ARM\ExportedTemplate-LeiResourceGroup\template.json" -parametersFilePath "D:\Desktop\ARM\ExportedTemplate-LeiResourceGroup\parameters.json"
我们分别设置了subscriptionId,ResourceGroupName,resourceGroupLocation,deploymentName和templateFilePath,parametersFilePath
6.PowerShell正常执行:

7.我们再查看Azure New Portal,可以查看到本节新增的Azure Storage Account:
这个Storage Account就是通过Template部署的

参考资料:https://azure.microsoft.com/en-us/documentation/articles/resource-manager-export-template/
Azure ARM (5) ARM Template初探 - 本地JSON Template文件(1)的更多相关文章
- 使用Json Template在Azure China创建ARM类型的虚拟机
前面几篇文章介绍过Azure的两种VM的模式,包括ASM和ARM.并且介绍了如何用Azure CLI和PowerShell创建虚拟机.本文将介绍如何采用Json的Template来创建基于ARM的VM ...
- Azure ARM (6) ARM Template简单介绍
<Windows Azure Platform 系列文章目录> Azure ARM (1) 概览 Azure ARM (2) 概览 Azure ARM (3) ...
- Azure ARM (7) ARM Template - 使用Visual Studio编辑
<Windows Azure Platform 系列文章目录> 之前介绍的ARM Template,都是使用文本编辑器来编辑JSON文件的. 文本讲介绍如何使用Visual Studio, ...
- 用Json Template在Azure上创建Cisco CSR路由器
Azure的ARM模式可以通过Json的模板创建VM.本文以Cisco的CSR的image为例,介绍如何用Json的创建VM. 一.Cisco CSR的Image 首先把Cisco CSR的image ...
- Azure上采用Json Template从已有的VHD创建VM
从已有的VHD创建VM是使用Azure中经常要操作的内容. 本文将介绍如何采用Json Template从已经有的VHD创建VM. 一.准备VHD 在我的Azure账户中选择一台VM,如下图: 查看其 ...
- Azure cli使用arm创建多网卡虚拟机
登录 Azure CLI 并使用 Resource Manager 模式: azure config mode arm 在以下示例中,请将示例参数名称替换为你自己的值.示例参数名称包括 myResou ...
- Azure Powershell对ARM资源的基本操作
本分主要介绍Windows Azure Powershell对ARM资源的基本操作 1.登陆ARM模式,命令:Login-AzureRmAccount -EnvironmentName AzureCh ...
- SQL Azure (14) 将云端SQL Azure中的数据库备份到本地SQL Server
<Windows Azure Platform 系列文章目录> 注意: 1.只有SQL Server 2012 CU4及以上版本才支持本章内容 2.当你的数据库文件很大时,建议优化以下内容 ...
- ajax和axios请求本地json数据对比
AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术,通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进 ...
随机推荐
- NativeScript 也能开发桌面应用 (nativescript-dotnet-runtime)
自从看了NativeScript就甚是喜欢,心想要是也能开发桌面应用该多好.求人不如求己,开源组件很强大,差不多组装一下就行了,说干就干. Javascript 引擎用 Jint , 纯C#实现,集成 ...
- 让你的Android程序更省电
app主要耗电的原因如下: 1 cpu频繁的运转 -----控制线程 2 大数据量的传输----- 数据压缩传输 3 不停的在网络间切换------------判断网络状体 4 人开发的程序后台都 ...
- 分享一个漂亮的ASP.NET MVC界面框架
本文分享一个插件化的界面框架,该框架提供了用户.角色.权限管理功能,也提供了插件的管理和插件中心.下图是该界面框架的样式(全部源码和原理介绍下一篇分享,推荐越多,源码放的越早,呵呵). 要使用该界面框 ...
- Web服务器常用设置
1.Tomcat浏览目录 找到安装目录下的文件/conf/web.xml, 找到以下配置节,将parame-value设置为true即可 <init-param> ...
- Aoite 系列(04) - 强劲的 CommandModel 开发模式(上篇)
Aoite 是一个适于任何 .Net Framework 4.0+ 项目的快速开发整体解决方案.Aoite.CommandModel 是一种开发模式,我把它成为"命令模型",这是一 ...
- Silverlight4中实现Theme的动态切换
Silverlight一般用来开发一些企业的应用系统,如果用户一直面对同一种风格的页面,时间长了难免厌烦,所以一般都会提供好几种风格及Theme供用户选中,下面就来说一下如何在不重新登录系统的情况下, ...
- jquery插件:仿百度首页可展开收起的消息提示控件
消息提示插件大伙并不陌生了,无论是个系统还是网站,基本都要有消息系统.但我认为,一个好的提示插件应当具备很好的独立性,不与页面其他元素发生任何关系,其次是能对外提供丰富的接口,因为你生来就是被别人来调 ...
- Linux 通配符
概述 本章节主要介绍关于linux通配符的用法,熟练运用通配符可以提高工作效率并且可以简化一些繁琐的处理步骤. 正文 测试数据 touch a a6.log abc.log ac.txt b c c5 ...
- OpenSSL密码算法库: MD5示例小程序
OpenSSL http://www.openssl.org/ OpenSSL整个软件包大概可以分成三个主要的功能部分:密码算法库.SSL协议库以及应用程序.OpenSSL 的密码算法库包含多种加密算 ...
- [ZigBee] 14、Zigbee无线通信前奏——BasicRF 简单无线点对点传输协议
本工程不带zigbee协议栈,作为过渡 实验现象: 一个EB2530(终端A)定义为发射模块,另一个EB2530(终端B)定义为接收模块. 按EB2530(终端A)上的按键,无线控制另一个EB2530 ...