Azure 命令行工具大混战,都是什么,该选哪个?


点击上方蓝字关注“汪宇杰博客”

640?wx_fmt=png

导语

最近在学习 Azure 的命令行玩法,发现官方有不止一种命令行工具,容易对新手产生混淆,本文将介绍各种工具都是干啥的,以及如何选择。

目前,微软官方有3个Azure命令行工具,分别是:

  • Azure CLI

  • Azure PowerShell - Az Module

  • Azure PowerShell - AzureRM

它们的历史和作用各有不同。

Azure CLI

Azure CLI 是一个跨平台的命令行程序,可连接到 Azure 并对 Azure 资源执行管理命令。例如,若要创建 VM,可使用如下命令:

az vm create \

  --resource-group CrmTestingResourceGroup \

  --name CrmUnitTests \

  --image UbuntuLTS

  ...

可通过两种方式使用 Azure CLI:通过 Azure Cloud Shell 在浏览器内使用或安装在本地 Linux、Mac 或 Windows 计算机上使用。通过这两种方式,均可以交互方式或编写脚本的方式使用 Azure CLI。若要以交互方式使用,请先在 Windows 上启动 cmd.exe 等 shell 或是在 Linux 或 macOS 上启动Bash,然后在 shell 提示符处发出命令。若要自动执行重复性任务,请使用所选 shell 脚本语法将命令配置到 shell 脚本中,然后执行该脚本。

(以上内容摘自 Microsoft Learn 官方免费学习平台)

Azure PowerShell


Azure PowerShell 是可添加到 Windows PowerShell 或 PowerShell Core 的模块,可用于连接 Azure 订阅并管理资源。Azure PowerShell 需通过 PowerShell 才能运行。PowerShell 提供 shell 窗口、命令解析等服务。Azure PowerShell 可添加特定于 Azure 的命令。

例如,Azure PowerShell 提供了可在 Azure 订阅中创建虚拟机的 New-AzVM 命令。若要使用 Azure PowerShell,请启动 PowerShell 应用程序,然后发出如下命令:

New-AzVm `

    -ResourceGroupName "CrmTestingResourceGroup" `

    -Name "CrmUnitTests" `

    -Image "UbuntuLTS"

    ...

同样可通过两种方式使用 Azure PowerShell:通过 Azure Cloud Shell 在浏览器内使用或安装在本地 Linux、Mac 或 Windows 计算机上使用。对于这两种方式,均有两种模式可供选择。可在交互模式下使用,一次手动发出一个命令;也可在脚本模式下使用,执行包含多个命令的脚本。

(以上内容摘自 Microsoft Learn 官方免费学习平台)

然而,Azure PowerShell 里其实有两种:Az模块和AzureRM,这是两套不同的命令行工具,但功能非常重合。这一点在 Microsoft Learn 官网上并没有提到。

Az 模块

 此新模块是采用 .NET Standard 从头开始编写的。 由于采用了 .NET Standard,Azure PowerShell 可以在 Windows 上的 PowerShell 5.1 下运行,也可以在任何平台上的 PowerShell Core 6.x 及更高版本下运行。Az 模块现在是通过 PowerShell 与 Azure 进行交互的首选方式。AzureRM 将继续进行 bug 修复,但不会再收到新功能。

(摘自微软官网文档 https://docs.microsoft.com/zh-CN/powershell/azure/overview?view=azps-2.5.0)

AzureRM

这实际上就是多年前的 Windows Azure PowerShell,我在2014年的博客文章里介绍过。但因为已经被微软官方遗弃,所以新学习 Azure 的读者,现在可以完全无视 AzureRM 这套 PowerShell 工具,也不用去看使用这个工具的文章

有关迁移到 Az 模块的文档和所有变更,都可以在上面的微软官网文档里找到。

如何选择

现在,我们的命令行选项其实只剩下了 Azure CLI 以及 Azure PowerShell (Az 模块),如何选择用哪个工具呢?

依然摘录 Microsoft Learn 官方免费学习平台 里的说明:

就可管理的 Azure 对象及可创建的配置而言,门户、Azure CLI 和 Azure PowerShell 大致上是相同的。三者也都是跨平台的工具。这就意味着在选择时,通常要考虑其他几个因素:

  • 自动化:是否需要自动执行一系列复杂的或重复性任务?Azure PowerShell 和 Azure CLI 支持自动化,而门户则不支持。

  • 学习曲线:是否需要在不学习新命令或语法的情况下快速完成任务?使用 Azure 门户,无需学习语法或记住命令。使用 Azure PowerShell 和 Azure CLI 时,必须了解所使用的每个命令的详细语法。

  • 团队技能组:团队是否拥有现成的专业知识?例如,团队可能使用过 PowerShell 来管理 Windows。若是如此,团队成员可快速熟练使用 Azure PowerShell。

示例

回想一下,你正在选择管理工具来为 CRM 应用程序创建测试环境。你的管理员需要执行两项特定的 Azure 任务:

  1. 为每种测试(单元、集成和验收)创建一个资源组。

  2. 在进行每轮测试前,在每个资源组中创建多个 VM。

若要创建资源组,可以选择 Azure 门户。这些是一次性任务,无需使用脚本来执行。

确定创建 VM 的最佳工具则更具挑战。你需要创建数个 VM 并且需要重复创建,可能每周要创建几次。这就意味着你需要自动化,因此 Azure 门户并非一个好的选择。在这种情况下,Azure PowerShell 或 Azure CLI 可满足你的需求。如果团队成员拥有现成的 PowerShell 知识,那么 Azure PowerShell 可能就是最佳选择。Azure PowerShell 可在管理团队使用的各种操作系统上运行,可支持自动化,且团队很容易上手。

大多数管理员首次接触 Azure 时都是使用的门户。这是一个很好的起点,因为门户提供了一个干净的、结构清晰的图形界面,但限制了自动化选项。如果需要自动化,Azure 提供了两个选项:Azure PowerShell 适用于具有 PowerShell 经验的管理员;Azure CLI 适用于其他所有人。

在实践中,企业通常既有一次性任务,也有重复性任务。这就意味着通常需要同时使用门户和脚本解决方案。在我们的 CRM 示例中,通过门户创建资源组,并使用 PowerShell 自动创建 VM,这样做是合适的。

640?wx_fmt=gif

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/314426.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HDU 2588 GCD(欧拉函数)

GCD 思路 题目要求,对于给定的n,mn, mn,m要求有多少数∑i1ngcd(i,n)>m\sum _{i 1} ^{n} gcd(i, n) > m∑i1n​gcd(i,n)>m 我们可以对这个式子进行化简,通过枚举dgcd(i,n)d gcd(i, n)dgcd(i,n)有 ∑d∣n∑i1ngcd(i,d)d\sum _{d \mid n} \su…

2021 ccpc 哈尔滨 G. Damaged Bicycle 状压 + 期望dp

文章目录题意:思路:传送门 题意: 你需要从111走到nnn,初始速度是ttt,某些地方有自行车,每个位置自行车有pip_ipi​的概率是坏掉的,如果自行车没坏可以骑上自行车,速度是rrr&#x…

HDU 4983 Goffi and GCD(欧拉函数)

Goffi and GCD 思路 题目要求∑i1n∑j1ngcd(n−i,n)gcd(n−j,n)nk\sum_{i 1} ^{n} \sum _{j 1} ^{n} gcd(n - i, n)gcd(n - j, n) n ^ {k}∑i1n​∑j1n​gcd(n−i,n)gcd(n−j,n)nk 显然有gcd(n−i,n)<ngcd(n - i, n) < ngcd(n−i,n)<n对于k>3k > 3k>3直…

揭秘鸿蒙生态背后的DevOps实践

&#xff08;图片来源于网络&#xff09;8月9日&#xff0c;华为发布了鸿蒙操作系统&#xff0c;在发布会上我们看到了鸿蒙系统的研发历程&#xff1a;2017年&#xff0c;鸿蒙内核1.0完成技术验证&#xff1b;2018年&#xff0c;鸿蒙内核2.0用于终端TEE&#xff1b;2019年&…

AT3557 Four Coloring 切比雪夫距离 + 四色构造

传送门 由于曼哈顿距离在图上显示的是一个棱形&#xff0c;并不是很好看&#xff0c;所以我们将其旋转454545&#xff0c;转换成切比雪夫距离&#xff0c;这样就变成了一个正方形&#xff0c;正方形内部的点距离都不超过ddd&#xff0c;此时可以将正方形内部的点看成一个整体&a…

51nod 1188 最大公约数之和 V2(欧拉函数)

1188 最大公约数之和 V2 思路 用欧拉函数可以化简式子如下 ∑i1n∑j1i−1gcd(i,j)\sum_{i 1} ^{n} \sum _{j 1} ^{i - 1} gcd(i, j)i1∑n​j1∑i−1​gcd(i,j) ∑i1n∑j1igcd⁡(i,j)−(n1)(n)2 \sum_{i 1} ^{n} \sum_{j 1} ^{i} \gcd(i, j) - \frac{(n 1)(n)}{2}i1∑n​…

SonarQube系列一、Linux安装与部署

来源&#xff1a;https://www.cnblogs.com/7tiny/p/11269774.html【前言】随着项目团队规模日益壮大&#xff0c;项目代码量也越来越多。且不说团队成员编码水平层次不齐&#xff0c;即便是老手&#xff0c;也难免因为代码量的增加和任务的繁重而忽略代码的质量&#xff0c;最终…

P2906 [USACO08OPEN]Cow Neighborhoods G 切比雪夫距离 + 并查集 + set

传送门 考虑将曼哈顿距离转换成切比雪夫距离&#xff0c;这样问题就变成了max(∣x1−x2∣,∣y1−y2∣)≤dmax(|x_1-x_2|,|y_1-y_2|)\le dmax(∣x1​−x2​∣,∣y1​−y2​∣)≤d&#xff0c;这个式子就很好看了&#xff0c;我们首先按照(x,y)(x,y)(x,y)排序&#xff0c;让后我…

2018-2019 ACM-ICPC, Asia Shenyang Regional Contest E. The Kouga Ninja Scrolls 切比雪夫距离 +线段树

传送门 将曼哈顿距离转换成切比雪夫距离&#xff0c;现在就是求max(∣x1−x2∣,∣y1−y2∣)max(|x_1-x_2|,|y_1-y_2|)max(∣x1​−x2​∣,∣y1​−y2​∣)&#xff0c;显然我们可以将x,yx,yx,y分开考虑&#xff0c;下面以xxx为例。 考虑一段区间内不同门派的最大值和最小值&am…

ASP.NET Core 框架本质学习

本文作为学习过程中的一个记录。学习文章地址&#xff1a;https://www.cnblogs.com/artech/p/inside-asp-net-core-framework.html一. ASP.NET Core 框架上的 Hello World程序public class Program{public static void Main()> new WebHostBuilder() .UseKestrel() …

牛客小白月赛12:月月给华华出题(欧拉函数)

月月给华华出题 思路 ∑i1nigcd(i,n)\sum_{i 1} ^{n} \frac{i}{gcd(i, n)}i1∑n​gcd(i,n)i​ ∑d∣n∑i1nid(gcd(i,d)d) \sum _{d \mid n} \sum_{i 1} ^{n} \frac{i}{d} (gcd(i, d) d)d∣n∑​i1∑n​di​(gcd(i,d)d) ∑d∣n∑i1ndi(gcd(i,d)1) \sum_{d\mid n} \sum_{i 1…

AtCoder Regular Contest 064

文章目录C - Boxes and CandiesD - An Ordinary GameE - Cosmic RaysF - Rotated PalindromesC - Boxes and Candies Score : 300300300 points 贪心 每次比较相邻两个&#xff0c;贪心的给最后一个加即可。 代码 D - An Ordinary Game Score : 500500500 points 博弈 结…

基于C#实现的轻量级多线程队列

工作中我们经常会遇到一些一些功能需要实现造作日志&#xff0c;数据修改日志&#xff0c;对于这种业务需求如果我们以同步的方式实现&#xff0c;难免会影响到系统的性能。如下我列出集中解决方案。使用Thread异步处理。使用线程池或Task异步处理。以上两种方案确实能解决我们…

购物(DP)

购物 思路 最优值问题&#xff0c;我们考虑dpdpdp&#xff0c;dp[i][j]dp[i][j]dp[i][j]表示前iii天已经购买了jjj个糖果的花费最小值&#xff0c;显然dp[i][j]dp[i][j]dp[i][j]可以从dp[i−1][k]dp[i - 1][k]dp[i−1][k]转移过来&#xff0c;具体转移过程看代码注释部分吧。…

The 2021 ICPC Asia Taipei Regional F. What a Colorful Wall 扫描线 + 并查集

文章目录题意:思路传送门 题意: 给你平面nnn个矩形&#xff0c;每个矩形有一种颜色&#xff0c;依次给出矩形以及其的颜色&#xff0c;后面的矩形会覆盖前面的矩形&#xff0c;问最终有多少种颜色。 1≤n≤4000,0≤x1<x2<228,0≤y1<y2<228,1≤c≤n1\le n\le 4000…

【活动】厦门.NET俱乐部 省上云开发者专场

十年磨一剑&#xff0c;厦门.NET俱乐部诚挚邀请您相约软件园二期创驿站&#xff0c;参加云重启|厦门.NET俱乐部省上云开发者专场。活动干货满满&#xff0c;更有精美礼品&#xff0c;厦门.NET俱乐部期待与您“厦门论剑”。详情请点击图片或直接阅读原文报名

mobius初步

求 ∑i1n∑j1m(gcd(i,j)1)\sum_{i 1} ^{n} \sum_{j 1} ^{m} (gcd(i, j) 1)∑i1n​∑j1m​(gcd(i,j)1) 我们引入一个知识∑d∣nμ(d)(n1)\sum_{d \mid n} \mu(d) (n 1)∑d∣n​μ(d)(n1) 所以gcd(i,j)∑d∣gcd(i,j)μ(d)gcd(i, j) \sum_{d \mid gcd(i, j)} \mu(d)gcd(i,j)…

腾讯物联TencentOS tiny上云初探

2017年中旬曾写过一篇关于物联网平台的文章《微软最完善&#xff0c;百度最“小气” 看微软阿里百度三大物联网云平台对比》。现在已经过去两年了&#xff0c;物联网的格局又发生了不少的变化。不过针对腾讯来说&#xff0c;其物联网平台发轫的时间绝不算晚&#xff0c;基本就是…

P2257 YY的GCD (莫比乌斯反演)

P2257 YY的GCD 思路 求∑inn∑j1mgcd(i,j)k(k∈prime)\sum_{i n} ^{n} \sum_{j 1} ^{m} gcd(i, j) k (k \in prime)∑inn​∑j1m​gcd(i,j)k(k∈prime) 对上面式子进行化简&#xff1a; ∑k1n∑i1nk∑j1mkgcd(i,j)1,k∈prime \sum_{k 1} ^{n} \sum_{i 1} ^{\frac{n}{k}…

ASP.NET Core on K8S深入学习(3-2)DaemonSet与Job

本篇已加入《.NET Core on K8S学习实践系列文章索引》&#xff0c;可以点击查看更多容器化技术相关系列文章。上一篇《3-1 Deployment》中介绍了Deployment&#xff0c;它可以满足我们大部分时候的应用部署&#xff08;无状态服务类容器&#xff09;&#xff0c;但是针对一些特…