Class ConfigurationClientBuilder
- All Implemented Interfaces:
com.azure.core.client.traits.ConfigurationTrait<ConfigurationClientBuilder>,com.azure.core.client.traits.ConnectionStringTrait<ConfigurationClientBuilder>,com.azure.core.client.traits.EndpointTrait<ConfigurationClientBuilder>,com.azure.core.client.traits.HttpTrait<ConfigurationClientBuilder>,com.azure.core.client.traits.TokenCredentialTrait<ConfigurationClientBuilder>
ConfigurationClients and ConfigurationAsyncClients, call
buildClient and buildAsyncClient respectively to construct an
instance of the desired client.
The client needs the service endpoint of the Azure App Configuration store and access credential.
connectionString(String) gives the builder the service endpoint and access
credential.
Instantiating an asynchronous Configuration Client
ConfigurationAsyncClient configurationAsyncClient = new ConfigurationClientBuilder()
.connectionString(connectionString)
.buildAsyncClient();
Instantiating a synchronous Configuration Client
ConfigurationClient configurationClient = new ConfigurationClientBuilder()
.connectionString(connectionString)
.buildClient();
Another way to construct the client is using a HttpPipeline. The pipeline gives the client an
authenticated way to communicate with the service but it doesn't contain the service endpoint. Set the pipeline with
this and set the service endpoint with this. Using a
pipeline requires additional setup but allows for finer control on how the ConfigurationClient and
ConfigurationAsyncClient is built.
HttpPipeline pipeline = new HttpPipelineBuilder()
.policies(/* add policies */)
.build();
ConfigurationClient configurationClient = new ConfigurationClientBuilder()
.pipeline(pipeline)
.endpoint("https://myconfig.azure.net/")
.connectionString(connectionString)
.buildClient();
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionConstructs a new builder used to configure and buildConfigurationClientsandConfigurationAsyncClients. -
Method Summary
Modifier and TypeMethodDescriptionaddPolicy(com.azure.core.http.policy.HttpPipelinePolicy policy) Adds apipeline policyto apply on each request sent.Creates aConfigurationAsyncClientbased on options set in the Builder.Creates aConfigurationClientbased on options set in the Builder.clientOptions(com.azure.core.util.ClientOptions clientOptions) Allows for setting common properties such as application ID, headers, proxy configuration, etc.configuration(com.azure.core.util.Configuration configuration) Sets the configuration store that is used during construction of the service client.connectionString(String connectionString) Sets the credential to use when authenticating HTTP requests.credential(com.azure.core.credential.TokenCredential tokenCredential) Sets theTokenCredentialused to authorize requests sent to the service.Sets the service endpoint for the Azure App Configuration instance.httpClient(com.azure.core.http.HttpClient client) Sets theHttpClientto use for sending and receiving requests to and from the service.httpLogOptions(com.azure.core.http.policy.HttpLogOptions logOptions) Sets thelogging configurationto use when sending and receiving requests to and from the service.pipeline(com.azure.core.http.HttpPipeline pipeline) Sets theHttpPipelineto use for the service client.retryOptions(com.azure.core.http.policy.RetryOptions retryOptions) Sets theRetryOptionsfor all the requests made through the client.retryPolicy(com.azure.core.http.policy.HttpPipelinePolicy retryPolicy) Sets theHttpPipelinePolicythat is used to retry requests.Sets theConfigurationServiceVersionthat is used when making API requests.
-
Constructor Details
-
ConfigurationClientBuilder
public ConfigurationClientBuilder()Constructs a new builder used to configure and buildConfigurationClientsandConfigurationAsyncClients.
-
-
Method Details
-
buildClient
Creates aConfigurationClientbased on options set in the Builder. Every timebuildClient()is called a new instance ofConfigurationClientis created.If
pipelineis set, then thepipelineandendpointare used to create theclient. All other builder settings are ignored.- Returns:
- A ConfigurationClient with the options set from the builder.
- Throws:
NullPointerException- Ifendpointhas not been set. This setting is automatically set whenconnectionStringis called. Or can be set explicitly by callingendpoint(String).IllegalStateException- IfconnectionStringhas not been set.IllegalStateException- If bothretryOptions(RetryOptions)andretryPolicy(HttpPipelinePolicy)have been set.
-
buildAsyncClient
Creates aConfigurationAsyncClientbased on options set in the Builder. Every timebuildAsyncClient()is called a new instance ofConfigurationAsyncClientis created.If
pipelineis set, then thepipelineandendpointare used to create theclient. All other builder settings are ignored.- Returns:
- A ConfigurationAsyncClient with the options set from the builder.
- Throws:
NullPointerException- Ifendpointhas not been set. This setting is automatically set whenconnectionStringis called. Or can be set explicitly by callingendpoint(String).IllegalStateException- IfconnectionStringhas not been set.IllegalStateException- If bothretryOptions(RetryOptions)andretryPolicy(HttpPipelinePolicy)have been set.
-
endpoint
Sets the service endpoint for the Azure App Configuration instance.- Specified by:
endpointin interfacecom.azure.core.client.traits.EndpointTrait<ConfigurationClientBuilder>- Parameters:
endpoint- The URL of the Azure App Configuration instance.- Returns:
- The updated ConfigurationClientBuilder object.
- Throws:
IllegalArgumentException- Ifendpointis null, or it cannot be parsed into a valid URL.
-
clientOptions
Allows for setting common properties such as application ID, headers, proxy configuration, etc. Note that it is recommended that this method be called with an instance of theHttpClientOptionsclass (a subclass of theClientOptionsbase class). The HttpClientOptions subclass provides more configuration options suitable for HTTP clients, which is applicable for any class that implements this HttpTrait interface.Note: It is important to understand the precedence order of the HttpTrait APIs. In particular, if a
HttpPipelineis specified, this takes precedence over all other APIs in the trait, and they will be ignored. If noHttpPipelineis specified, a HTTP pipeline will be constructed internally based on the settings provided to this trait. Additionally, there may be other APIs in types that implement this trait that are also ignored if anHttpPipelineis specified, so please be sure to refer to the documentation of types that implement this trait to understand the full set of implications.- Specified by:
clientOptionsin interfacecom.azure.core.client.traits.HttpTrait<ConfigurationClientBuilder>- Parameters:
clientOptions- A configured instance ofHttpClientOptions.- Returns:
- the updated ConfigurationClientBuilder object
- See Also:
-
HttpClientOptions
-
connectionString
Sets the credential to use when authenticating HTTP requests. Also, sets theendpointfor this ConfigurationClientBuilder.- Specified by:
connectionStringin interfacecom.azure.core.client.traits.ConnectionStringTrait<ConfigurationClientBuilder>- Parameters:
connectionString- Connection string in the format "endpoint={endpoint_value};id={id_value}; secret={secret_value}"- Returns:
- The updated ConfigurationClientBuilder object.
-
credential
public ConfigurationClientBuilder credential(com.azure.core.credential.TokenCredential tokenCredential) Sets theTokenCredentialused to authorize requests sent to the service. Refer to the Azure SDK for Java identity and authentication documentation for more details on proper usage of theTokenCredentialtype.- Specified by:
credentialin interfacecom.azure.core.client.traits.TokenCredentialTrait<ConfigurationClientBuilder>- Parameters:
tokenCredential-TokenCredentialused to authorize requests sent to the service.- Returns:
- The updated ConfigurationClientBuilder object.
-
httpLogOptions
public ConfigurationClientBuilder httpLogOptions(com.azure.core.http.policy.HttpLogOptions logOptions) Sets thelogging configurationto use when sending and receiving requests to and from the service. If alogLevelis not provided, default value ofHttpLogDetailLevel.NONEis set.Note: It is important to understand the precedence order of the HttpTrait APIs. In particular, if a
HttpPipelineis specified, this takes precedence over all other APIs in the trait, and they will be ignored. If noHttpPipelineis specified, a HTTP pipeline will be constructed internally based on the settings provided to this trait. Additionally, there may be other APIs in types that implement this trait that are also ignored if anHttpPipelineis specified, so please be sure to refer to the documentation of types that implement this trait to understand the full set of implications.- Specified by:
httpLogOptionsin interfacecom.azure.core.client.traits.HttpTrait<ConfigurationClientBuilder>- Parameters:
logOptions- Thelogging configurationto use when sending and receiving requests to and from the service.- Returns:
- The updated ConfigurationClientBuilder object.
-
addPolicy
Adds apipeline policyto apply on each request sent.Note: It is important to understand the precedence order of the HttpTrait APIs. In particular, if a
HttpPipelineis specified, this takes precedence over all other APIs in the trait, and they will be ignored. If noHttpPipelineis specified, a HTTP pipeline will be constructed internally based on the settings provided to this trait. Additionally, there may be other APIs in types that implement this trait that are also ignored if anHttpPipelineis specified, so please be sure to refer to the documentation of types that implement this trait to understand the full set of implications.- Specified by:
addPolicyin interfacecom.azure.core.client.traits.HttpTrait<ConfigurationClientBuilder>- Parameters:
policy- Apipeline policy.- Returns:
- The updated ConfigurationClientBuilder object.
- Throws:
NullPointerException- Ifpolicyis null.
-
httpClient
Sets theHttpClientto use for sending and receiving requests to and from the service.Note: It is important to understand the precedence order of the HttpTrait APIs. In particular, if a
HttpPipelineis specified, this takes precedence over all other APIs in the trait, and they will be ignored. If noHttpPipelineis specified, a HTTP pipeline will be constructed internally based on the settings provided to this trait. Additionally, there may be other APIs in types that implement this trait that are also ignored if anHttpPipelineis specified, so please be sure to refer to the documentation of types that implement this trait to understand the full set of implications.- Specified by:
httpClientin interfacecom.azure.core.client.traits.HttpTrait<ConfigurationClientBuilder>- Parameters:
client- TheHttpClientto use for requests.- Returns:
- The updated ConfigurationClientBuilder object.
-
pipeline
Sets theHttpPipelineto use for the service client.Note: It is important to understand the precedence order of the HttpTrait APIs. In particular, if a
HttpPipelineis specified, this takes precedence over all other APIs in the trait, and they will be ignored. If noHttpPipelineis specified, a HTTP pipeline will be constructed internally based on the settings provided to this trait. Additionally, there may be other APIs in types that implement this trait that are also ignored if anHttpPipelineis specified, so please be sure to refer to the documentation of types that implement this trait to understand the full set of implications.The
endpointis not ignored whenpipelineis set.- Specified by:
pipelinein interfacecom.azure.core.client.traits.HttpTrait<ConfigurationClientBuilder>- Parameters:
pipeline-HttpPipelineto use for sending service requests and receiving responses.- Returns:
- The updated ConfigurationClientBuilder object.
-
configuration
Sets the configuration store that is used during construction of the service client. The default configuration store is a clone of theglobal configuration store, useConfiguration.NONEto bypass using configuration settings during construction.- Specified by:
configurationin interfacecom.azure.core.client.traits.ConfigurationTrait<ConfigurationClientBuilder>- Parameters:
configuration- The configuration store used to- Returns:
- The updated ConfigurationClientBuilder object.
-
retryPolicy
public ConfigurationClientBuilder retryPolicy(com.azure.core.http.policy.HttpPipelinePolicy retryPolicy) Sets theHttpPipelinePolicythat is used to retry requests.The default retry policy will be used if not provided
buildAsyncClient()to buildConfigurationAsyncClientorConfigurationClient.Setting this is mutually exclusive with using
retryOptions(RetryOptions).- Parameters:
retryPolicy- TheHttpPipelinePolicythat will be used to retry requests. For example,RetryPolicycan be used to retry requests.- Returns:
- The updated ConfigurationClientBuilder object.
-
retryOptions
public ConfigurationClientBuilder retryOptions(com.azure.core.http.policy.RetryOptions retryOptions) Sets theRetryOptionsfor all the requests made through the client.Note: It is important to understand the precedence order of the HttpTrait APIs. In particular, if a
HttpPipelineis specified, this takes precedence over all other APIs in the trait, and they will be ignored. If noHttpPipelineis specified, a HTTP pipeline will be constructed internally based on the settings provided to this trait. Additionally, there may be other APIs in types that implement this trait that are also ignored if anHttpPipelineis specified, so please be sure to refer to the documentation of types that implement this trait to understand the full set of implications.Setting this is mutually exclusive with using
retryPolicy(HttpPipelinePolicy).- Specified by:
retryOptionsin interfacecom.azure.core.client.traits.HttpTrait<ConfigurationClientBuilder>- Parameters:
retryOptions- TheRetryOptionsto use for all the requests made through the client.- Returns:
- The updated
ConfigurationClientBuilderobject.
-
serviceVersion
Sets theConfigurationServiceVersionthat is used when making API requests.If a service version is not provided, the service version that will be used will be the latest known service version based on the version of the client library being used. If no service version is specified, updating to a newer version the client library will have the result of potentially moving to a newer service version.
- Parameters:
version-ConfigurationServiceVersionof the service to be used when making requests.- Returns:
- The updated ConfigurationClientBuilder object.
-