Azure ARM (6) ARM Template简单介绍
《Windows Azure Platform 系列文章目录》
Azure ARM (4) 开始创建ARM Resource Group并创建存储账户
在上一节中,笔者介绍了如何从现有的Azure Resource Group导出Template。
接下来,我们将总体介绍Azure Template。
1.首先,我们打开文本编辑器,创建一个JSON文件,命名为azuredeploy.json
然后复制以下内容:
{
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": { },
"variables": { },
"resources": [ ],
"outputs": { }
}
上面的内容就是一个Azure Template的标准Schema。
2.然后我们在resources节点,增加以下内容:
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"name": "[parameters('storageAccountName')]",
"apiVersion": "2015-06-15",
"location": "[resourceGroup().location]",
"properties": {
"accountType": "Standard_LRS"
}
}
]
这里描述的是,在Azure Template,需要增加一个资源:
(1)Type类型为Azure Storage Account
(2)这个Storage Account的name,从parameters节点里面获得
(3)apiVersion,我们用上面的参数
(4)location的值,我们和Azure Resource Group在同一个数据中心
(5)这个存储账户的properties,是标准的本地冗余(Standard_LRS), Local Redundant Storage
3.然后我们在parameters节点,增加以下内容:
"parameters" : {
"storageAccountName": {
"type": "string",
"metadata": {
"description": "Storage Account Name"
}
}
}
这里的parameters,定义了Azure Storage Account Name。这个值会赋值给上面resources节点的name。
4.我们最后生成的azuredeploy.json文件,内容如下:
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters" : {
"storageAccountName": {
"type": "string",
"metadata": {
"description": "Storage Account Name"
}
}
},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"name": "[parameters('storageAccountName')]",
"apiVersion": "2015-06-15",
"location": "[resourceGroup().location]",
"properties": {
"accountType": "Standard_LRS"
}
}
]
}
这里要特别注意上面的内容:
(1) parameters节点,定义了azuredeploy.json的变量,名称为storageAccountName
(2) resources节点,包含一个存储账户信息,这个存储账户的name,从变量storageAccountName获得
(3) 这个storageAccountName的值,具体在parameters.json定义(参考下面的内容)
5.我们需要设置parameters.json,里面设置了这个存储账户的名称。注意必须为小写
{
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"storageAccountName": {
"value": "leizhangstorage1"
}
}
}
6.我们下载并运行Azure PowerShell,运行以下命令:
#Login Azure China Cloud
Write-Host "Logging in...";
Add-AzureRmAccount -EnvironmentName AzureChinaCloud; # 选择Azure China 订阅ID
Select-AzureRmSubscription -SubscriptionID "[YourSubscriptionID]" # create a new resource group in China East
New-AzureRmResourceGroup -Name TestResourceGroup -Location "China East" # 下面的azuredeploy.json 和 parameters.json 都需要设置本地路径
New-AzureRmResourceGroupDeployment -Name ExampleDeployment -ResourceGroupName ExampleResourceGroup -TemplateFile azuredeploy.json -parametersFilePath parameters.json
Azure PowerShell执行以后,我们就创建了一个新的Azure Resource Group,命名为TestResourceGroup
在这个Resource Group下,创建一个新的存储账户叫 leizhangstorage1。
参考资料:https://azure.microsoft.com/en-us/documentation/articles/resource-manager-template-walkthrough/
Azure ARM (6) ARM Template简单介绍的更多相关文章
- Azure ARM (5) ARM Template初探 - 本地JSON Template文件(1)
<Windows Azure Platform 系列文章目录> Azure ARM (1) 概览 Azure ARM (2) 概览 Azure ARM (3) ...
- Azure ARM (10) ARM模式下的虚拟机和Classic Model虚拟机的区别
<Windows Azure Platform 系列文章目录> 本文内容比较多,请大家仔细阅读,谢谢! 请读者注意,在Azure ARM平台,有两种虚拟机模式:经典虚拟机和ARM虚拟机 A ...
- ARM的启动代码(1):介绍(转)
源:ARM的启动代码(1):介绍 很多朋友搞嵌入式,写起代码来一点问题没有,到最后上板子调试的时候,挂了.究其原因,还是对芯片的启动地址.启动方式.bootloader和操作系统的衔接出了问题.今天就 ...
- Azure Powershell对ARM资源的基本操作
本分主要介绍Windows Azure Powershell对ARM资源的基本操作 1.登陆ARM模式,命令:Login-AzureRmAccount -EnvironmentName AzureCh ...
- Azure cli使用arm创建多网卡虚拟机
登录 Azure CLI 并使用 Resource Manager 模式: azure config mode arm 在以下示例中,请将示例参数名称替换为你自己的值.示例参数名称包括 myResou ...
- Linux 内核开发—内核简单介绍
内核简单介绍 Linux 构成 Linux 为什么被划分为系统空间和内核空间 隔离核心程序和应用程序,实现对核心程序和数据的保护. 什么内核空间,用户空间 内核空间和用户空间是程序执行的两种不同的状态 ...
- Java NIO简单介绍(二)
上一篇<NIO简单介绍(一)>中讲解了NIO中本地IO相关的内容,这篇重点介绍的NIO的非阻塞式网络通信 一.阻塞与非阻塞 传统的 IO 流都是阻塞式的.也就是说,当一个线程调用 read ...
- OpenCV 编程简单介绍(矩阵/图像/视频的基本读写操作)
PS. 因为csdn博客文章长度有限制,本文有部分内容被截掉了.在OpenCV中文站点的wiki上有可读性更好.而且是完整的版本号,欢迎浏览. OpenCV Wiki :<OpenCV 编程简单 ...
- BST&AVL&红黑树简单介绍
(BST&AVL&红黑树简单介绍) 前言: 节主要是给出BST,AVL和红黑树的C++代码,方便自己以后的查阅,其代码依旧是data structures and algorithm ...
随机推荐
- LEFT JOIN 多表查询的应用
表结构如下:只把主要字段列出 表一:付款记录表 Gather 字段:GatherID , AccountID, PayMents 金额, PayWay 付款方式 1 现金 2 刷卡 表2:销售记录 ...
- 【Win10 UWP】后台任务与动态磁贴
动态磁贴(Live Tile)是WP系统的大亮点之一,一直以来受到广大用户的喜爱.这一讲主要研究如何在UWP应用里通过后台任务添加和使用动态磁贴功能. 从WP7到Win8,再到Win10 UWP,磁贴 ...
- C# 调用网易“易盾” Web API
易盾是网易推出的反垃圾云服务,最近准备试用一下,但发现api文档中只提供了Java, Python, PHP的示例代码,却没有C#的示例代码,于是参照Java示例代码用C#实现了一下. Java中用H ...
- STC12C5A60S2笔记6(中断)
1. 基本特性 1) 中断源 STC12C5A60S2共有十个中断源,每个中断源可设置4类优先级:当相同优先级下各中断优先级由高到低依次如下: 1.1)INT0(外部中断0) 中断向量地址 0003H ...
- JavaScript很牛
几年前,我从来没有想过现在的JavaScript竟然会变得几乎无处不在.下面是几个要关注JavaScript的原因. 首先,我认为JavaScript能够得到普及的主要原因之一是,JavaScript ...
- AngularJS快速入门指南12:模块
AngularJS模块定义了一个application. 模块是一个application中不同部分的容器. application中的所有控制器都应该属于一个模块. 带有一个控制器的模块 下面这个a ...
- 利用定时器实时显示<input type="range"/>的值
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- MVVM架构~knockoutjs系列之为validation.js扩展minLength和maxLength
返回目录 为什么要对minLength和maxLength这两个方法进行扩展呢,是因为这样一个需求,在用户注册时,可以由用户自己决定他们输入的字符,中文,英文,数字均可,这样做了之后,使用户的体验更好 ...
- 基础才是重中之重~stream和byte[]的概念与转化
回到目录 多看几篇 之所以写这篇文章完全是因为最近在研究FastDFS这个分布式的文件存储系统,当然这不是我第一次研究它了,就像我们去看一本书,我们不会只看一篇,而是一次次,一篇篇,每看一次会有新的收 ...
- CentOS6.5下安装JDK
之前一直没有完全的总结出一篇关于Linux下安装Java的过程,今天正好就整理下. 下载jdk 如果在官网下载比较慢,那么可以到我的云盘分享上,下载jdk 1.8.0的版本: 下载地址参考链接 解压缩 ...