无法准确理解Azure环境中Azure CLI的优点。
是否针对想要从Linux环境中管理Azure IAAS的受众?
我认为Powershell core将成为非Windows管理员的方式。 Powershell Core不会在所有平台上移植得很好,为跨平台的受众提供服务吗?
简而言之,是否值得学习Azure CLI?
答案 0 :(得分:17)
Azure CLI是一种类似PowerShell的工具,适用于所有平台。无论您使用什么平台,都可以使用相同的命令:Windows,Linux或Mac。
现在,Azure CLI有两个版本。 Azure CLI 1.0是使用Node.js编写的,以实现跨平台功能,而新的Azure CLI 2.0是用Python编写的,以提供更好的跨平台功能。两者都是开源的,可在Github上获得。 但是,目前只有某些PowerShell cmdlet支持在Linux上使用。
是否针对想要从Linux管理Azure IAAS的受众群体 环境?
我认为答案是肯定的。对于Linux或Mac开发人员,我认为他们更有可能使用Azure CLI。
答案 1 :(得分:17)
Azure CLI和PowerShell包都使用Azure的REST API。
正如我们的一位微软联系人所说:使用你喜欢的任何你喜欢的东西。
Azure CLI有一些优点:
目前,PowerShell 1非常重要:Azure有一个庞大的PowerShell脚本示例存储库。但是:通常你必须自己做以满足你的要求 - 因此一个例子可能是一个很好的起点 - 有时从头开始更容易。
我的建议是:使用Azure CLI - >对于脚本,请使用您公司熟悉的语言。
答案 2 :(得分:5)
Powershell在2018年之前的非Windows平台上不可用。在2018年1月,Powershell可用于MacOS和Linux平台。
MacOS或Linux上的Powershell安装说明可用here
答案 3 :(得分:4)
只想增加我在Azure Cli和Az PowerShell中的经验。
自2019年以来,两者都是跨平台的,因此它应该仅是语言/语法首选项,但是对于Azure Cli,所有/大多数命令都是幂等。
我最终用Azure Cli脚本替换了我所有的ARM模板,因为它不那么冗长且易于阅读。
使用Az Powershell,您仍然需要在创建资源之前检查资源是否存在,否则它将引发异常,因此脚本会毫无原因地变得非常复杂。
我们同时使用Azure Cli和Az Powershell和Azure DevOps。 Azure Cli命令只能从bash(Linux)或bat(Windows)脚本执行。所以它不是最佳的...
答案 4 :(得分:3)
PowerShell也是开源的。 微软刚刚发布了使用.Net核心的PowerShell Azure Az模块(2018年12月)。因此它可以在Linux,Mac OS和Windows上运行。 如果愿意,Linux开发人员仍然可以使用Azure CLI。
答案 5 :(得分:3)
PowerShell与CLI相比具有一些显着优势:
PowerShell中几乎没有什么我没有编写的脚本,而使用CLI却可以执行其他操作。在我从事企业SharePoint,Dynamics,现在是Office和Azure的十多年中,我的PowerShell技能一直与之息息相关。
答案 6 :(得分:1)
您不必在 Linux 上使用 Azure CLI,您也可以在 Windows 上使用它,而且效果很好 =D
这取决于你想做什么,在我个人看来。我更喜欢使用 Azure CLI 命令而不是 Azure CMDLETS。但我仍然使用 PowerShell 作为我的脚本编程语言。
CLI 上的某些模块比 AZ 或 AzRM cmdlet 更“直接”。
答案 7 :(得分:0)
php artisan migrate:refresh --path=database/migrations/2020_09_02_000000_create_users_table.php
我在进行MS Azure培训(AZ-900基础知识和AZ-303 Azure Architect)时注意到,这些练习是在 Azure CLI 中完成的。当然,它们都是“复制并粘贴此代码”,但看来MS至少在培训方面,而不是PowerShell上更喜欢CLI。
答案 8 :(得分:0)
两者都更可取,因为我们可以使用它们中的任何一个来编写脚本。对于 Powershell 或 Azure CLI,您需要下载软件才能编写脚本,但更喜欢 Powershell,因为它是 Microsoft 的内置工具。但我也注意到,如果我们将其与命令提示符进行比较,那么通过 Powershell 发出命令会更加复杂。
答案 9 :(得分:0)
有一个来自 MS 的 article 关于这个主题,有以下内容:
<块引用>Azure CLI 和 Azure PowerShell 之间并不总是存在 Azure 服务的功能奇偶校验。
<块引用>在选择合适的工具时,请考虑您过去的经验和当前的工作环境。
<块引用>如果您主要使用 Windows 系统,Azure PowerShell 非常适合。命令遵循动词-名词命名方案,数据作为对象返回。 如果您主要使用 Linux 系统,Azure CLI 感觉更自然。
<块引用>选择能够利用您的经验并缩短学习曲线的工具。