Escolher a ferramenta de linha de comando do Azure correta
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 elas são executadas.
A CLI do Azure, o Azure PowerShell e o Azure Cloud Shell têm funcionalidade sobreposta. Cada um opera de maneira diferente e a linguagem, às vezes, é confundida 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 é executado na automação. Cada ação que você executa dentro do portal é convertida em algum lugar para que o código seja executado para ler, criar, modificar ou excluir recursos.
Mover sua carga de trabalho para o Azure remove parte da carga administrativa, mas não toda. A sobrecarga aumentará com o aumento da sua taxa de adoção do Azure. Mesmo que você não precise se preocupar com o data center, você ainda precisa aplicar patch 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 as 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 efetuam pull de informações que fornecem insights avançados. Além de oferecerem a capacidade de escalar suas tarefas no Azure, as ferramentas de linha de comando facilitam o compartilhamento. Compartilhar um script é muito mais fácil do que uma página wiki extensa com capturas de tela demoradas.
Nem sempre é necessário usar uma ferramenta de linha de comando do Azure, mas saber como usar essas ferramentas é muito útil.
CLI do Azure vs. 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, no macOS e no Linux.
CLI do Azure
- Interface de linha de comando multiplataforma, instalável no Windows, macOS, Linux
- É executada no Windows PowerShell, Cmd ou Bash e outros shells do Unix.
PowerShell do Azure
- Módulo do PowerShell multiplataforma, executado no Windows, macOS, Linux
- Requer Windows PowerShell ou PowerShell
Ambientes de shell diferentes
Ambiente de shell | CLI do Azure | Azure PowerShell |
---|---|---|
Cmd | Sim | |
Bash | Sim | |
Usando o 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 que o Windows PowerShell usa o acento grave `
. As diferenças no ambiente de shell não alteram como a CLI do Azure e o Azure PowerShell funcionam. 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 módulo Az
.
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 usa o .NET Core como seu runtime, permitindo que ele seja instalado no macOS, Linux e Windows.
Pontos principais:
- O AzureRM é um módulo do PowerShell que ainda é indicado para administração do Azure com o PowerShell. No entanto, ele foi substituído pelo Azure PowerShell e sua data oficial de desativação é 29 de fevereiro de 2024.
Se você estiver usando o AzureRM, poderá migrar o Azure PowerShell do AzureRM para o Az.
E quanto ao 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 que você alterne 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.
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, o Azure Cloud Shell geralmente é pensado para sempre conter 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 a experiência anterior 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 é a melhor opção.
O Azure PowerShell é um módulo do PowerShell. Se você trabalha principalmente com sistemas Windows, o Azure PowerShell é a melhor opção. 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 Microsoft Learning para se tornar proficiente em gerenciamento do Azure na linha de comando.
Dito isso, ter a mente aberta só melhorará suas capacidades. Use uma ferramenta diferente quando fizer sentido.
Pontos principais:
- A paridade de recursos dos serviços Azure nem sempre existe entre a CLI do Azure e o Azure PowerShell.
CLI do Azure vs. Azure PowerShell: comparação lado a lado de comandos
Comandos de entrada, assinatura e localização:
Comando | CLI do Azure | Azure PowerShell |
---|---|---|
Entrar com um navegador da Web | az login | Connect-AzAccount |
Obter assinaturas disponíveis | az account list | Get-AzSubscription |
Configurar assinatura | az account set –-subscription <SubscriptionId> | Set-AzContext -Subscription <SubscriptionID> |
Listar locais do Azure | az account list-locations | Get-AzLocation |
Encontrar versões, obter ajuda e exibir ajuda de comando:
Comando | CLI do Azure | Azure PowerShell |
---|---|---|
Encontrar versão | az --version | Get-InstalledModule -Name Az |
Obter ajuda | az --help | Get-Help |
Exibir ajuda de comando | az vm --help | Get-Help -Name New-AzVM |
Criar um Grupo de Recursos, uma VM e uma conta de armazenamento:
Comando | CLI do Azure | Azure PowerShell |
---|---|---|
Criar grupo de recursos | az group create --name <ResourceGroupName> --location eastus | New-AzResourceGroup -Name <ResourceGroupName> -Location eastus |
Criar uma 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 | CLI do Azure | Azure PowerShell |
---|---|---|
Listar VM | az vm list | Get-AzVM |
Reiniciar a 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 e desalocar VM | az vm deallocate --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 VM | az vm delete --name myVM --resource-group <ResourceGroupName> | Remove-AzVM -Name myVM -ResourceGroupName <ResourceGroupName> |
Selecione Propriedades e altere os Formatos de Saída:
Comando | CLI 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:
- A CLI do Azure usa como padrão a saída de uma cadeia de caracteres JSON. Outras opções de formato podem ser encontradas nos formatos de saída para comandos de CLI do Azure.
- O Azure PowerShell usa como padrão a saída de objetos. Para saber mais sobre a formatação no PowerShell, leia: Usar comandos de formato para alterar a exibição de saída.
Próximas etapas
CLI do Azure:
Azure PowerShell: