您现在访问的是微软AZURE全球版技术文档网站,若需要访问由世纪互联运营的MICROSOFT AZURE中国区技术文档网站,请访问 https://docs.azure.cn.

教程:使用持久参数简化顺序 Azure CLI 命令

Azure CLI 提供了持久参数,使你能够存储参数值以供继续使用。 在本教程中,将了解如何使用永久值,并使用这些本地值有效地执行顺序命令。

在本教程中,学习:

  • 使用 az config param-persist 参考命令
  • 使用持久参数执行顺序命令

本教程使用以下 Azure CLI 命令

如果没有 Azure 订阅,请在开始之前创建一个免费帐户

先决条件

  1. 安装 Azure CLI

    如果愿意,还可以使用 Azure Cloud Shell 来完成本教程中的步骤。 Azure Cloud Shell 是一种可以通过浏览器使用的交互式 shell 环境。 使用下列方法之一开始使用 Cloud Shell:

  2. 如果使用的是 Azure CLI 的本地安装,请完成以下操作:

    • 使用 az login 命令登录,然后按照终端中显示的步骤完成身份验证过程。

      az login
      
    • 本教程需要 Azure CLI 版本 2.12.0 或更高版本。 运行 az version 以查找安装的版本和依赖库。 若要升级到最新版本,请运行 az upgrade

1.确定本地目录

持久参数值存储在 Azure Cloud Shell 使用的 Azure 存储帐户的工作目录中。 如果使用的是 Azure CLI 的本地安装,则该值存储在计算机上的工作目录中。

若要查找、创建或更改 Azure CLI 使用的工作目录,请使用这些熟悉的 CLI 命令。

# List directories
dir

# Make directory
mkdir azCLI

# Change directory
cd azCLI

2.启用持久参数

必须先启用持久参数,然后才能存储参数值。 在将 az config param-persist 移出实验阶段之前,你都将收到警告。 请参阅概述:Azure CLI 引用类型和状态以了解 Azure CLI 引用类型、状态和支持级别。

az config param-persist on

3.创建永久参数

若要存储持久参数的值,请执行所选的 Azure CLI 命令,其中包含要存储的参数。 例如,创建一个资源组,并将 --location--name 参数存储起来以供将来使用。

  1. 存储位置和资源组名称。

    # With persisted parameters turned on, create a resource group
    az group create --name RG1forTutorial --location eastus2
    
    # See new persisted parameters
    az config param-persist show
    
    {
      "all": {
        "location": "eastus2",
        "resource_group_name": "RG1forTutorial"
      }
    }
    
  2. 使用新的持久参数创建存储帐户。

    # Create a storage account
    az storage account create --name sa1fortutorial
    
    # See that storage_account_name has been added to persisted parameters
    az config param-persist show
    
    {
      "all": {
        "location": "eastus2",
        "resource_group_name": "RG1forTutorial",
        "storage_account_name": "sa1fortutorial"
      }
    }
    
  3. 创建持久参数而不创建新资源。

    如果不想创建新的 Azure 资源,可以使用 showlist 等非 create 命令来存储 resource_group_namelocation 参数。 有关受支持参数的完整列表以及保留值所需的操作,请参阅 Azure CLI 持久参数。 本示例还使用了 az config param-persist delete 命令删除所有参数值。

    # Clear all persisted parameters for demonstration.
    az config param-persist delete --all
    
    # List all storage accounts which will create the `resource_group_name` stored parameter value.
    az storage account show --resource-group RG1forTutorial --name sa1fortutorial
    
    # See the new stored value created for resource group.  The storage account name is only stored with a 'create' command.
    az config param-persist show
    
    {
      "all": {
        "resource_group_name": "RG1forTutorial"
      }
    }
    

4.替换持久参数

替换存储的参数值非常简单,执行包含不同值的命令即可。

  1. 创建新的持久参数。

    # Clear all persisted parameters for demonstration
    az config param-persist delete --all
    
    # Create a storage account placing "location", "resource_group_name", and "storage_account_name" into persisted parameters
    az storage account create --name sa1fortutorial --resource-group RG1forTutorial --location eastus2
    
    # See persisted parameters entries
    az config param-persist show
    
    {
      "all": {
        "location": "eastus2",
        "resource_group_name": "RG1forTutorial",
        "storage_account_name": "sa1fortutorial"
      }
    }
    
  2. 替换新存储的值。

    # Create a second storage account while changing both the "storage_account_name" and "location" persisted parameters
    az storage account create --name sa2fortutorial --location westeurope
    
    # See new persisted parameters
    az config param-persist show
    
    {
      "all": {
        "location": "westeurope",
        "resource_group_name": "RG1forTutorial",
        "storage_account_name": "sa2fortutorial"
      }
    }
    

    备注

    即使启用了持久参数,也不一定要使用它们。 你仍然可以在指定所有参数值的情况下执行命令。 但请注意,启用持久参数后,你将创建新的持久参数或覆盖现有参数。

5.执行顺序命令

这些脚本使用消耗计划创建 Azure 函数应用。

# Reminder: function app and storage account names must be unique.

# Turn persisted parameters on.
az config param-persist on

# Create a resource group.
az group create --name RG2forTutorial --location westeurope

# Create an Azure storage account in the resource group omitting "--location" and "--resource-group" parameters.
az storage account create \
  --name sa3fortutorial \
  --sku Standard_LRS

# Create a serverless function app in the resource group omitting "--storage-account" and "--resource-group" parameters.
az functionapp create \
  --name FAforTutorial \
  --consumption-plan-location westeurope \
  --functions-version 2

# See the stored parameter values.
az config param-persist show

6.删除持久参数

使用 az config param-persist delete 命令删除条目。

# Remove a single persisted parameters entry by specifying the name, not the value
az config param-persist delete resource_group_name

# Remove all persisted parameters entries and do not prompt for confirmation
az config param-persist delete --all --yes

重要

删除 Azure 资源后,持久参数不会更新。

# delete a resource group
az group delete --name RG1forTutorial

# verify that the resource group no longer exists
az group list --output table

# See that the resource group name remains in persisted parameters
az config param-persist show

7.关闭持久参数

可以通过使用 az config param-persist off 命令关闭持久参数,但不会删除已保存的持久参数数据。

# Turn persisted parameters off
az config param-persist off

# See that your persisted parameters still exist
az config param-persist show

# Try to create a new resource relying on persisted parameters and receive error "...the following arguments are required:..."
az storage account create --name SA4inAzCLI --sku Standard_LRS

8.清理资源

不再需要上述资源组和所有相关资源时,请使用 az group delete 命令将其删除。

az group delete --name RG1forTutorial

另请参阅