你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
除了直接在命令中指定值外,还可以通过多种方式提供值:
- 使用 shell 变量
- 设置用于多个命令的订阅
- 为某些参数创建默认值
本文讨论在 Azure CLI 命令中指定值的各种方法。
先决条件
在 Azure Cloud Shell 中使用 Bash 环境。 有关详细信息,请参阅 Azure Cloud Shell 入门。
如需在本地运行 CLI 参考命令,请安装 Azure CLI。 如果在 Windows 或 macOS 上运行,请考虑在 Docker 容器中运行 Azure CLI。 有关详细信息,请参阅如何在 Docker 容器中运行 Azure CLI。
如果使用的是本地安装,请使用 az login 命令登录到 Azure CLI。 若要完成身份验证过程,请遵循终端中显示的步骤。 有关其他登录选项,请参阅 使用 Azure CLI 向 Azure 进行身份验证。
出现提示时,请在首次使用时安装 Azure CLI 扩展。 有关扩展的详细信息,请参阅 使用和管理 Azure CLI 中的扩展。
运行az version命令,以查看已安装的版本和依赖库。 若要升级到最新版本,请运行az upgrade。
使用 shell 变量
Azure CLI 在 shell 中运行。 本文使用 Bash。 有关其他脚本语言的信息,请参阅 “选择正确的 Azure 命令行工具”。 可以使用 Bash 中的变量将参数的值传递给命令。 将变量与 Azure CLI 配合使用还允许重用命令(片段或脚本)。
此示例创建与现有虚拟机上的存储磁盘类型相同的新存储磁盘。
# Bash script
# Assign values to variables
MyResourceGroup=ContosoRGforVM
MySubscription="Contoso subscription"
vmName=VM01
# Get a value for a variable based on an existing virtual machine
osType=$(az vm get-instance-view --resource-group $MyResourceGroup \
--name $vmName --subscription "$MySubscription" \
--query 'storageProfile.osDisk.osType' --output tsv)
# Create a disk of the same type by using the variable value
az disk create --resource-group $MyResourceGroup --name DestinationDisk --size-gb 20 --os-type $osType
此示例演示如何将值分配给重复使用的变量,如 MyResourceGroup 和 osType。 命令 az vm get-instance-view 与查询 storageProfile.osDisk.osType
结合使用将返回磁盘的 OS 类型。 将命令用 $()
封装后,把命令的返回值赋给 osType
。 若要详细了解 --query
和 JMESPath 查询,请参阅 如何使用 JMESPath 查询查询 Azure CLI 命令输出。
将值分配给另一个命令中的变量时,请确保该命令使用兼容的输出格式。
az vm get-instance-view 命令使用tsv
输出格式。 此选项返回不带额外格式、键或其他符号的值。 某些输出格式包括结构或字符,如引号。 有关详细信息,请参阅 Azure CLI 命令的输出格式。
在此示例中, MySubscription 变量必须采用引号。 变量的值包含空格,命令无法分析这些空格。 如果仅使用订阅 ID,则无需使用引号。
设置订阅
许多命令需要特定的订阅。 Azure 资源存在于订阅中的资源组中。 Azure CLI 在会话中时使用默认订阅。 若要查看当前订阅值,请运行 az account show 命令:
az account show --output table
你可能只能拥有一个订阅的权限。 有关详细信息,请参阅 将 Azure 订阅与 Azure CLI 配合使用:可以使用 az account set 命令设置当前订阅:
az account set --subscription "My Demos"
设置订阅后,可以省略 --Subscription
参数。 有关详细信息,请参阅 将 Azure 订阅与 Azure CLI 配合使用。
创建默认值
可以使用 az config set 命令为某些参数设置值。 此示例设置默认资源组:
az config set defaults.group=ContosoRGforVM
运行此命令后,可以运行以下命令,在 ContosoRGforVM 资源组中创建存储帐户:
az storage account create --name storage135 --___location eastus --sku Standard_LRS
请注意,命令中没有指定的资源组。 有关详细信息,请参阅 设置默认资源组。
小窍门
以不同方式获取参数值的命令可能会令人困惑。 如果命令出现意外结果,例如找不到资源组,则可能存在默认值。
如果遇到错误,请使用指定的参数和值再次运行该命令。 参数的显式值始终优先于其他选项。
可以这样为多个参数指定值。 有关详细信息,请参阅 Azure CLI 配置。
清理资源
如果已创建资源以尝试本文中的任何命令,则可以使用 az group delete 命令将其删除:
az group delete --name ContosoRGforVM
az group delete --name ContosoStorageRG
此命令将一次性删除组及其包含的所有资源。