历史上的今天
返回首页

历史上的今天

今天是:2024年12月10日(星期二)

正在发生

2019年12月10日 | Azure ARM (5) ARM Template初探 - 本地JSON Template文件(1)

2019-12-10 来源:eefocus

  在之前的文章里,笔者介绍了:我们可以在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:DesktopARMExportedTemplate-LeiResourceGrouptemplate.json" -parametersFilePath "D:DesktopARMExportedTemplate-LeiResourceGroupparameters.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/

推荐阅读

史海拾趣

CIPS公司的发展小趣事

在2015年,跨境银行间支付清算有限责任公司(CIPS Co., Ltd.)正式成立,并随之推出了人民币跨境支付系统(CIPS)。这一系统的诞生,标志着中国电子支付行业在跨境支付领域迈出了坚实的一步。CIPS系统的建立,不仅满足了国内外金融机构对高效、安全、便捷的跨境支付服务的需求,更为人民币国际化进程提供了有力支持。

普芯达电子(Chipswinner)公司的发展小趣事

普芯达电子的“中国风”系列产品是公司发展历程中的一个重要里程碑。该系列产品经过严格的质量控制和品质检测,以其优异的性能和可靠的品质赢得了市场的广泛认可。通过一系列的市场推广活动,“中国风”品牌逐渐深入人心,成为国产集成电路产品的代表之一。同时,普芯达电子还通过不断创新和优化产品,满足了客户日益增长的需求,进一步巩固了市场地位。

Digilent公司的发展小趣事

在全球节能意识日益增强的背景下,DIALIGHT致力于推动绿色照明的发展。公司的LED产品具有高效节能、长寿命和环保等优点,有助于减少能源消耗和环境污染。此外,DIALIGHT还积极参与各种绿色照明项目,为推动可持续发展贡献自己的力量。

Eagle-Picher公司的发展小趣事

然而,Eagle-Picher的发展并非一帆风顺。1991年9月16日,位于密苏里州乔普林的Eagle-Picher工业公司电子部遭受了一场毁灭性的大火。火灾导致公司的电池生产设备化为灰烬,给公司的业务带来了巨大的打击。然而,Eagle-Picher并没有放弃,而是迅速组织力量进行重建和恢复生产。这一事件虽然给公司带来了短期的困难,但也展现了Eagle-Picher的坚韧和决心。

西博臣(CYBERSEN)公司的发展小趣事

广州西博臣科技有限公司(简称西博臣)成立于2001年,从创立之初就专注于湿度传感器的研发和生产。公司是国内最早从事高分子湿度传感器研发并进行规模化生产的厂家之一,凭借其独特的技术实力和对行业的深刻理解,逐渐在市场中崭露头角。

GTM公司的发展小趣事

作为一家技术驱动型企业,西博臣始终将创新作为发展的核心动力。公司不断投入资源进行新技术和新产品的研发,积极申请各类专利和知识产权,以保护自己的技术成果。这些专利和知识产权不仅提升了公司的技术实力,也为其在市场中树立了良好的口碑。

问答坊 | AI 解惑

《微型计算机原理及应用》许立梓

看看对大家有没有用,谢谢支持回复…

查看全部问答>

谁有mini SD卡座的PCB图库

我没有实物也没有样图,如果谁有,就发个pcb图给我就好了…

查看全部问答>

单片机LCD12864显示原理及驱动命令?

写驱动程序时要注意的问题有哪些?…

查看全部问答>

linux下如何使用arm-linux-gcc编译器

如题linux下如何使用arm-linux-gcc编译器…

查看全部问答>

我要做一个光驱过滤驱动,如何禁用写打开操作?

如题,我想要写一个光驱过滤驱动,要实现的功能是禁止刻录光驱刻录光盘,本来我已经写好一个了,是在禁用IRP_MJ_WRITE,在这个IRP的派遣函数里将请求拒绝,这样就不会把数据刻录到光盘上了。 但是现在领导要求我判断是不是写打开,在写打开光驱时 ...…

查看全部问答>

EVC中模拟器使用问题

我和我们同学两台电脑,装的是EVC4.2,在他的电脑上就可以用EVC自带的模拟器,可在我的电脑上就不行,一开机就出现以下这个提示: Virtual pc/windows cE Emulator 会造成windows不稳定。Windows 史这些驱动程序无法加载。 在Evc中如果用模拟器就 ...…

查看全部问答>

国赛作品测试,大家有什么感想

本帖最后由 paulhyde 于 2014-9-15 03:56 编辑 我们明天就去作品测试了,心里很期待它能工作,拿个好成绩。  …

查看全部问答>

探讨可编程增益放大器驱动参考引脚

可编程增益放大器 (PGA) 是特殊的放大器结构(请参见图 1),具有经过修整的内部电阻器网络,拥有比采用离散式电阻器组件的放大器更高的性能。正如图 1 中 PGA 传输函数所显示那样,PGA 输出的绝对误差与内部偏移电压(VOS)、增益精度和 VREF 绝对精 ...…

查看全部问答>

STM32驱动并行式DAC,数据更新速率能否做到10M?

可能我说的还不够清楚,是这样的: 用STM32驱动AD904E(一款14位并行式DAC,即送数到IO口即可得到模拟量), 时序方法是 时钟线低电平->内存取数->送数到IO口->时钟线高电平 我用库函数编写驱动,数据更新率做到1.3MBaud左右 昨晚用汇编编写, ...…

查看全部问答>