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

Configuration 类

  • java.lang.Object
    • com.azure.core.util.Configuration

实现

public class Configuration
implements Cloneable

包含构造客户端库期间使用的配置信息。

Configuration configuration = new ConfigurationBuilder(new SampleSource(properties))
     .root("azure.sdk")
     .buildSection("client-name");

 ConfigurationProperty<String> proxyHostnameProperty = ConfigurationPropertyBuilder.ofString("http.proxy.hostname")
     .shared(true)
     .build();
 System.out.println(configuration.get(proxyHostnameProperty));

字段摘要

修饰符和类型 字段和描述
static final Configuration NONE

No-op Configuration 对象用于在构造客户端库时选择不使用全局配置。

static final String PROPERTY_AZURE_AUTHORITY_HOST

要连接到的 Azure Active Directory 终结点。

static final String PROPERTY_AZURE_CLIENT_CERTIFICATE_PASSWORD

使用 Azure 执行服务主体身份验证时使用的 PFX/PEM 证书的密码。

static final String PROPERTY_AZURE_CLIENT_CERTIFICATE_PATH

对 Azure 执行服务主体身份验证时要使用的 PFX/PEM 证书文件的路径。

static final String PROPERTY_AZURE_CLIENT_ID

使用 Azure 执行服务主体身份验证时要使用的客户端 ID。

static final String PROPERTY_AZURE_CLIENT_SECRET

使用 Azure 执行服务主体身份验证时要使用的客户端密码。

static final String PROPERTY_AZURE_CLOUD

要连接到的 Azure 云的名称。

static final String PROPERTY_AZURE_HTTP_CLIENT_IMPLEMENTATION

设置应用于构造 实例的HttpClient实现的名称HttpClientProvider

static final String PROPERTY_AZURE_HTTP_LOG_DETAIL_LEVEL

通过设置 HTTP 日志详细信息级别启用 HTTP 请求/响应日志记录。

static final String PROPERTY_AZURE_IDENTITY_DISABLE_CP1

用于在 Azure 标识令牌凭据中禁用 CP1 客户端功能的标志。

static final String PROPERTY_AZURE_LOG_LEVEL

通过设置日志级别启用日志记录。

static final String PROPERTY_AZURE_METRICS_DISABLED

禁用指标。

static final String PROPERTY_AZURE_METRICS_IMPLEMENTATION

设置应用于构造 实例的Meter实现的名称MeterProvider

static final String PROPERTY_AZURE_PASSWORD

使用 Azure 执行用户名/密码身份验证时要使用的用户名。

static final String PROPERTY_AZURE_POD_IDENTITY_TOKEN_URL

Bridge To Kubernetes 用于在开发环境中重定向 IMDS 调用的 URL。

static final String PROPERTY_AZURE_REGIONAL_AUTHORITY_NAME

Azure AAD 区域机构的名称。

static final String PROPERTY_AZURE_REQUEST_CONNECT_TIMEOUT

为连接到远程主机的请求设置默认超时(以毫秒为单位)。

static final String PROPERTY_AZURE_REQUEST_READ_TIMEOUT

设置响应中每个字节读取之间允许的默认超时间隔(以毫秒为单位)。

static final String PROPERTY_AZURE_REQUEST_RESPONSE_TIMEOUT

设置请求接收来自远程主机的响应的默认超时(以毫秒为单位)。

static final String PROPERTY_AZURE_REQUEST_RETRY_COUNT

设置请求在失败之前,如果请求满足重试条件,则其重试的默认次数。

static final String PROPERTY_AZURE_REQUEST_WRITE_TIMEOUT

设置请求写入的每个字节之间允许的默认超时间隔(以毫秒为单位)。

static final String PROPERTY_AZURE_RESOURCE_GROUP

Azure 资源组的名称。

static final String PROPERTY_AZURE_SUBSCRIPTION_ID

连接到 Azure 资源时要使用的订阅 ID。

static final String PROPERTY_AZURE_TELEMETRY_DISABLED

禁用遥测收集。

static final String PROPERTY_AZURE_TENANT_ID

Azure 资源的租户 ID。

static final String PROPERTY_AZURE_TRACING_DISABLED

禁用跟踪。

static final String PROPERTY_AZURE_TRACING_IMPLEMENTATION

设置应用于构造 实例的Tracer实现的名称TracerProvider

static final String PROPERTY_AZURE_USERNAME

使用 Azure 执行用户名/密码身份验证时要使用的用户名。

static final String PROPERTY_HTTPS_PROXY

HTTPS 连接的代理的 URL。

static final String PROPERTY_HTTP_PROXY

HTTP 连接的代理的 URL。

static final String PROPERTY_IDENTITY_ENDPOINT

使用 Azure Active Directory 托管服务标识时要连接到的终结点 (MSI) 。

static final String PROPERTY_IDENTITY_HEADER

使用托管服务标识连接到 Azure Active Directory 时 (MSI) 标头。

static final String PROPERTY_MSI_ENDPOINT

使用 Azure Active Directory 托管服务标识时要连接到的终结点 (MSI) 。

static final String PROPERTY_MSI_SECRET

使用托管服务标识 (MSI) 连接到 Azure Active Directory 时的机密。

static final String PROPERTY_NO_PROXY

不通过 使用代理 HTTP/HTTPS 连接的主机或 CIDR 列表。

构造函数摘要

构造函数 说明
Configuration()

已放弃

使用 ConfigurationBuilder 允许 ConfigurationSource 在创建配置之前提供所有属性并使其不可变。

构造包含已知 Azure 属性常量的配置。

方法摘要

修饰符和类型 方法和描述
T get(ConfigurationProperty<T> property)

按以下顺序从所有可用源获取属性值:

T get(String name, T defaultValue)

获取使用此类型上的相应parse方法转换为给定基元T的系统属性或环境变量的值。

T get(String name, Function<String,T> converter)

获取系统属性或环境变量的值,并使用 进行转换 converter

Configuration clone()

已放弃

使用 ConfigurationBuilderConfigurationSource 创建配置。

克隆此 Configuration 对象。

boolean contains(ConfigurationProperty<?> property)

检查配置是否包含 属性。

boolean contains(String name)

确定是否定义了系统属性或环境变量。

String get(String name)

获取系统属性或环境变量的值。

static Configuration getGlobalConfiguration()

获取由所有客户端库共享的全局配置存储。

Configuration put(String name, String value)

已放弃

在创建配置之前,使用 ConfigurationBuilderConfigurationSource 提供所有属性。

添加具有给定值的配置。

String remove(String name)

已放弃

在创建配置之前,使用 ConfigurationBuilderConfigurationSource 提供所有属性。

删除配置。

方法继承自 java.lang.Object

字段详细信息

NONE

public static final Configuration NONE

No-op Configuration 对象用于在构造客户端库时选择不使用全局配置。

PROPERTY_AZURE_AUTHORITY_HOST

public static final String PROPERTY_AZURE_AUTHORITY_HOST

要连接到的 Azure Active Directory 终结点。

PROPERTY_AZURE_CLIENT_CERTIFICATE_PASSWORD

public static final String PROPERTY_AZURE_CLIENT_CERTIFICATE_PASSWORD

使用 Azure 执行服务主体身份验证时使用的 PFX/PEM 证书的密码。

PROPERTY_AZURE_CLIENT_CERTIFICATE_PATH

public static final String PROPERTY_AZURE_CLIENT_CERTIFICATE_PATH

对 Azure 执行服务主体身份验证时要使用的 PFX/PEM 证书文件的路径。

PROPERTY_AZURE_CLIENT_ID

public static final String PROPERTY_AZURE_CLIENT_ID

使用 Azure 执行服务主体身份验证时要使用的客户端 ID。

PROPERTY_AZURE_CLIENT_SECRET

public static final String PROPERTY_AZURE_CLIENT_SECRET

使用 Azure 执行服务主体身份验证时要使用的客户端密码。

PROPERTY_AZURE_CLOUD

public static final String PROPERTY_AZURE_CLOUD

要连接到的 Azure 云的名称。

PROPERTY_AZURE_HTTP_CLIENT_IMPLEMENTATION

public static final String PROPERTY_AZURE_HTTP_CLIENT_IMPLEMENTATION

设置应用于构造 实例的HttpClient实现的名称HttpClientProvider

该名称必须是完整的类名(例如 com.azure.core.http.netty.NettyAsyncHttpClientProvider ,而不是 NettyAsyncHttpClientProvider),以便消除具有相同名称但来自不同包的多个提供程序的歧义。

如果未设置该值或为空字符串,则 ServiceLoader 解析的第一HttpClientProvider个将用于创建 实例。HttpClient 如果值已设置,并且与 ServiceLoader 解析的任何HttpClientProvider值不匹配,IllegalStateException则在尝试创建 实例HttpClient时将引发 。

PROPERTY_AZURE_HTTP_LOG_DETAIL_LEVEL

public static final String PROPERTY_AZURE_HTTP_LOG_DETAIL_LEVEL

通过设置 HTTP 日志详细信息级别启用 HTTP 请求/响应日志记录。

PROPERTY_AZURE_IDENTITY_DISABLE_CP1

public static final String PROPERTY_AZURE_IDENTITY_DISABLE_CP1

用于在 Azure 标识令牌凭据中禁用 CP1 客户端功能的标志。

PROPERTY_AZURE_LOG_LEVEL

public static final String PROPERTY_AZURE_LOG_LEVEL

通过设置日志级别启用日志记录。

PROPERTY_AZURE_METRICS_DISABLED

public static final String PROPERTY_AZURE_METRICS_DISABLED

禁用指标。

PROPERTY_AZURE_METRICS_IMPLEMENTATION

public static final String PROPERTY_AZURE_METRICS_IMPLEMENTATION

设置应用于构造 实例的Meter实现的名称MeterProvider

该名称必须是完整的类名,例如 com.azure.core.tracing.opentelemetry.OpenTelemetryMeterProvider 而不是 OpenTelemetryMeterProvider

如果未设置该值或为空字符串,则 ServiceLoader 解析的第一MeterProvider个将用于创建 实例。Meter 如果值已设置,并且与 ServiceLoader 解析的任何MeterProvider值不匹配,IllegalStateException则在尝试创建 实例MeterProvider时将引发 。

PROPERTY_AZURE_PASSWORD

public static final String PROPERTY_AZURE_PASSWORD

使用 Azure 执行用户名/密码身份验证时要使用的用户名。

PROPERTY_AZURE_POD_IDENTITY_TOKEN_URL

public static final String PROPERTY_AZURE_POD_IDENTITY_TOKEN_URL

Bridge To Kubernetes 用于在开发环境中重定向 IMDS 调用的 URL。

PROPERTY_AZURE_REGIONAL_AUTHORITY_NAME

public static final String PROPERTY_AZURE_REGIONAL_AUTHORITY_NAME

Azure AAD 区域机构的名称。

PROPERTY_AZURE_REQUEST_CONNECT_TIMEOUT

public static final String PROPERTY_AZURE_REQUEST_CONNECT_TIMEOUT

为连接到远程主机的请求设置默认超时(以毫秒为单位)。

如果配置的值等于或小于 0,则不会应用超时。

PROPERTY_AZURE_REQUEST_READ_TIMEOUT

public static final String PROPERTY_AZURE_REQUEST_READ_TIMEOUT

设置响应中每个字节读取之间允许的默认超时间隔(以毫秒为单位)。

如果配置的值等于或小于 0,则不会应用超时。

PROPERTY_AZURE_REQUEST_RESPONSE_TIMEOUT

public static final String PROPERTY_AZURE_REQUEST_RESPONSE_TIMEOUT

设置请求接收来自远程主机的响应的默认超时(以毫秒为单位)。

如果配置的值等于或小于 0,则不会应用超时。

PROPERTY_AZURE_REQUEST_RETRY_COUNT

public static final String PROPERTY_AZURE_REQUEST_RETRY_COUNT

设置请求在失败之前,如果请求满足重试条件,则其重试的默认次数。

PROPERTY_AZURE_REQUEST_WRITE_TIMEOUT

public static final String PROPERTY_AZURE_REQUEST_WRITE_TIMEOUT

设置请求写入的每个字节之间允许的默认超时间隔(以毫秒为单位)。

如果配置的值等于或小于 0,则不会应用超时。

PROPERTY_AZURE_RESOURCE_GROUP

public static final String PROPERTY_AZURE_RESOURCE_GROUP

Azure 资源组的名称。

PROPERTY_AZURE_SUBSCRIPTION_ID

public static final String PROPERTY_AZURE_SUBSCRIPTION_ID

连接到 Azure 资源时要使用的订阅 ID。

PROPERTY_AZURE_TELEMETRY_DISABLED

public static final String PROPERTY_AZURE_TELEMETRY_DISABLED

禁用遥测收集。

PROPERTY_AZURE_TENANT_ID

public static final String PROPERTY_AZURE_TENANT_ID

Azure 资源的租户 ID。

PROPERTY_AZURE_TRACING_DISABLED

public static final String PROPERTY_AZURE_TRACING_DISABLED

禁用跟踪。

PROPERTY_AZURE_TRACING_IMPLEMENTATION

public static final String PROPERTY_AZURE_TRACING_IMPLEMENTATION

设置应用于构造 实例的Tracer实现的名称TracerProvider

该名称必须是完整的类名,例如 com.azure.core.tracing.opentelemetry.OpenTelemetryTracerProvider 而不是 OpenTelemetryTracerProvider

如果未设置该值或为空字符串,则 ServiceLoader 解析的第一TracerProvider个将用于创建 实例。Tracer 如果值已设置,并且与 ServiceLoader 解析的任何TracerProvider值不匹配,IllegalStateException则在尝试创建 实例TracerProvider时将引发 。

PROPERTY_AZURE_USERNAME

public static final String PROPERTY_AZURE_USERNAME

使用 Azure 执行用户名/密码身份验证时要使用的用户名。

PROPERTY_HTTPS_PROXY

public static final String PROPERTY_HTTPS_PROXY

HTTPS 连接的代理的 URL。

PROPERTY_HTTP_PROXY

public static final String PROPERTY_HTTP_PROXY

HTTP 连接的代理的 URL。

PROPERTY_IDENTITY_ENDPOINT

public static final String PROPERTY_IDENTITY_ENDPOINT

使用 Azure Active Directory 托管服务标识时要连接到的终结点 (MSI) 。

PROPERTY_IDENTITY_HEADER

public static final String PROPERTY_IDENTITY_HEADER

使用托管服务标识连接到 Azure Active Directory 时 (MSI) 标头。

PROPERTY_MSI_ENDPOINT

public static final String PROPERTY_MSI_ENDPOINT

使用 Azure Active Directory 托管服务标识时要连接到的终结点 (MSI) 。

PROPERTY_MSI_SECRET

public static final String PROPERTY_MSI_SECRET

使用托管服务标识 (MSI) 连接到 Azure Active Directory 时的机密。

PROPERTY_NO_PROXY

public static final String PROPERTY_NO_PROXY

不通过 使用代理 HTTP/HTTPS 连接的主机或 CIDR 列表。

构造函数详细信息

Configuration

@Deprecated
public Configuration()

已放弃

使用 ConfigurationBuilder 允许 ConfigurationSource 在创建配置之前提供所有属性并使其不可变。

构造包含已知 Azure 属性常量的配置。

方法详细信息

get

public T get(ConfigurationProperty property)

按以下顺序从所有可用源获取属性值:

属性值将转换为指定类型。 如果缺少属性值且不是必需的,则返回默认值。

ConfigurationProperty<String> property = ConfigurationPropertyBuilder.ofString("http.proxy.hostname")
     .shared(true)
     .logValue(true)
     .systemPropertyName("http.proxyHost")
     .build();

 // attempts to get local `azure.sdk.<client-name>.http.proxy.host` property and falls back to
 // shared azure.sdk.http.proxy.port
 System.out.println(configuration.get(property));

参数:

property - 运行状况。

返回:

属性的值(如果存在),否则为属性的默认值。

get

public T get(String name, T defaultValue)

获取使用此类型上的相应parse方法转换为给定基元T的系统属性或环境变量的值。 使用 get(ConfigurationProperty<T> property) 重载从特定源获取显式配置或环境配置。

此方法首先检查以前从环境中加载的值,如果在那里找到配置,则会返回它。 否则,这会尝试从环境中加载值。

如果未找到任何配置, defaultValue 则返回 。

支持以下类型:

  • Byte
  • Short
  • Integer
  • Long
  • Float
  • Double
  • Boolean

参数:

name - 配置的名称。
defaultValue - 如果未找到配置,则返回的值。

返回:

如果找到转换的配置,则返回默认值。

get

public T get(String name, Function converter)

获取系统属性或环境变量的值,并使用 进行转换 converter

此方法首先检查以前从环境中加载的值,如果在那里找到配置,则会返回它。 否则,这会尝试从环境中加载值。

如果未找到任何配置, converter 则不会调用 ,并且将返回 null。

参数:

name - 配置的名称。
converter - 用于将配置映射到 T的转换器。

返回:

如果找到,则为转换后的配置,否则为 null。

clone

@Deprecated
public Configuration clone()

已放弃

使用 ConfigurationBuilderConfigurationSource 创建配置。

克隆此 Configuration 对象。

替代:

Configuration.clone()

返回:

Configuration 对象的克隆。

contains

public boolean contains(ConfigurationProperty property)

检查配置是否包含 属性。 如果属性可以在客户端之间共享,则检查此项 Configuration 并回退到共享部分。 如果属性定义了别名、系统属性或环境变量,则也会对其进行检查。

未验证值。

参数:

property - 运行状况。

返回:

如果属性可用,则为 true;否则为 false。

contains

public boolean contains(String name)

确定是否定义了系统属性或环境变量。

使用 contains(ConfigurationProperty<?> property) 重载从特定源获取显式配置或环境配置。

这仅检查之前加载到 Configuration 对象中的值,这不会检查环境中是否包含该值。

参数:

name - 配置的名称。

返回:

如果配置存在,则为 True,否则为 false。

get

public String get(String name)

获取系统属性或环境变量的值。 使用 get(ConfigurationProperty<T> property) 重载从特定源获取显式配置或环境配置。

此方法首先检查以前从环境中加载的值,如果在那里找到配置,则会返回它。 否则,这会尝试从环境中加载值。

参数:

name - 配置的名称。

返回:

如果找到配置的值,则为 null。

getGlobalConfiguration

public static Configuration getGlobalConfiguration()

获取由所有客户端库共享的全局配置存储。

返回:

全局配置存储区。

put

@Deprecated
public Configuration put(String name, String value)

已放弃

在创建配置之前,使用 ConfigurationBuilderConfigurationSource 提供所有属性。

添加具有给定值的配置。

这将覆盖以前的配置值(如果存在)。

参数:

name - 配置的名称。
value - 配置的值。

返回:

更新的 Configuration 对象。

remove

@Deprecated
public String remove(String name)

已放弃

在创建配置之前,使用 ConfigurationBuilderConfigurationSource 提供所有属性。

删除配置。

这会返回配置的值(如果以前存在)。

参数:

name - 配置的名称。

返回:

配置(如果以前存在),否则为 null。

适用于