Azure Bicep 开发利器
Bicep 是一种用于声明式部署Azure资源的领域特定语言。它的目标是通过更清晰的语法、改进的类型安全性、以及对模块化和代码重用的更好支持,彻底简化编写体验。
Bicep 其实是对 ARM 模板的透明抽象,Bicep代码被解析成标准的 JSON 文件,它有效地将 ARM模板 视为一种中间语言(IL)。Bicep 不是编写应用程序的通用编程语言,而是声明Azure资源和资源属性的语言。简单来说,它是用来开发 Azure ARM 模板的。
安装 Becep 工具
(1)VS Code 编辑器安装 Bicep 插件

(2)安装 Bicep CLI
1) 利用 Azure CLI 手动安装
az bicep install

2) 利用 Chocolatey 手动安装
choco install bicep

创建 Bicep 文件
在Bicep项目目录下创建后缀为 bicep 的 main 文件,这个时候会下载.NET runtime ,稍等片刻。

Azure资源的声明还是从最熟悉的资源组开始,在 “main.bicep” 文件中中输入 “res-rg” ,并按Tab 补全代码。添加Scope作用域,如下图所示
targetScope='subscription'
resource rg 'Microsoft.Resources/resourceGroups@2021-04-01' = {
name: 'Web_Test_Bicep_RG'
location: 'EastAsia'
tags:{
'tag': 'create by bicep'
}
}
当前代码中标记为红色的为自定义值。
点击图中箭头指向,可以以可视化的方式查看资源依赖关系

预部署检查Bicep
在部署 Bicep 文件之前,可以预测即将发生的资源更改。 此时我们需要添加在CLI 命令中加入 what-if,方便我们查看不同类型资源的更改。
az deployment sub what-if --location "eastasia" --template-file "main.bicep"

部署Bicep
Bicep 能定义将资源部署到设定目标有 “资源组”,“订阅”,“管理组”,“租户”
本文中演示是将 “Web_Test_Rg” 部署到 “订阅”
az deployment sub create --confirm-with-what-if --location "eastasia" --template-file "main.bicep"

查看资源组部署状况

通过本篇文章介绍的 Bicep 语法的使用来看确实不需要写太多的参数设置,要比 JSON 语法更简单。更为我们在选择基础设施即代码的解决方案上又增加了新的方案。
Azure Bicep 开发利器的更多相关文章
- Azure Bicep(二)语法简介
一,引言 上一篇文章有介绍到 Azure Bicep 的部署问题,文中也只是演示部署范围为 Sub,并将演示的 Azure Resource Group 到 Azure.给定 Bicep 文件,可以部 ...
- Azure Bicep(三)变量控制
一,引言 当我们在使用 Azure Bicep 的时候会出现以下几个问题: 1)文件中有很多地方会重用很多相同的值 2)输入参数可以在统一的地方进行修改 带着这些问题,我们开始今天的内容,学习如何在 ...
- [.net 面向对象程序设计进阶] (27) 团队开发利器(六)分布式版本控制系统Git——在Visual Studio 2015中使用Git
[.net 面向对象程序设计进阶] (26) 团队开发利器(六)分布式版本控制系统Git——在Visual Studio 2015中使用Git 本篇导读: 接上两篇,继续Git之旅 分布式版本控制系统 ...
- [.net 面向对象程序设计进阶] (26) 团队开发利器(五)分布式版本控制系统Git——图形化Git客户端工具TortoiseGit
[.net 面向对象程序设计进阶] (26) 团队开发利器(五)分布式版本控制系统Git——图形化Git客户端工具TortoiseGit 读前必备: 接上篇: 分布式版本控制系统Git——使用GitS ...
- [.net 面向对象程序设计进阶] (25) 团队开发利器(四)分布式版本控制系统Git——使用GitStack+TortoiseGit 图形界面搭建Git环境
[.net 面向对象程序设计进阶] (25) 团队开发利器(四)分布式版本控制系统Git——使用GitStack+TortoiseGit 图形界面搭建Git环境 本篇导读: 前面介绍了两款代码管理工具 ...
- [.net 面向对象程序设计进阶] (24) 团队开发利器(三)使用SVN多分支并行开发(下)
[.net 面向对象程序设计进阶] (24) 团队开发利器(三)使用SVN多分支并行开发(下) 本篇导读: 接上篇继续介绍SVN的高级功能,即使用分支并行开发.随着需求的不断变更,新功能的增加.特别是 ...
- [.net 面向对象程序设计进阶] (23) 团队开发利器(二)优秀的版本控制工具SVN(上)
[.net 面向对象程序设计进阶] (23) 团队开发利器(二)优秀的版本控制工具SVN(上) 本篇导读: 上篇介绍了常用的代码管理工具VSS,看了一下评论,很多同学深恶痛绝,有的甚至因为公司使用VS ...
- [.net 面向对象程序设计进阶] (22) 团队开发利器(一)简单易用的代码管理工具VSS
[.net 面向对象程序设计进阶] (22) 团队开发利器(一)简单易用的代码管理工具VSS 本篇要点:在进阶篇快要结束的时候说说源代码管理器,我们的开发,不是一个人可以完成的事,团队协作很重要,而且 ...
- MIS系统开发利器,快速的字典录入解决方案,另类的、可管理的.NET DataWindow
一.前言 AgileEAS.NET SOA 中间件平台是一款基于基于敏捷并行开发思想和Microsoft .Net构件(组件)开发技术而构建的一个快速开发应用平台.用于帮助中小型软件企业建立一条适合市 ...
随机推荐
- HTTP:HTTP请求头和响应头详解
HTTP请求报文 HTTP 请求报文由3部分组成(请求行+请求头+请求体) HTTP请求报文分析 1. 是请求方法,GET和POST是最常见的HTTP方法,初次以外还包括 DELETE.HEAD.O ...
- 14 shell 函数
1.shell函数的定义与调用 2.shell函数参数 3.函数返回值 1.shell函数的定义与调用 Shell 函数定义 说明 函数定义的简化写法 函数调用 function name() { ...
- ESP32使用SPIFFS文件系统笔记
基于ESP-IDF4.1 1 #include <stdio.h> 2 #include <string.h> 3 #include <sys/unistd.h> ...
- SEO入门一篇就够-SEO教程
大家口中的SEO(Search Engine Optimization),中文翻译为"搜索引擎优化",从本质上来说,其实就是如何迎合搜索引擎的规则,使得网站在搜索结果中能有更好的排 ...
- VMware Esxi开通SSH功能
ESXi 5.5是直接安装在物理主机上的一个虚拟机系统,本质上是一个Linux系统.平时可以通过VMware Client端或者VMware vCenter进行管理,但对于一些特殊的VMware命令或 ...
- 华为交换机5855设置ssh
配置思路 配置交换机密钥对 #生成RSA密钥对 设置vty登陆用户界面的认证方式为AAA认证 #设置远程认证方式 设置aaa用户信息 #本地用户名和密码 #本地用户服务类型 #本地用户授权等级 设置s ...
- CDN相关知识及CDN绕过
#什么是CDN? 内容分发网络(Content Delivery Network,简称CDN)是建立并覆盖在承载网之上,由分布在不同区域的边缘节点服务器群组成的分布式网络.CDN应用广泛,支持多种行业 ...
- Django 基础05篇 上下文管理和前端代码复用
一.上下文管理器 在views中重复使用的代码,可以通过上下文管理器(在setting.py文件中的TEMPLATES中配置)中实现,减少代码冗余 上下文管理器的处理流程如下: 1.先走完views里 ...
- Java基础00-异常25
1. 异常 异常 1.1 异常概述 1.2 JVM的默认处理方案 有一行代码报错,下面的代码就不会执行. 1.3 异常处理 如果程序出现了异常,需要我们自己来处理,因为在实际的开发中,不能因为一处的报 ...
- 12. Mysql基础入门
课程大纲 • 数据库概述 • MySQL基本操作 • MySQL索引基础 • MySQL高级特性