以交互方式执行 Azure CLI 命令

已完成

在交互模式下,使用 Azure CLI 可立即输入并运行命令。 如果只需要创建一些 Azure 资源,手动执行 Azure CLI 命令是一个合理的选择。

使用 Azure CLI 创建存储帐户

让我们执行一个常见任务:创建存储帐户。 下面是需要遵循的四个步骤:

  1. 使用 az login 连接到 Azure。

  2. 使用 az account 管理 Azure 订阅。

  3. 如果需要,请使用 az group create 创建资源组。

  4. 使用 az storage account create. 创建存储帐户。

1.连接

由于使用的是本地 Azure CLI 安装,因此需要先进行身份验证,然后才能执行 Azure 命令。 使用 Azure CLI az login 命令登录到 Azure。

az login

Azure CLI 通常会启动默认浏览器以打开 Azure 登录页。

如果不起作用,请按照命令行说明作,并在 “输入代码 ”对话框中输入授权代码。

成功登录后,将连接到 Azure 订阅。

重要

从 2025 年开始,Microsoft将对 Azure CLI 和其他命令行工具强制实施强制多重身份验证。 新的 MFA 要求会影响Microsoft Entra ID 用户标识。 它确实会影响工作负荷标识,例如服务主体和托管标识。

2.验证订阅

如果有权访问多个 Azure 订阅,请验证默认订阅。

az account show --output table
EnvironmentName    HomeTenantId                          IsDefault    Name                               State    TenantId
-----------------  ------------------------------------  -----------  ---------------------------------  -------  ------------------------------------
AzureCloud         aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e  True         The name of my subscription        Enabled  aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e

如果需要,请更改默认订阅。

az account set --subscription "the name of a different subscription or subscription ID"

3.创建资源组

Azure 资源组是 Azure 资源的容器。 资源组使 Azure 资源保持井然有序,并帮助管理安全性和成本。 资源组名称在订阅中必须是唯一的,并且必须分配一个地理位置。

  1. 查找默认订阅可用的 Azure 位置

    az account list-locations --output table
    
    DisplayName               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>
    
  2. 使用变量创建资源组

    由于此模块是高级模块,让我们开始使用随机标识符和 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

5.验证资源创建

对于大多数 Azure 命令组,Azure CLI 提供 列表显示 用于获取资源详细信息的命令。

  1. 验证是否已创建新存储帐户。

    az storage account list
    

    若要获取更简洁的信息,可以将输出的格式设置为简单表:

    az storage account list --output table
    
  2. 如果有多个存储帐户,请使用 --query 参数筛选返回值。

    # get a list of all storage account 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,     reatedTimeStamp:creationTime}" \
        --output table
    

注释

使用--query格式化参数字符串,这是一种用于JSON请求的标准查询语言。

清理资源

使用随机 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

手动执行复杂或重复的任务可能非常耗时且容易出错。 许多组织倾向于自动执行这些任务,以降低成本并避免错误。 使用 Azure CLI 脚本自动创建 Azure 资源比手动创建一个资源更为高效可靠。