Compartilhar via


Escolha a ferramenta de linha de comando certa do Azure

Quando se trata de gerenciar o Azure, você tem muitas opções. Este artigo compara a CLI do Azure e a linguagem do Azure PowerShell e fornece uma comparação dos ambientes de shell nos quais eles são executados.

A CLI do Azure, o Azure PowerShell e o Azure Cloud Shell têm funcionalidade sobreposta. Cada um opera de forma diferente, e o idioma às vezes é confundido com o ambiente. Use este guia para determinar qual é a ferramenta certa para você.

Qual é a vantagem de usar uma ferramenta de linha de comando do Azure?

O Azure funciona por meio de automação. Cada ação que você executa dentro do portal se traduz em algum lugar para o código que está sendo executado para ler, criar, modificar ou excluir recursos.

Mover sua carga de trabalho para o Azure eleva parte da carga administrativa, mas não todas. À medida que sua taxa de adoção com o Azure aumenta, a sobrecarga também aumentará. Mesmo que você não precise se preocupar com o data center, você ainda precisa corrigir e solucionar problemas de VMs do Azure, bancos de dados de failover e configurar redes virtuais.

Usando a automação existente que executa o Azure, as ferramentas de linha de comando reduzem essa sobrecarga.

O que são ferramentas de linha de comando do Azure?

As ferramentas de linha de comando do Azure automatizam operações de rotina, padronizam failovers de banco de dados e extraem dados que fornecem insights avançados. As ferramentas de linha de comando não apenas oferecem a capacidade de dimensionar suas tarefas no Azure, mas também facilitam muito o compartilhamento. Compartilhar um script é muito mais fácil do que uma longa página wiki com capturas de tela demoradas.

O uso de uma ferramenta de linha de comando do Azure nem sempre é necessário, mas é uma habilidade útil de se ter.

CLI do Azure versus Azure PowerShell

A CLI do Azure e o Azure PowerShell são ferramentas de linha de comando que permitem criar e gerenciar recursos do Azure. Ambos são multiplataforma, instaláveis no Windows, macOS e Linux.

Azure CLI

  • Interface de linha de comando multiplataforma, instalável no Windows, macOS, Linux
  • É executado no Windows PowerShell, no Cmd ou no Bash e em outros shells do Unix.

Azure PowerShell

  • Módulo do PowerShell multiplataforma, executado no Windows, macOS, Linux
  • Requer o Windows PowerShell ou o PowerShell

Diferentes ambientes de shell

Ambiente do Shell Azure CLI (Interface de Linha de Comando do Azure) Azure PowerShell
Cmd Sim
Bash (interpretador de comandos Unix) Sim
Windows PowerShell Sim Sim
PowerShell Sim Sim

Windows PowerShell, PowerShell, Cmd e Bash são ambientes de shell. Seu ambiente de shell não apenas determina quais ferramentas você pode usar, mas também altera sua experiência de linha de comando.

Por exemplo, para o caractere de continuação de linha, o Bash usa a barra invertida \ enquanto o Windows PowerShell usa o backtick `. As diferenças no ambiente do shell não mudam a forma como a CLI do Azure e o Azure PowerShell operam. No entanto, alteram sua experiência de linha de comando.

A CLI do Azure tem um instalador que torna seus comandos executáveis em todos os quatro ambientes de shell.

O Azure PowerShell é um conjunto de cmdlets empacotados como um módulo do PowerShell chamado Az; não um executável. O Windows PowerShell ou o PowerShell devem ser usados para instalar o Az módulo.

O Windows PowerShell é o shell de script padrão que vem pré-instalado com a maioria dos sistemas operacionais Windows. O PowerShell é uma instalação autônoma que utiliza o .NET Core como ambiente de execução, permitindo sua instalação no macOS, Linux e Windows.

Pontos principais:

  • O AzureRM é um módulo do PowerShell que ainda é referenciado para administração do Azure com o PowerShell. No entanto, ele foi substituído pelo Azure PowerShell e tem uma data oficial de desativação de 29 de fevereiro de 2024.

Se você estiver usando o AzureRM, poderá migrar o Azure PowerShell do AzureRM para o Az.

E o Azure Cloud Shell?

O Azure Cloud Shell é um ambiente de shell hospedado que é executado em um contêiner do Ubuntu.

O Cloud Shell fornece dois ambientes de shell: o Bash (com a CLI do Azure pré-instalada) e o PowerShell (com o Azure PowerShell pré-instalado). Uma lista suspensa na parte superior da janela do Cloud Shell permite alternar facilmente entre os dois ambientes.

O Cloud Shell é acessível em um navegador da Web e tem integrações para o Terminal do Windows e o Visual Studio Code.

Ambientes Bash e PowerShell do Azure CloudShell

Observação

O Azure Cloud Shell pode nem sempre refletir imediatamente as versões mais recentes do Azure PowerShell e da CLI do Azure, pois o agendamento de publicação das três ferramentas é diferente. No entanto, geralmente, acredita-se que o Azure Cloud Shell sempre contenha as versões mais recentes de ambas as ferramentas.

Qual ferramenta de linha de comando do Azure é a mais adequada para você?

Ao escolher a ferramenta certa, considere sua experiência passada e o ambiente de trabalho atual.

A sintaxe da CLI do Azure é semelhante à do script Bash. Se você trabalha principalmente com sistemas Linux, a CLI do Azure parece mais natural.

O Azure PowerShell é um módulo do PowerShell. Se você trabalha principalmente com sistemas Windows, o Azure PowerShell é um ajuste natural. Os comandos seguem um esquema de nomenclatura verbo-substantivo e os dados são retornados como objetos.

Escolha a ferramenta que usa sua experiência e reduz sua curva de aprendizagem. Aproveite o aprendizado da Microsoft para se tornar proficiente no gerenciamento do Azure na linha de comando.

Dito isso, ter a mente aberta só melhorará suas habilidades. Use uma ferramenta diferente quando fizer sentido.

Pontos principais:

  • A paridade de recursos para os serviços do Azure nem sempre existe entre a CLI do Azure e o Azure PowerShell.

CLI do Azure vs Azure PowerShell: Comparação de comandos lado a lado

Comandos para Login, Assinatura e Localização:

Comando Azure CLI (Interface de Linha de Comando do Azure) Azure PowerShell
Entrar com o Navegador da Web az login Connect-AzAccount
Obter assinaturas disponíveis az lista de contas Get-AzSubscription
Definir assinatura az account set –-subscription <SubscriptionId> <Set-AzContext -Subscription SubscriptionID>
Listar locais do Azure az account list-locations Get-AzLocation

Encontre versões, obtenha ajuda e exiba a ajuda do comando:

Comando Azure CLI (Interface de Linha de Comando do Azure) Azure PowerShell
Localizar versão az --version Get-InstalledModule -Name Az
Obter ajuda az --help Obter Ajuda
Exibir ajuda do comando az vm --help Get-Help -Name New-AzVM

Criar um grupo de recursos, uma VM e uma conta de armazenamento:

Comando Azure CLI (Interface de Linha de Comando do Azure) Azure PowerShell
Criar grupo de recursos az group create --name <ResourceGroupName> --location eastus New-AzResourceGroup -Name <NomeDoGrupoDeRecursos> -Location eastus
Criar máquina virtual do Azure az vm create --resource-group myResourceGroup --name myVM --image UbuntuLTS --admin-username azureuser --admin-password '<Password>' <New-AzVM -ResourceGroupName ResourceGroupName> -Name myVM -Image UbuntuLTS -Credential (Get-Credential)
Criar uma Conta de Armazenamento do Azure az storage account create --name <StorageAccountName> --resource-group <ResourceGroupName> --location eastus --sku Standard_LRS --kind StorageV2 <New-AzStorageAccount -Name StorageAccountName> -ResourceGroupName <ResourceGroupName> -Location eastus -SkuName Standard_LRS -Kind StorageV2

Gerenciar máquinas virtuais do Azure:

Comando Azure CLI (Interface de Linha de Comando do Azure) Azure PowerShell
Listar VM az vm list Get-AzVM
Reiniciar VM az vm restart --name myVM --resource-group <ResourceGroupName> Restart-AzVM -Name myVM -ResourceGroupName <ResourceGroupName>
Parar a VM az vm stop --name myVM --resource-group <ResourceGroupName> Stop-AzVM -Name myVM -ResourceGroupName <ResourceGroupName>
Parar & Desalocar VM az vm dealocar --name myVM --resource-group <ResourceGroupName> Stop-AzVM -Name myVM -ResourceGroupName <ResourceGroupName>
Iniciar VM az vm start --name myVM --resource-group <ResourceGroupName> Start-AzVM -Name myVM -ResourceGroupName <ResourceGroupName>
Excluir Máquina Virtual az vm delete --name myVM --resource-group <ResourceGroupName> Remove-AzVM -Name myVM -ResourceGroupName <ResourceGroupName>

Selecione propriedades e altere os formatos de saída:

Comando Azure CLI (Interface de Linha de Comando do Azure) Azure PowerShell
Mostrar todas as informações da assinatura az account list --all Get-AzSubscription | Select-Object -Property *
Saída como uma tabela az account list -o table Get-AzSubscription | Format-Table
Saída como JSON az account show Get-AzSubscription | ConvertTo-Json

Pontos principais:

Próximas etapas

CLI do Azure:

Azure PowerShell: