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 ...
随机推荐
- 【leetcode】Merge Two Sorted Lists
Merge two sorted linked lists and return it as a new list. The new list should be made by splicing t ...
- Redis 发布订阅
订阅: class Program { //版本2:使用Redis的客户端管理器(对象池) public static IRedisClientsManager redisClientManager ...
- 系统空闲时间判断&命名验证
一.系统空闲时间判断 需要一个自动登录注销的功能,当鼠标移动和或者键盘输入的时候认为当前用户在线,否则过了设置时间就自动退出.好在前辈们留下了这样的一个类: MouseKeyBoardOperate: ...
- js中的console很强大
今天闲来没事,瞎逛, 发现了淘宝首页的这个: 想起来之前在百度的 页面中也曾看到过.于是乎自己试一试. 于是便见识到了console对象其实很强大,用好它对调试真的有很大帮助. 代码: <!DO ...
- js模版引擎handlebars.js实用教程——each-循环中使用this
返回目录 <!DOCTYPE html> <html> <head> <META http-equiv=Content-Type content=" ...
- Sizeof的计算看内存分配
本文记录了有关sizeof的一些计算,主要有下面的四种情况:(如有错误,敬请留言) 使用sizeof()计算普通变量所占用的内存空间 sizeof计算类对象所占用空间的大小-用到了字节对齐 sixeo ...
- webservice2
按照 当然,里面没写清楚如何配置第三方jar 结果一访问就报错:org.codehaus.xfire.transport.http.XFireConfigurableServlet 4年前就搞过ws的 ...
- navigationController pop的几种方法
一,popViewControllerAnimated [self.navigationController popViewControllerAnimated:YES]; 二,popToRootVi ...
- Redis学习笔记~是时候为Redis实现一个仓储了,RedisRepository来了
回到目录 之前写了不少关于仓储的文章,所以,自己习惯把自己叫仓储大叔,上次写的XMLRepository得到了大家的好评,也有不少朋友给我发email,进行一些知识的探讨,今天主要来实现一个Redis ...
- 大叔也说Xamarin~Android篇~支付宝SDK的错误与解决
回到目录 在为android程序引入支付宝后,可能没有那么顺利,有能出现各种各样的问题,大叔在引用支付宝后就出现了APL64的错误,在网上找不很多资料都不对正,还是在官网找到了几句话,说到了点子上,具 ...