你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure CLI 配置

Azure CLI 允许用户配置日志记录、数据收集和默认参数值等设置。 CLI 提供了用于管理某些默认设置的便捷命令 az config,并通过 az init 提供了一个交互选项。 可在配置文件中或使用环境变量设置其他值。 本文进一步介绍了这些用户配置设置以及如何配置 Azure CLI。

CLI 使用的配置值按以下优先顺序计算,列表中位于较高位置的项优先。

  1. 命令行参数
  2. 环境变量
  3. 配置文件中使用 az configaz init 设置的值

使用 az init 配置设置

设置 Azure CLI 配置的最简单方法是使用交互式 az init 命令。 选择“交互”或“自动化”等常见配置,或选择演练各个配置。 这种方法特别有用的是 az init 提供了你可能希望选择一个配置选项而不是另一个配置选项的原因。

az init

使用 az config 配置设置

可使用 az config set 命令设置 CLI 的默认值。 此命令接受空格分隔的 key=value 对列表作为参数。 Azure CLI 使用提供的值来取代所需的参数。

下表列出了可用的配置键。

名称 说明
defaults.group 所有命令使用的默认资源组。
defaults.location 所有命令使用的默认位置。
defaults.web az webapp 命令使用的默认应用名称。
defaults.vm az vm 命令使用的默认 VM 名称。
defaults.vmss 用于 az vmss 命令的默认虚拟机规模集 (VMSS) 名称。
defaults.acr az acr 命令使用的默认容器注册表名称。

例如,可按如下所示设置所有命令的默认资源组和位置。

az config set defaults.location=westus2 defaults.group=MyResourceGroup

以下命令在执行 Azure CLI 命令时关闭调查链接:

az config set output.show_survey_link=no

CLI 配置文件

CLI 配置文件包含用于管理 CLI 行为的其他设置。 配置文件本身位于 $AZURE_CONFIG_DIR/configAZURE_CONFIG_DIR 的默认值为 $HOME/.azure(在 Linux 与 macOS 上)和 %USERPROFILE%\.azure(在 Windows 上)。

配置文件是以 INI 文件格式编写的。 节标头定义文件格式,后接键-值项的列表。

  • 节标头以 [section-name] 的形式写入。 节名称区分大小写。
  • 项以 key=value 的形式写入。 字段名称不区分大小写。
  • 注释是以 #; 开头的任何行。 不允许内联注释。

布尔值不区分大小写。 以下值表示布尔值:

  • True1yestrueon
  • False0nofalseoff

以下示例 CLI 配置文件禁用任何确认提示,并设置在 /var/log/azure 目录中进行日志记录。

[core]
disable_confirm_prompt=Yes

[logging]
enable_log_file=yes
log_dir=/var/log/azure

有关所有可用配置值及其含义的详细信息,请参阅下一部分。 有关 INI 文件格式的完整详细信息,请参阅 INI 上的 Python 文档

CLI 配置值和环境变量

下表包含可在配置文件中放置的所有节和选项名称。 将其相应环境变量设置为 AZURE_{section}_{name}(全大写)。 例如,coreoutput 默认值是在 AZURE_CORE_OUTPUT 变量中设置的,batchaistorage_account 默认值是在 AZURE_BATCHAI_STORAGE_ACCOUNT 变量中设置的,默认 location 是在 AZURE_DEFAULTS_LOCATION 变量中设置的。

如果提供了默认值,则任何命令都不再需要该参数, 而是改用默认值。

部分 名称 Type 说明
core output 字符串 默认输出格式。 允许的值:json(默认)、jsoncyamlyamlctabletsvnone。 有关详细信息,请参阅 Azure CLI 命令的输出格式
disable_confirm_prompt boolean 启用/禁用确认提示。
display_region_identified boolean Azure 客户可以选择在许多不同的区域中部署资源。 在某些情况下,客户可以通过选择提供相同服务的附近区域来降低成本。 如果某个附近区域被标识,则一条消息会显示要选择用于将来部署的区域。 此设置控制是否显示消息。
collect_telemetry boolean 允许 Microsoft 收集有关 CLI 使用情况的匿名数据。 有关隐私信息,请参阅 Azure CLI MIT 许可证
only_show_errors boolean 仅显示命令调用期间的错误。 换言之,只有错误会写入到 stderr。 它禁止显示来自预览版命令、不推荐使用的命令和实验性命令的警告。 它还可用于带有 --only-show-errors 参数的单个命令。
enable_broker_on_windows boolean 使用 Web 帐户管理器(WAM)通过 az login 命令向 Azure 进行身份验证。
login_experience_v2 boolean 打开 az login /关闭订阅选择器。
no_color boolean 禁用颜色。 原本带颜色的消息将以 DEBUGINFOWARNINGERROR 为前缀。 这个布尔值会绕过第三方库的以下问题:终端的颜色无法在 stdout 重定向后复原。
客户 show_secrets_warning boolean 打开/关闭敏感信息输出的警告。
logging enable_log_file boolean 启用/关闭日志记录。
log_dir 字符串 要将日志写入到的目录。 此值默认为 ${AZURE_CONFIG_DIR}/logs*
默认值 group 字符串 所有命令使用的默认资源组。
location 字符串 所有命令使用的默认位置。
Web 字符串 az webapp 命令使用的默认应用名称。
vm 字符串 az vm 命令使用的默认 VM 名称。
vmss 字符串 用于 az vmss 命令的默认虚拟机规模集 (VMSS) 名称。
acr 字符串 az acr 命令使用的默认容器注册表名称。
storage account string 用于az storage数据平面命令(例如 az storage container list)的默认存储帐户名称(例如 https://mystorageaccount.blob.core.windows.net 中的 mystorageaccount)。
字符串 用于 az storage 数据平面命令的默认访问密钥。
sas_token 字符串 用于 az storage 数据平面命令的默认 SAS 令牌。
connection_string 字符串 用于 az storage 数据平面命令的默认连接字符串。
batchai storage_account 字符串 az batchai 命令使用的默认存储帐户。
storage_key 字符串 az batchai 命令使用的默认存储密钥。
batch account 字符串 az batch 命令使用的默认 Azure Batch 帐户名。
access_key 字符串 az batch 命令使用的默认访问密钥。 只能与 aad 授权配合使用。
endpoint 字符串 az batch 命令要连接到的默认终结点。
auth_mode 字符串 az batch 命令使用的授权模式。 允许的值:shared_keyaad
cloud name 字符串 所有 az 命令的默认云。 允许的值:AzureCloud(默认)、AzureChinaCloudAzureUSGovernment。 若要更改云,可以使用 az cloud set –name 命令。 有关示例,请参阅通过 Azure CLI 管理云
extension use_dynamic_install 字符串 安装扩展(如果在运行命令时尚未添加)。 允许的值:no(默认)、yes_promptyes_without_prompt
run_after_dynamic_install boolean 在为命令动态安装扩展后,继续运行该命令。 默认为 False
index_url string 专用扩展索引文件的 URL,采用 index.json 中的格式。 指定后,执行 az extension add --name <extension-name> 将使用该文件查找要添加的扩展名。

注意

配置文件中可能包含其他值,但这些值是直接通过 CLI 命令(包括 az config)管理的。 你只能自行更改前表中列出的值。