Class MetricsAdvisorClientBuilder
- All Implemented Interfaces:
com.azure.core.client.traits.ConfigurationTrait<MetricsAdvisorClientBuilder>,com.azure.core.client.traits.EndpointTrait<MetricsAdvisorClientBuilder>,com.azure.core.client.traits.HttpTrait<MetricsAdvisorClientBuilder>,com.azure.core.client.traits.TokenCredentialTrait<MetricsAdvisorClientBuilder>
MetricsAdvisorClients
and MetricsAdvisorAsyncClients, call buildClient() buildClient} and
buildAsyncClient respectively to construct an instance of the desired client.
The client needs the service endpoint of the Azure Metrics Advisor to access the resource service.
credential(MetricsAdvisorKeyCredential) gives the builder access to credential.
Instantiating an asynchronous Metrics Advisor Client
MetricsAdvisorAsyncClient metricsAdvisorAsyncClient =
new MetricsAdvisorClientBuilder()
.credential(new MetricsAdvisorKeyCredential("{subscription_key}", "{api_key}"))
.endpoint("{endpoint}")
.buildAsyncClient();
Instantiating a synchronous Metrics Advisor Client
MetricsAdvisorClient metricsAdvisorClient =
new MetricsAdvisorClientBuilder()
.credential(new MetricsAdvisorKeyCredential("{subscription_key}", "{api_key}"))
.endpoint("{endpoint}")
.buildClient();
Another way to construct the client is using a HttpPipeline. The pipeline gives the client an
authenticated way to communicate with the service. 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 MetricsAdvisorClient and
MetricsAdvisorAsyncClient is built.
HttpPipeline pipeline = new HttpPipelineBuilder()
.policies(/* add policies */)
.build();
MetricsAdvisorClient metricsAdvisorClient =
new MetricsAdvisorClientBuilder()
.credential(new MetricsAdvisorKeyCredential("{subscription_key}", "{api_key}"))
.endpoint("{endpoint}")
.pipeline(pipeline)
.buildClient();
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionaddPolicy(com.azure.core.http.policy.HttpPipelinePolicy policy) Adds apipeline policyto apply on each request sent.Creates aMetricsAdvisorAsyncClientbased on options set in the builder.Creates aMetricsAdvisorClientbased 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.credential(MetricsAdvisorKeyCredential metricsAdvisorKeyCredential) Sets theMetricsAdvisorKeyCredentialto use when authenticating HTTP requests for this MetricsAdvisorClientBuilder.credential(com.azure.core.credential.TokenCredential tokenCredential) Sets theTokenCredentialused to authorize requests sent to the service.Sets the service endpoint for the Azure Metrics Advisor 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 httpPipeline) 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.RetryPolicy retryPolicy) Sets theRetryPolicy()that is used when each request is sent.Sets theMetricsAdvisorServiceVersionthat is used when making API requests.
-
Constructor Details
-
MetricsAdvisorClientBuilder
public MetricsAdvisorClientBuilder()The constructor with defaults.
-
-
Method Details
-
buildClient
Creates aMetricsAdvisorClientbased on options set in the builder. Every timebuildClient()is called a new instance ofMetricsAdvisorClientis created.If
pipelineis set, then thepipelineandendpointare used to create theclient. All other builder settings are ignored.- Returns:
- A MetricsAdvisorClient with the options set from the builder.
- Throws:
NullPointerException- ifendpointorcredential(MetricsAdvisorKeyCredential)has not been set.IllegalArgumentException- ifendpointcannot be parsed into a valid URL.IllegalStateException- If bothretryOptions(RetryOptions)andretryPolicy(RetryPolicy)have been set.
-
buildAsyncClient
Creates aMetricsAdvisorAsyncClientbased on options set in the builder. Every timebuildAsyncClient()is called a new instance ofMetricsAdvisorAsyncClientis created.If
pipelineis set, then thepipelineandendpointare used to create theclient. All other builder settings are ignored.- Returns:
- A MetricsAdvisorAsyncClient with the options set from the builder.
- Throws:
NullPointerException- ifendpointorcredential(MetricsAdvisorKeyCredential)has not been set.IllegalArgumentException- ifendpointcannot be parsed into a valid URL.IllegalStateException- If bothretryOptions(RetryOptions)andretryPolicy(RetryPolicy)have been set.
-
endpoint
Sets the service endpoint for the Azure Metrics Advisor instance.- Specified by:
endpointin interfacecom.azure.core.client.traits.EndpointTrait<MetricsAdvisorClientBuilder>- Parameters:
endpoint- The URL of the Azure Metrics Advisor instance service requests to and receive responses from.- Returns:
- The updated MetricsAdvisorClientBuilder object.
- Throws:
NullPointerException- ifendpointis nullIllegalArgumentException- ifendpointcannot be parsed into a valid URL.
-
credential
public MetricsAdvisorClientBuilder 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<MetricsAdvisorClientBuilder>- Parameters:
tokenCredential-TokenCredentialused to authorize requests sent to the service.- Returns:
- The updated
MetricsAdvisorClientBuilderobject. - Throws:
NullPointerException- IftokenCredentialis null.
-
credential
public MetricsAdvisorClientBuilder credential(MetricsAdvisorKeyCredential metricsAdvisorKeyCredential) Sets theMetricsAdvisorKeyCredentialto use when authenticating HTTP requests for this MetricsAdvisorClientBuilder.- Parameters:
metricsAdvisorKeyCredential-MetricsAdvisorKeyCredentialAPI key credential- Returns:
- The updated MetricsAdvisorClientBuilder object.
- Throws:
NullPointerException- IfmetricsAdvisorKeyCredentialis null.
-
httpLogOptions
public MetricsAdvisorClientBuilder 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<MetricsAdvisorClientBuilder>- Parameters:
logOptions- Thelogging configurationto use when sending and receiving requests to and from the service.- Returns:
- The updated MetricsAdvisorClientBuilder object.
-
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<MetricsAdvisorClientBuilder>- Parameters:
clientOptions- A configured instance ofHttpClientOptions.- Returns:
- The updated MetricsAdvisorClientBuilder object.
- See Also:
-
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<MetricsAdvisorClientBuilder>- Parameters:
policy- Apipeline policy.- Returns:
- The updated MetricsAdvisorClientBuilder 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<MetricsAdvisorClientBuilder>- Parameters:
client- TheHttpClientto use for requests.- Returns:
- The updated MetricsAdvisorClientBuilder 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.If
pipelineis set, all other settings are ignored, aside fromendpointto buildMetricsAdvisorAsyncClientorMetricsAdvisorClient.- Specified by:
pipelinein interfacecom.azure.core.client.traits.HttpTrait<MetricsAdvisorClientBuilder>- Parameters:
httpPipeline-HttpPipelineto use for sending service requests and receiving responses.- Returns:
- The updated MetricsAdvisorClientBuilder object.
-
configuration
Sets the configuration store that is used during construction of the service client.The default configuration store is a clone of the
global configuration store, useConfiguration.NONEto bypass using configuration settings during construction.- Specified by:
configurationin interfacecom.azure.core.client.traits.ConfigurationTrait<MetricsAdvisorClientBuilder>- Parameters:
configuration- The configuration store used to.- Returns:
- The updated MetricsAdvisorClientBuilder object.
-
retryPolicy
Sets theRetryPolicy()that is used when each request is sent.The default retry policy will be used if not provided
buildAsyncClient()to buildMetricsAdvisorAsyncClientorMetricsAdvisorClient.Setting this is mutually exclusive with using
retryOptions(RetryOptions).- Parameters:
retryPolicy- user's retry policy applied to each request.- Returns:
- The updated MetricsAdvisorClientBuilder object.
-
retryOptions
public MetricsAdvisorClientBuilder 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(RetryPolicy).- Specified by:
retryOptionsin interfacecom.azure.core.client.traits.HttpTrait<MetricsAdvisorClientBuilder>- Parameters:
retryOptions- TheRetryOptionsto use for all the requests made through the client.- Returns:
- The updated DocumentModelAdministrationClientBuilder object.
-
serviceVersion
Sets theMetricsAdvisorServiceVersionthat 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-MetricsAdvisorServiceVersionof the service to be used when making requests.- Returns:
- The updated MetricsAdvisorClientBuilder object.
-