《Windows Azure Platform 系列文章目录

     Azure ARM (1) 概览

     Azure ARM (2) 概览

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

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

  1. 使用Json Template在Azure China创建ARM类型的虚拟机

    前面几篇文章介绍过Azure的两种VM的模式,包括ASM和ARM.并且介绍了如何用Azure CLI和PowerShell创建虚拟机.本文将介绍如何采用Json的Template来创建基于ARM的VM ...

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

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

  3. Azure ARM (7) ARM Template - 使用Visual Studio编辑

    <Windows Azure Platform 系列文章目录> 之前介绍的ARM Template,都是使用文本编辑器来编辑JSON文件的. 文本讲介绍如何使用Visual Studio, ...

  4. 用Json Template在Azure上创建Cisco CSR路由器

    Azure的ARM模式可以通过Json的模板创建VM.本文以Cisco的CSR的image为例,介绍如何用Json的创建VM. 一.Cisco CSR的Image 首先把Cisco CSR的image ...

  5. Azure上采用Json Template从已有的VHD创建VM

    从已有的VHD创建VM是使用Azure中经常要操作的内容. 本文将介绍如何采用Json Template从已经有的VHD创建VM. 一.准备VHD 在我的Azure账户中选择一台VM,如下图: 查看其 ...

  6. Azure cli使用arm创建多网卡虚拟机

    登录 Azure CLI 并使用 Resource Manager 模式: azure config mode arm 在以下示例中,请将示例参数名称替换为你自己的值.示例参数名称包括 myResou ...

  7. Azure Powershell对ARM资源的基本操作

    本分主要介绍Windows Azure Powershell对ARM资源的基本操作 1.登陆ARM模式,命令:Login-AzureRmAccount -EnvironmentName AzureCh ...

  8. SQL Azure (14) 将云端SQL Azure中的数据库备份到本地SQL Server

    <Windows Azure Platform 系列文章目录> 注意: 1.只有SQL Server 2012 CU4及以上版本才支持本章内容 2.当你的数据库文件很大时,建议优化以下内容 ...

  9. ajax和axios请求本地json数据对比

    AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术,通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进 ...

随机推荐

  1. libmegjb.so加载问题调试和分析

    欢迎转载opendevkit文章, 文章原始地址: http://www.opendevkit.com/?e=70 01-01 00:09:21.084: D/dalvikvm(10394): Try ...

  2. Visual Studio 2013 错误提示“未找到与约束匹配”的修正

    昨天由于项目需要,在开发电脑上安装了Microsoft Office Project 2007来做时间计划,但是安装之后第二天重新打开VS之后,就无法打开项目或者原有程序文件无法打开.错图提示界面如下 ...

  3. SqlServer2012 数据库的同步问题汇总

    1.当订阅由发布服务器集中管理时正常,而把这些订阅分由订阅服务器管理,在发布服务器初始化订阅时,这些订阅就会出现无法访问某地址的问题,即使添加Everyone的完全控制权限也无用. 2.SqlServ ...

  4. 《IO 系统性能》笔记

    近期项目中涉及和别人谈存储架构及选型,将IOPS相关的内容学习下.参考网上资料<IO 系统性能之一:衡量性能的几个指标> 1. 基本概念 1)读写IO操作:对应磁盘的存数据.取数据: 2) ...

  5. JavaScript工具库之Lodash

    你还在为JavaScript中的数据转换.匹配.查找等烦恼吗?一堆看似简单的foreach,却冗长无趣,可仍还在不停的repeat it!也许你已经用上了Underscore.js,不错,你已经进步很 ...

  6. [PCB制作] 1、记录一个简单的电路板的制作过程——四线二项步进电机驱动模块(L6219)

    前言 现在,很多人手上都有一两个电子设备,但是却很少有人清楚其中比较关键的部分(PCB电路板)是如何制作出来的.我虽然懂点硬件,但是之前设计的简单系统都是自己在万能板上用导线自己焊接的(如下图左),复 ...

  7. 由ASP.NET所谓前台调用后台、后台调用前台想到HTTP——实践篇(二)

    在由ASP.NET所谓前台调用后台.后台调用前台想到HTTP——理论篇中描述了一下ASP.NET新手的三个问题及相关的HTTP协议内容,在由ASP.NET所谓前台调用后台.后台调用前台想到HTTP—— ...

  8. webservice4

    原理: 参考 http://lvwenwen.iteye.com/blog/1478236 客户端通过get请求可以得到wsdl文件,也就知道服务器提供的方法和参数了,然后客户端会通过webservi ...

  9. MSP是什么?

    本人在项目管理圈儿也算是摸爬滚打了几载,近几年真是各种压力大,看同行们各种参加培训.认证......我也不能懈怠啊,赶紧上网搜搜相关的培训和认证信息,不搜不知道一搜吓一跳.原本只知道PMP和PRINC ...

  10. PDO预处理

    方法:bool PDOStatement::execute ([ array $input_parameters ] ) 1.PDOStatement::execute不使用参数 01)单个绑定值(P ...