使用 Azure CLI 以交互方式创建 Azure 资源
在交互模式下,使用 Azure CLI 可立即输入并运行命令。
在客户关系管理 (CRM) 示例中,目标是创建三个包含虚拟机 (VM) 的测试环境。 使用资源组来确保将 VM 组织到不同的环境中:
- 单元测试
- 集成测试
- 验收测试
由于只需创建一次资源组,因此为此任务以交互方式使用 Azure CLI 是一个合理的选择。
示例:如何使用 Azure CLI 创建资源组
让我们执行一个常见任务:创建资源组。 资源组可帮助你共同管理相关资源,创建新的资源组通常是启动新 Azure 解决方案时执行的首要任务之一。
下面是需要执行的三个步骤:
使用
az login
连接到 Azure。使用
az account
处理 Azure 订阅。使用
az group
处理资源组。
连接到 Azure
使用 Azure CLI 的本地安装时,在执行任何 Azure CLI 命令之前,必须进行身份验证。 az login
命令会提示输入 Azure 凭据,然后连接到 Azure 订阅。
要以交互方式连接,无需指定参数:
az login
此命令将打开输入 Azure 凭据的提示,并建立与 Azure 订阅的连接。
下面是使用 Azure CLI 对 Azure 进行身份验证时的一些便利提示:
如果在 Azure Cloud Shell 中运行 Azure CLI...
- 你已自动通过身份验证。
- 可能需要更改默认订阅。
通过本地安装运行 Azure CLI 时...
- 系统会提示输入 Azure 凭据。
- 登录时会出现订阅选择器。
使用订阅
如果你是 Azure 的新手,则只有一个订阅。 但是,如果你已使用 Azure 一段时间,则可能会有多个订阅。 Azure CLI 允许配置要对其执行命令的订阅。
每次只能在一个订阅中操作。 使用 az account show
引用命令确定哪个订阅当前处于活动状态。 如果不正确,可以使用 az account set
引用命令切换订阅。
获取所有订阅的列表,并以表格形式返回结果:
az account list --output table
仅获取当前处于活动状态的订阅:
az account show
更改活动订阅:
az account set --subscription "00000000-0000-0000-0000-000000000000"
使用资源组
在 Azure 中创建资源时,将这些资源放入资源组,以便于管理。
要创建资源组,请使用 az group create
引用命令。 必须指定名称和位置,并且名称在订阅中必须唯一。 该位置决定资源组元数据的存储位置(出于符合性原因,这可能很重要)。 使用 az account list-locations
命令确定可用位置。
注意
如果在 Azure 沙盒中工作,则其会为你创建资源组。 如果更喜欢在自己的订阅中工作,请使用以下命令。
用于创建资源组的语法是:
az group create --name MyResourceGroup --location eastus
要检索包含活动订阅中所有资源组的列表,请使用 az group list
命令。
az group list
要想获得更简洁的视图,可以以表格形式返回列表:
az group list --output table
在开发和测试 Azure CLI 脚本时,最好创建一个名称中包含随机 ID 的资源组。 将随机 ID 添加到资源组名称后,即可重新测试代码,而无需等待之前同名的资源组从 Azure 中删除。
#!/bin/bash
let "randomIdentifier=$RANDOM*$RANDOM"
location="eastus"
resourceGroup="msdocs-rg-$randomIdentifier"
az group create --name $resourceGroup --location $location --output json
示例:创建一个 Azure 虚拟机
创建虚拟机 (VM) 是可以使用 Azure CLI 执行的一个常见任务。
az vm create
命令用于创建 VM。 此命令具有多个参数,用于处理 VM 的广泛配置设置。 大多数参数都有合理的默认值,因此我们通常只需要指定五个关键项:
- resource-group:放置了新 VM 的资源组。
- name:Azure 中 VM 的名称。
- location:预配了 VM 的地理区域。
- image:用于 VM 的操作系统映像,通常是 Linux 发行版或 Windows Server。
- admin-username:VM 的管理员用户名。 系统会提示你在命令行中输入密码。
下面是一个 Bash 脚本示例:
#!/bin/bash
# Create variables
rgName="myResourceGroupName"
vmName="myVMname"
vmImage="Win2022AzureEditionCore"
vmAdminUserName="myAzureUserName"
# Create the VM
az vm create \
--resource-group $rgName \
--name $vmName \
--image $vmImage \
--public-ip-sku Standard \
--admin-username $vmAdminUserName
示例:获取 VM 的信息
可使用 az vm list
命令列出订阅中的 VM。 此命令还支持通过指定 --name
参数来检索特定 VM。
下面介绍如何将 VM 的 ID 存储在变量中:
#!/bin/bash
rgName="myResourceGroupName"
vmID=$(az vm list --resource-group $rgName \
--query "[?name=='myVMname'].id" --output tsv)
echo $vmID
使用 az vm update
命令更改 VM 的大小:
#!/bin/bash
rgName="myResourceGroupName"
vmName="msdocs-vm-01"
newVMsize="Standard_DS3_v2"
# Get the VM ID
vmID=$(az vm list --resource-group $rgName \
--query "[?name=='$vmName'].id" --output tsv)
# Update the VM size
az vm update --ids $vmID --size $newVMsize
# Show the new properties of the VM
az vm show --resource-group $rgName --name $vmName
本练习演示了交互式 Azure CLI 会话的典型模式。 你先使用一个标准命令来创建新的资源组。 然后使用一组命令将资源(本示例中为 VM)部署到此资源组。 你可以将这组命令轻松地合并成一个 shell 脚本,并在每次需要创建相同资源时执行它。