以交互方式执行 Azure CLI 命令
在 交互式模式下, Azure CLI 允许你立即输入并运行命令。 如果只需要创建一些 Azure 资源,手动执行 Azure CLI 命令是一个合理的选择。
使用 Azure CLI 创建存储帐户
让我们执行一个常见任务:创建 Azure 存储帐户。 下面是需要遵循的四个步骤:
连接到 Azure 使用
az login。使用 Azure 订阅进行操作
az account.使用
az group create创建资源组(如果需要)。使用 .
az storage account create。
步骤 1:连接到 Azure
由于使用的是本地 Azure CLI 安装,因此需要先进行身份验证,然后才能执行 Azure 命令。 使用以下命令登录到 az login:
az login
Azure CLI 通常会启动默认浏览器以打开 Azure 登录 页。
如果不起作用,请按照命令行说明作,并在 “输入代码 ”对话框中输入授权代码。
成功登录后,已连接到 Azure 订阅。
重要
从 2025 年开始,Microsoft对 Azure CLI 和其他命令行工具强制实施强制多重身份验证(MFA)。 新的 MFA 要求会影响 Microsoft Entra ID 用户标识。 它们不会影响工作负荷标识,例如 服务主体 和 托管标识。
步骤 2:验证订阅
如果有权访问多个 Azure 订阅,请验证默认订阅:
az account show --output table
EnvironmentName HomeTenantId IsDefault Name State TenantId
----------------- ------------------------------------ ----------- --------------------------------- ------- ------------------------------------
AzureCloud aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e True My Production Subscription Enabled aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e
如果要更改默认订阅:
az account set --subscription "the name of a different subscription or subscription ID"
步骤 3:创建资源组
Azure 资源组是 Azure 资源的容器。 资源组 使 Azure 资源 保持井然有序,并帮助管理安全性和成本。 资源组名称在订阅内必须唯一,并且必须获配地理位置。
查找可用于默认订阅的 Azure 位置:
az account list-locations --output tableDisplayName Name RegionalDisplayName ------------------------ ------------------- ------------------------------------- East US eastus (US) East US South Central US southcentralus (US) South Central US West US 2 westus2 (US) West US 2 West US 3 westus3 (US) West US 3 Australia East australiaeast (Asia Pacific) Australia East ... <more regions here>使用变量创建 资源组 :
由于此模块是高级模块,让我们开始使用随机标识符和 Bash 变量。 使用随机 ID 可以重复测试脚本,而无需等待删除上一测试的 资源组 。
# Variable block let "randomIdentifier=$RANDOM*$RANDOM" location="westus2" resourceGroup="msdocs-rg-$randomIdentifier" # Create the resource group az group create --name $resourceGroup --location $location --output json
步骤 4:创建存储帐户
使用创建的 资源组 创建 存储帐户。 用您在上一步中创建的资源组的名称替换<msdocs-rg-0000000>。
存储帐户 名称只能包含小写字母和数字。
# Variable block
let "randomIdentifier=$RANDOM*$RANDOM"
location="westus2"
resourceGroup="<msdocs-rg-0000000>"
storageAccount="msdocssa$randomIdentifier"
# Create the storage account
echo "Creating storage account $storageAccount in resource group $resourceGroup"
az storage account create --name $storageAccount \
--resource-group $resourceGroup \
--location $location \
--sku Standard_RAGRS \
--kind StorageV2 \
--output json
小窍门
反斜杠 (\) 是 Bash 中的行继续符。 它允许跨多行拆分长命令,以提高可读性。
步骤 5:验证资源创建
对于大多数 Azure 命令组,Azure CLI 提供 list 和 show 命令,可用于获取资源详细信息。
验证是否已创建新的 存储帐户 :
az storage account list若要获取更简洁的信息,可以将输出的格式设置为简单表:
az storage account list --output table如果有多个 存储帐户,请使用
--query参数筛选返回值:# Get a list of all storage accounts created in the last 30 days saDate=$(date +%F -d "-30days") az storage account list --resource-group <msdocs-rg-00000000> \ --query "[?creationTime >='$saDate'].{saName:name, saID: id, sku: sku.name}"# Get a list of all storage accounts that contain the word 'msdocs' az storage account list --resource-group $rgName \ --query "[?contains(name, 'msdocs')].{saName:name, saKind:kind, saPrimaryLocation:primaryLocation, createdTimeStamp:creationTime}" \ --output table
注释
使用--query格式化参数字符串,这是一种用于JSON请求的标准查询语言。 在 JMESPath 教程中了解详细信息。
清理资源
使用随机 ID 并运行这些模块步骤可创建可删除的测试 资源组 。 清理 Azure 资源 的最简单方法是删除 资源组。 但是,删除 资源组时,会删除组中的每个对象,因此请务必删除正确的 资源组 名称!
# Get a list of resource groups in the active subscription
az group list --output table
# Delete a resource group and do not wait for the operation to finish
az group delete --name <msdocs-rg-0000000> --no-wait
小窍门
该 --no-wait 参数允许删除操作在后台运行,从而释放命令行用于其他任务。
手动执行复杂或重复的任务可能非常耗时且容易出错。 许多组织倾向于自动执行这些任务,以降低成本并避免错误。 使用 Azure CLI 脚本自动创建 Azure 资源 比手动创建一个资源更高效、更可靠。