Выбор программы командной строки Azure
Для работы с Azure есть целый ряд инструментов и средств. В этой статье сравниваются Azure CLI и язык Azure PowerShell, а также среды, в которых работают эти два инструмента.
Функции Azure CLI, Azure PowerShell и Azure Cloud Shell пересекаются. Каждое из этих средств работает по-своему, а язык иногда путают со средой. Это руководство поможет вам разобраться, какой именно инструмент вам подходит.
Каковы преимущества программы командной строки Azure?
Azure выполняется в службе автоматизации. Каждое действие, выполняемое на портале, является определенной частью кода, который осуществляет чтение, создание, изменение или удаление ресурсов.
Перенос рабочей нагрузки в Azure избавляет от некоторых, но не всех административных задач. По мере внедрения Azure увеличивается и объем этих задач. Хотя вам не нужно беспокоиться о центре обработки данных, вам по-прежнему потребуется исправлять и устранять неполадки виртуальных машин Azure, настраивать обработку отказов баз данных и виртуальные сети.
Благодаря технологиям автоматизации, на базе которых работает Azure, средства командной строки помогают справиться с этими задачами.
Что представляют собой программы командной строки Azure?
Программы командной строки Azure позволяют автоматизировать повседневные операции, стандартизировать отработку отказа баз данных и получать полезные данные для эффективной аналитики. Средства командной строки не только позволяют масштабировать задачи в Azure, но и значительно упрощают совместную работу в среде. Представить доступ к скрипту намного проще, чем опубликовать объемную вики-страницу со снимками экрана, создание которых отнимает время.
Работа с программами командной строки не всегда обязательна, но это полезный навык.
Azure CLI и Azure PowerShell
Azure CLI и Azure PowerShell — это средства командной строки, позволяющие создавать ресурсы Azure и управлять ими. Оба инструмента являются кроссплатформенными и устанавливаются в Windows, macOS и Linux.
Azure CLI
- Кроссплатформенный интерфейс командной строки, устанавливаемый в Windows, macOS, Linux
- Работает в Windows PowerShell, Cmd, а также Bash и других оболочках Unix.
Azure PowerShell
- Кроссплатформенный модуль PowerShell, работает в Windows, macOS, Linux
- Требуется Windows PowerShell или PowerShell
Различные командные среды
Командная среда | Azure CLI | Azure PowerShell |
---|---|---|
Cmd | Да | |
Bash | Да | |
Windows PowerShell | Да | Да |
PowerShell | Да | Да |
Windows PowerShell, PowerShell, Cmd и Bash — это командные среды. От командной среды зависит не только то, какие инструменты можно использовать, но и особенности интерфейса командной строки.
Например, в качестве символа продолжения строки Bash использует обратную косую черту \
, а Windows PowerShell — обратный апостроф `
. Различия в командной среде не влияют на работу Azure CLI и Azure PowerShell. Однако они влияют на интерфейс командной строки.
Для Azure CLI есть установщик, который позволяет выполнять соответствующие команды во всех четырех командных средах.
Azure PowerShell представляет собой набор командлетов, упакованных в виде модуля PowerShell под названием Az
; это не исполняемый файл. Для установки модуля Az
следует использовать Windows PowerShell или PowerShell.
Windows PowerShell — это стандартная оболочка сценариев, которая предустановлена в большинстве операционных систем Windows. PowerShell — это автономное приложение, которое использует .NET Core в качестве среды выполнения и устанавливается в macOS, Linux и Windows.
Основные моменты:
- AzureRM — это модуль PowerShell, который по-прежнему упоминается в материалах по администрированию Azure с помощью PowerShell. Однако этот продукт заменен средой Azure PowerShell, и его поддержка будет официально прекращена 29 февраля 2024 г.
Если вы используете AzureRM, вы можете перенести Azure PowerShell из AzureRM в AZ.
Что такое Azure Cloud Shell?
Azure Cloud Shell — это размещенная командная среда, которая работает в контейнере Ubuntu.
В Cloud Shell есть два варианта среды: Bash (с предварительно установленным Azure CLI) и PowerShell (с предварительно установленным Azure PowerShell). Переключаться между двумя средами легко можно с помощью раскрывающегося списка в верхней части окна Cloud Shell.
Cloud Shell работает через веб-браузер и интегрируется с терминалом Windows и Visual Studio Code.
Примечание.
Azure Cloud Shell может не всегда сразу отражать самые последние выпуски Azure PowerShell и Azure CLI, так как график публикации для всех трех средств отличается. Но обычно считается, что Azure Cloud Shell всегда содержит самые последние версии обоих инструментов.
Какую программу командной строки Azure следует выбрать?
При выборе подходящего инструмента следует учесть имеющийся опыт работы и текущую рабочую среду.
Синтаксис Azure CLI схож с синтаксисом скриптов Bash. Если вы работаете в основном с системами Linux, Azure CLI покажется вам более знакомым инструментом.
Azure PowerShell — это модуль PowerShell. Если вы работаете в основном с системами Windows, подходящим вариантом будет Azure PowerShell. В названиях команд используется схема "глагол-существительное", а данные возвращаются в виде объектов.
Следует выбирать инструмент, который соответствует вашему опыту и не потребует большого переобучения. Эффективно управлять Azure в командной строке вам помогут учебные материалы Microsoft Learning.
При этом открытость к новым знаниям лишь поспособствует расширению ваших навыков. При необходимости переключайтесь на другие инструменты.
Основные моменты:
- Функциональность Azure CLI и Azure PowerShell в службах Azure не всегда эквивалентна.
Сравнение команд Azure CLI и Azure PowerShell
Команды для управления входом, подписками и расположениями:
Команда | Azure CLI | Azure PowerShell |
---|---|---|
Вход с помощью веб-браузера | az login | Connect-AzAccount |
Получение доступных подписок | az account list | Get-AzSubscription |
Выбор подписки | az account set –-subscription SubscriptionId <> | Set-AzContext -Subscription <SubscriptionID> |
Получение списка расположений Azure | az account list-locations | Get-AzLocation |
Поиск версий, получение справки и просмотр справки по командам:
Команда | Azure CLI | Azure PowerShell |
---|---|---|
Поиск версии | az --version | Get-InstalledModule -Name Az |
Справка | az --help | Get-Help |
Просмотр справки по командам | az vm --help | Get-Help -Name New-AzVM |
Создание группы ресурсов, виртуальной машины и учетной записи хранения:
Команда | Azure CLI | Azure PowerShell |
---|---|---|
Создание группы ресурсов | az group create --name <ResourceGroupName> --location eastus | New-AzResourceGroup -Name <ResourceGroupName> -Location eastus |
Создание виртуальной машины 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) |
Создание учетной записи хранения 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 |
Управление виртуальными машинами Azure
Команда | Azure CLI | Azure PowerShell |
---|---|---|
Получение списка виртуальных машин | az vm list | Get-AzVM |
Перезапуск виртуальной машины | az vm restart --name myVM --resource-group <ResourceGroupName> | Restart-AzVM -Name myVM -ResourceGroupName <ResourceGroupName> |
Остановка виртуальной машины | az vm stop --name myVM --resource-group <ResourceGroupName> | Stop-AzVM -Name myVM -ResourceGroupName <ResourceGroupName> |
Остановка и освобождение виртуальной машины | az vm deallocate --name myVM --resource-group <ResourceGroupName> | Stop-AzVM -Name myVM -ResourceGroupName <ResourceGroupName> |
Запустить ВМ | az vm start --name myVM --resource-group <ResourceGroupName> | Start-AzVM -Name myVM -ResourceGroupName <ResourceGroupName> |
Удаление виртуальной машины | az vm delete --name myVM --resource-group <ResourceGroupName> | Remove-AzVM -Name myVM -ResourceGroupName <ResourceGroupName> |
Выбор свойств и изменение формата вывода
Команда | Azure CLI | Azure PowerShell |
---|---|---|
Вывод всех сведений о подписке | az account list --all | Get-AzSubscription | Select-Object -Property * |
Вывод в виде таблицы | az account list -o table | Get-AzSubscription | Format-Table |
Вывод в виде JSON-файла | az account show | Get-AzSubscription | ConvertTo-Json |
Основные моменты:
- Azure CLI по умолчанию выводит значения в виде строки JSON. Другие варианты формата можно найти в выходных форматах для команд Azure CLI.
- Azure PowerShell по умолчанию выводит значения в виде объектов. Дополнительные сведения о форматировании в PowerShell см. в статье Использование команд форматирования для изменения представления вывода.
Следующие шаги
Azure CLI:
Azure PowerShell: