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

简介:

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/



本文转自Lei Zhang博客园博客,原文链接:http://www.cnblogs.com/threestone/p/5998095.html,如需转载请自行联系原作者

目录
相关文章
|
4月前
|
JSON 算法 vr&ar
目标检测笔记(五):查看通过COCOEvaluator生成的coco_instances_results.json文件的详细检测信息,包含AP、AR、MR和DR等
本文介绍了如何使用COCO评估器通过Detectron2库对目标检测模型进行性能评估,生成coco_instances_results.json文件,并利用pycocotools解析该文件以计算AP、AR、MR和DR等关键指标。
246 1
目标检测笔记(五):查看通过COCOEvaluator生成的coco_instances_results.json文件的详细检测信息,包含AP、AR、MR和DR等
|
8天前
|
开发工具 git 索引
怎么取消对project.private.config.json这个文件的git记录
通过以上步骤,您可以成功取消对 `project.private.config.json`文件的Git记录。这样,文件将不会被包含在未来的提交中,同时仍保留在您的工作区中。
55 28
|
5月前
|
XML JSON JavaScript
R JSON 文件
JSON: JavaScript Object Notation(JavaScript 对象表示法)。
92 29
|
4月前
|
JSON 数据格式 Python
Python实用记录(十四):python统计某个单词在TXT/JSON文件中出现的次数
这篇文章介绍了一个Python脚本,用于统计TXT或JSON文件中特定单词的出现次数。它包含两个函数,分别处理文本和JSON文件,并通过命令行参数接收文件路径、目标单词和文件格式。文章还提供了代码逻辑的解释和示例用法。
68 0
Python实用记录(十四):python统计某个单词在TXT/JSON文件中出现的次数
|
4月前
|
JSON 数据格式
LangChain-20 Document Loader 文件加载 加载MD DOCX EXCEL PPT PDF HTML JSON 等多种文件格式 后续可通过FAISS向量化 增强检索
LangChain-20 Document Loader 文件加载 加载MD DOCX EXCEL PPT PDF HTML JSON 等多种文件格式 后续可通过FAISS向量化 增强检索
248 2
|
5月前
|
JSON 前端开发 JavaScript
java中post请求调用下载文件接口浏览器未弹窗而是返回一堆json,为啥
客户端调接口需要返回另存为弹窗,下载文件,但是遇到的问题是接口调用成功且不报错,浏览器F12查看居然返回一堆json,而没有另存为弹窗; > 正确的效果应该是:接口调用成功且浏览器F12不返回任何json,而是弹窗另存为窗口,直接保存文件即可。
203 2
|
5月前
|
JSON 前端开发 中间件
React读取properties配置文件转化为json对象并使用在url地址中
本文介绍了如何在React项目中读取properties配置文件,将其内容转化为JSON对象,并在请求URL地址时使用这些配置。文章详细说明了异步读取文件、处理字符串转换为JSON对象的过程,并提供了一个封装函数,用于在发起请求前动态生成配置化的URL地址。
123 1
|
5月前
|
JSON 前端开发 JavaScript
解析JSON文件
解析JSON文件
181 9
|
4月前
|
JSON 数据格式 计算机视觉
Opencv实用笔记(一): 获取并绘制JSON标注文件目标区域(可单独保存目标小图)
本文介绍了如何使用OpenCV和Python根据JSON标注文件获取并绘制目标区域,同时可将裁剪的图像单独保存。通过示例代码,展示了如何读取图片路径、解析JSON标注、绘制标注框并保存裁剪图像的过程。此外,还提供了相关的博客链接,供读者进一步学习。
84 0
|
5月前
|
JSON 数据格式 Python
6-1|Python如何将json转化为字符串写到文件内 还保留json格式
6-1|Python如何将json转化为字符串写到文件内 还保留json格式

热门文章

最新文章