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

导语

最近在学习 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,这样做是合适的。

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

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

相关文章

数据结构 - 多路搜索树(2-3树、b树、b+树、b*树)

如果二叉树的高度太高,速度还是比较慢 2-3树 实现步骤 数列:[16,24,12,32,26,34,10,8,28,38,20] 第一步:16直接放到一个2节点 第二步:24放到16后面 第三步:12不能放到16前面,要不然不满足2-3树变成4叉了…

【转】如何在 Visual Studio 2019 中连接中国版 Azure

导语 做国内项目很可能用到中国版的 Azure,即世纪互联运营的 azure.cn。然而 Visual Studio 2019 默认连接的是国际版的 Azure,如何添加中国版订阅呢? 差点996 6年前我曾经写过一篇《图解:如何在Visual Studio 2013中连接中国版…

数据结构- 图

矩阵:0表示不连通,1表示连通 图的遍历

【转】掌握Azure订阅的关键概念和术语

Azure的订阅结构可以让管理员分担结算和资源管理的责任。但首先,他们需要了解账户和部门等概念。 通过Microsoft企业协议,Azure订阅遵循分层结构来隔离用户角色和权限。围绕这些订阅的术语有时难以理解,特别是Azure部门和帐户相关的术语。 …

算法 - 二分查找(非递归实现二分查找)

package Algorithm.binarysearchnorecursion;public class BinaaySearchNoRecur {public static void main(String[] args) {int arr [] {1,2,3,4,5};int b binarySearch(arr, 0);System.out.println(b);}//二分查找的非递归实现public static int binarySearch(int [] arr, …

【转】Windows Azure的账户体系

Windows Azure提供了分级的账户体系,理解并灵活使用这种账户体系能为用户的业务提供非常切实的帮助。 不同类型的客户和账户体系 Windows Azure将客户分为两种基本类型:标准客户和企业协议客户。企业协议客户(EnterpriseAgreement Customer…

算法- 分治算法(实现汉诺塔)

package Algorithm.dac;public class Hannoitower {public static void main(String []args){hannoiTower(5,A, B, C);}//汉诺塔移动方法//使用分治算法public static void hannoiTower(int num, char a, char b, char c){//如果只有一个盘if (num 1){System.out.println(&quo…

【转】关于Azure存储账户

概述 Azure 存储帐户是一个在 Azure存储服务中使您能够访问的安全帐户。您的存储帐户为您的数据,提供了唯一的命名空间,默认情况下,它是仅供您帐户的所有者使用的。 有两种类型的存储帐户: 标准存储帐户包括 Blob、表和队列存储…

算法 - 动态规划(0-1背包问题)

推出公式: 第三个就是:让上一次的和(新加入商品容量(总空间-新加入的商品容量)也就是剩余空间的最大值,剩余空间的最大值去上一层找) package Algorithm.dac.knapsack;public class KnapsackProblem {publ…

【转】关于Azure存储账户(2)

接上一篇: 存储帐户终结点 您在 Azure存储中储存的每个对象都有一个唯一的 URL 地址;存储帐户名称构成该地址的子域。针对每一个服务的域名加上子域名,构成您的存储帐户一个终结点。 例如,如果您的存储帐户被命名为mystorageacco…

算法 - KMP算法(字符串匹配)

百度的一个图文介绍http://www.sohu.com/a/336648975_453160 package Algorithm.kmp;import java.util.Arrays;public class KMPViolenceMatch {public static void main(String[] args) {String str1 "BBC ABCDAB ABCDABCDABDE";String str2 "ABCDABD"…

算法 - 贪心算法(集合覆盖问题求解)

1.穷举法 2.贪心算法 遍历集合的key,用当前key的value和allAreas去取交集),然后和(maxKey和allAreas的交集)比较大小,如果当前key的结合size大就把当前key赋给maxkey,循环5次后退出循环&…

【转】使用多个 Azure 订阅(按照订阅收费)

可以在单个 Azure 帐户下创建多个订阅。 这对于企业尤其有用,因为_访问控制_和_计费_在订阅级别发生,而不是在帐户级别发生。 Azure AD 租户和订阅存在多对一的信任关系:一个租户可以与多个 Azure 订阅相关联,但是每个订阅只与一个…

算法 - 普里姆算法(修路问题求解)

从A开始,A作为定点,找到与A相连并且未被处理(不在顶点集合中)的进行处理,找到权值最小的并加入集合,A-C[7]、A-G[2]、A-B[5],最小的是A-G[2],所以把G加入集合,这里是有A-G的连接的。 然后把A、G作为顶点&a…

二叉树遍历的非递归方法

https://blog.csdn.net/qiuxinfa123/article/details/84880786 2.先序遍历。非递归先序遍历的思路如下: 1.先将根节点入栈 2.访问根节点 3.如果根节点存在右孩子,则将右孩子入栈 4.如果根节点存在左孩子,则将左孩子入栈(注意&…

【转】什么是 Azure 资源管理器

什么是 Azure 资源管理器? 2020/09/01 Azure 资源管理器是 Azure 的部署和管理服务。 它提供了一个管理层,用于在 Azure 帐户中创建、更新和删除资源。 部署后,可以使用访问控制、锁和标记等管理功能来保护和组织资源。 若要了解 Azure 资源…

【转】Azure 应用服务计划概述

在应用服务(Web 应用、API 应用或移动应用)中,应用始终在应用服务计划中运行。 此外,Azure Functions 也可选择在应用服务计划中运行。 应用服务计划为要运行的 Web 应用定义一组计算资源。 这些计算资源类似于传统 Web 托管方案中…

算法 -克鲁斯卡尔算法

如果形成回路则不选择 文字描述 加入的边的两个顶点不能都指向同一个终点,否则会构成回路

【转】Azure基本核心服务计费

虚拟机的计费 您只需花几分钟的时间便可在 Azure 管理平台上,根据您的需求创建从一个到数千个的虚拟机实例。 Azure 支持多种规模的虚拟机,通过支持 Linux, Windows, SQL Server, Oracle 和 SAP 等为客户提供了多种虚拟化的灵活性以实现各种计算解决方…

算法 - 快速幂算法

参考博客 https://blog.csdn.net/qq_19782019/article/details/85621386 简单来说就是进行二分,底数和指数,例如 2的8次方,循环一次变成 2*2的4次方,直到幂 0;(注意要区分奇偶),奇…