Interface SustainabilityAsyncClient
- All Superinterfaces:
AutoCloseable,AwsClient,SdkAutoCloseable,SdkClient
builder() method.The asynchronous client performs non-blocking I/O when configured with any
SdkAsyncHttpClient supported in the SDK. However, full non-blocking is not guaranteed as the async client may
perform blocking calls in some cases such as credentials retrieval and endpoint discovery as part of the async API
call.
The AWS Sustainability service provides programmatic access to estimated carbon emissions data for your Amazon Web Services usage. Use the AWS Sustainability service to retrieve, analyze, and track the carbon footprint of your cloud infrastructure over time.
With the AWS Sustainability service, you can:
-
Retrieve estimated carbon emissions for your Amazon Web Services usage across different time periods
-
Group emissions data by dimensions such as account, region, and service
-
Filter emissions data to focus on specific accounts, regions, or services
-
Access multiple emissions calculation methodologies including Location-based Method (LBM) and Market-based Method (MBM)
-
Aggregate emissions data at various time granularities including monthly, quarterly, and yearly periods
The API supports pagination for efficient data retrieval and provides dimension values to help you understand the available grouping and filtering options for your account.
All emissions values are calculated using methodologies aligned with the Greenhouse Gas (GHG) Protocol and are provided in metric tons of carbon dioxide-equivalent (MTCO2e).
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringValue for looking up the service's metadata from theServiceMetadataProvider.static final String -
Method Summary
Modifier and TypeMethodDescriptionbuilder()Create a builder that can be used to configure and create aSustainabilityAsyncClient.static SustainabilityAsyncClientcreate()Create aSustainabilityAsyncClientwith the region loaded from theDefaultAwsRegionProviderChainand credentials loaded from theDefaultCredentialsProvider.getEstimatedCarbonEmissions(Consumer<GetEstimatedCarbonEmissionsRequest.Builder> getEstimatedCarbonEmissionsRequest) Returns estimated carbon emission values based on customer grouping and filtering parameters.getEstimatedCarbonEmissions(GetEstimatedCarbonEmissionsRequest getEstimatedCarbonEmissionsRequest) Returns estimated carbon emission values based on customer grouping and filtering parameters.getEstimatedCarbonEmissionsDimensionValues(Consumer<GetEstimatedCarbonEmissionsDimensionValuesRequest.Builder> getEstimatedCarbonEmissionsDimensionValuesRequest) Returns the possible dimension values available for a customer's account.getEstimatedCarbonEmissionsDimensionValues(GetEstimatedCarbonEmissionsDimensionValuesRequest getEstimatedCarbonEmissionsDimensionValuesRequest) Returns the possible dimension values available for a customer's account.getEstimatedCarbonEmissionsDimensionValuesPaginator(Consumer<GetEstimatedCarbonEmissionsDimensionValuesRequest.Builder> getEstimatedCarbonEmissionsDimensionValuesRequest) getEstimatedCarbonEmissionsDimensionValuesPaginator(GetEstimatedCarbonEmissionsDimensionValuesRequest getEstimatedCarbonEmissionsDimensionValuesRequest) getEstimatedCarbonEmissionsPaginator(Consumer<GetEstimatedCarbonEmissionsRequest.Builder> getEstimatedCarbonEmissionsRequest) This is a variant ofgetEstimatedCarbonEmissions(software.amazon.awssdk.services.sustainability.model.GetEstimatedCarbonEmissionsRequest)operation.getEstimatedCarbonEmissionsPaginator(GetEstimatedCarbonEmissionsRequest getEstimatedCarbonEmissionsRequest) This is a variant ofgetEstimatedCarbonEmissions(software.amazon.awssdk.services.sustainability.model.GetEstimatedCarbonEmissionsRequest)operation.The SDK service client configuration exposes client settings to the user, e.g., ClientOverrideConfigurationMethods inherited from interface software.amazon.awssdk.utils.SdkAutoCloseable
closeMethods inherited from interface software.amazon.awssdk.core.SdkClient
serviceName
-
Field Details
-
SERVICE_NAME
- See Also:
-
SERVICE_METADATA_ID
Value for looking up the service's metadata from theServiceMetadataProvider.- See Also:
-
-
Method Details
-
getEstimatedCarbonEmissions
default CompletableFuture<GetEstimatedCarbonEmissionsResponse> getEstimatedCarbonEmissions(GetEstimatedCarbonEmissionsRequest getEstimatedCarbonEmissionsRequest) Returns estimated carbon emission values based on customer grouping and filtering parameters. We recommend using pagination to ensure that the operation returns quickly and successfully.
- Parameters:
getEstimatedCarbonEmissionsRequest-- Returns:
- A Java Future containing the result of the GetEstimatedCarbonEmissions operation returned by the service.
The CompletableFuture returned by this method can be completed exceptionally with the following exceptions. The exception returned is wrapped with CompletionException, so you need to invokeThrowable.getCause()to retrieve the underlying exception.- ValidationException The input fails to satisfy the constraints specified by an Amazon Web Services service.
- InternalServerException The request processing has failed because of an unknown error, exception, or failure.
- AccessDeniedException You do not have sufficient access to perform this action.
- ThrottlingException The request was denied due to request throttling.
- SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for catch all scenarios.
- SdkClientException If any client side error occurs such as an IO related failure, failure to get credentials, etc.
- SustainabilityException Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
- See Also:
-
getEstimatedCarbonEmissions
default CompletableFuture<GetEstimatedCarbonEmissionsResponse> getEstimatedCarbonEmissions(Consumer<GetEstimatedCarbonEmissionsRequest.Builder> getEstimatedCarbonEmissionsRequest) Returns estimated carbon emission values based on customer grouping and filtering parameters. We recommend using pagination to ensure that the operation returns quickly and successfully.
This is a convenience which creates an instance of the
GetEstimatedCarbonEmissionsRequest.Builderavoiding the need to create one manually viaGetEstimatedCarbonEmissionsRequest.builder()- Parameters:
getEstimatedCarbonEmissionsRequest- AConsumerthat will call methods onGetEstimatedCarbonEmissionsRequest.Builderto create a request.- Returns:
- A Java Future containing the result of the GetEstimatedCarbonEmissions operation returned by the service.
The CompletableFuture returned by this method can be completed exceptionally with the following exceptions. The exception returned is wrapped with CompletionException, so you need to invokeThrowable.getCause()to retrieve the underlying exception.- ValidationException The input fails to satisfy the constraints specified by an Amazon Web Services service.
- InternalServerException The request processing has failed because of an unknown error, exception, or failure.
- AccessDeniedException You do not have sufficient access to perform this action.
- ThrottlingException The request was denied due to request throttling.
- SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for catch all scenarios.
- SdkClientException If any client side error occurs such as an IO related failure, failure to get credentials, etc.
- SustainabilityException Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
- See Also:
-
getEstimatedCarbonEmissionsDimensionValues
default CompletableFuture<GetEstimatedCarbonEmissionsDimensionValuesResponse> getEstimatedCarbonEmissionsDimensionValues(GetEstimatedCarbonEmissionsDimensionValuesRequest getEstimatedCarbonEmissionsDimensionValuesRequest) Returns the possible dimension values available for a customer's account. We recommend using pagination to ensure that the operation returns quickly and successfully.
- Parameters:
getEstimatedCarbonEmissionsDimensionValuesRequest-- Returns:
- A Java Future containing the result of the GetEstimatedCarbonEmissionsDimensionValues operation returned
by the service.
The CompletableFuture returned by this method can be completed exceptionally with the following exceptions. The exception returned is wrapped with CompletionException, so you need to invokeThrowable.getCause()to retrieve the underlying exception.- ValidationException The input fails to satisfy the constraints specified by an Amazon Web Services service.
- InternalServerException The request processing has failed because of an unknown error, exception, or failure.
- AccessDeniedException You do not have sufficient access to perform this action.
- ThrottlingException The request was denied due to request throttling.
- SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for catch all scenarios.
- SdkClientException If any client side error occurs such as an IO related failure, failure to get credentials, etc.
- SustainabilityException Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
- See Also:
-
getEstimatedCarbonEmissionsDimensionValues
default CompletableFuture<GetEstimatedCarbonEmissionsDimensionValuesResponse> getEstimatedCarbonEmissionsDimensionValues(Consumer<GetEstimatedCarbonEmissionsDimensionValuesRequest.Builder> getEstimatedCarbonEmissionsDimensionValuesRequest) Returns the possible dimension values available for a customer's account. We recommend using pagination to ensure that the operation returns quickly and successfully.
This is a convenience which creates an instance of the
GetEstimatedCarbonEmissionsDimensionValuesRequest.Builderavoiding the need to create one manually viaGetEstimatedCarbonEmissionsDimensionValuesRequest.builder()- Parameters:
getEstimatedCarbonEmissionsDimensionValuesRequest- AConsumerthat will call methods onGetEstimatedCarbonEmissionsDimensionValuesRequest.Builderto create a request.- Returns:
- A Java Future containing the result of the GetEstimatedCarbonEmissionsDimensionValues operation returned
by the service.
The CompletableFuture returned by this method can be completed exceptionally with the following exceptions. The exception returned is wrapped with CompletionException, so you need to invokeThrowable.getCause()to retrieve the underlying exception.- ValidationException The input fails to satisfy the constraints specified by an Amazon Web Services service.
- InternalServerException The request processing has failed because of an unknown error, exception, or failure.
- AccessDeniedException You do not have sufficient access to perform this action.
- ThrottlingException The request was denied due to request throttling.
- SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for catch all scenarios.
- SdkClientException If any client side error occurs such as an IO related failure, failure to get credentials, etc.
- SustainabilityException Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
- See Also:
-
getEstimatedCarbonEmissionsDimensionValuesPaginator
default GetEstimatedCarbonEmissionsDimensionValuesPublisher getEstimatedCarbonEmissionsDimensionValuesPaginator(GetEstimatedCarbonEmissionsDimensionValuesRequest getEstimatedCarbonEmissionsDimensionValuesRequest) This is a variant of
getEstimatedCarbonEmissionsDimensionValues(software.amazon.awssdk.services.sustainability.model.GetEstimatedCarbonEmissionsDimensionValuesRequest)operation. The return type is a custom publisher that can be subscribed to request a stream of response pages. SDK will internally handle making service calls for you.When the operation is called, an instance of this class is returned. At this point, no service calls are made yet and so there is no guarantee that the request is valid. If there are errors in your request, you will see the failures only after you start streaming the data. The subscribe method should be called as a request to start streaming data. For more info, see
Publisher.subscribe(org.reactivestreams.Subscriber). Each call to the subscribe method will result in a newSubscriptioni.e., a new contract to stream data from the starting request.The following are few ways to use the response class:
1) Using the subscribe helper method
2) Using a custom subscribersoftware.amazon.awssdk.services.sustainability.paginators.GetEstimatedCarbonEmissionsDimensionValuesPublisher publisher = client.getEstimatedCarbonEmissionsDimensionValuesPaginator(request); CompletableFuture<Void> future = publisher.subscribe(res -> { // Do something with the response }); future.get();
As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2.software.amazon.awssdk.services.sustainability.paginators.GetEstimatedCarbonEmissionsDimensionValuesPublisher publisher = client.getEstimatedCarbonEmissionsDimensionValuesPaginator(request); publisher.subscribe(new Subscriber<software.amazon.awssdk.services.sustainability.model.GetEstimatedCarbonEmissionsDimensionValuesResponse>() { public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... }; public void onNext(software.amazon.awssdk.services.sustainability.model.GetEstimatedCarbonEmissionsDimensionValuesResponse response) { //... }; });Please notice that the configuration of MaxResults won't limit the number of results you get with the paginator. It only limits the number of results in each page.
Note: If you prefer to have control on service calls, use the
getEstimatedCarbonEmissionsDimensionValues(software.amazon.awssdk.services.sustainability.model.GetEstimatedCarbonEmissionsDimensionValuesRequest)operation.- Parameters:
getEstimatedCarbonEmissionsDimensionValuesRequest-- Returns:
- A custom publisher that can be subscribed to request a stream of response pages.
The CompletableFuture returned by this method can be completed exceptionally with the following exceptions. The exception returned is wrapped with CompletionException, so you need to invokeThrowable.getCause()to retrieve the underlying exception.- ValidationException The input fails to satisfy the constraints specified by an Amazon Web Services service.
- InternalServerException The request processing has failed because of an unknown error, exception, or failure.
- AccessDeniedException You do not have sufficient access to perform this action.
- ThrottlingException The request was denied due to request throttling.
- SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for catch all scenarios.
- SdkClientException If any client side error occurs such as an IO related failure, failure to get credentials, etc.
- SustainabilityException Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
- See Also:
-
getEstimatedCarbonEmissionsDimensionValuesPaginator
default GetEstimatedCarbonEmissionsDimensionValuesPublisher getEstimatedCarbonEmissionsDimensionValuesPaginator(Consumer<GetEstimatedCarbonEmissionsDimensionValuesRequest.Builder> getEstimatedCarbonEmissionsDimensionValuesRequest) This is a variant of
getEstimatedCarbonEmissionsDimensionValues(software.amazon.awssdk.services.sustainability.model.GetEstimatedCarbonEmissionsDimensionValuesRequest)operation. The return type is a custom publisher that can be subscribed to request a stream of response pages. SDK will internally handle making service calls for you.When the operation is called, an instance of this class is returned. At this point, no service calls are made yet and so there is no guarantee that the request is valid. If there are errors in your request, you will see the failures only after you start streaming the data. The subscribe method should be called as a request to start streaming data. For more info, see
Publisher.subscribe(org.reactivestreams.Subscriber). Each call to the subscribe method will result in a newSubscriptioni.e., a new contract to stream data from the starting request.The following are few ways to use the response class:
1) Using the subscribe helper method
2) Using a custom subscribersoftware.amazon.awssdk.services.sustainability.paginators.GetEstimatedCarbonEmissionsDimensionValuesPublisher publisher = client.getEstimatedCarbonEmissionsDimensionValuesPaginator(request); CompletableFuture<Void> future = publisher.subscribe(res -> { // Do something with the response }); future.get();
As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2.software.amazon.awssdk.services.sustainability.paginators.GetEstimatedCarbonEmissionsDimensionValuesPublisher publisher = client.getEstimatedCarbonEmissionsDimensionValuesPaginator(request); publisher.subscribe(new Subscriber<software.amazon.awssdk.services.sustainability.model.GetEstimatedCarbonEmissionsDimensionValuesResponse>() { public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... }; public void onNext(software.amazon.awssdk.services.sustainability.model.GetEstimatedCarbonEmissionsDimensionValuesResponse response) { //... }; });Please notice that the configuration of MaxResults won't limit the number of results you get with the paginator. It only limits the number of results in each page.
Note: If you prefer to have control on service calls, use the
getEstimatedCarbonEmissionsDimensionValues(software.amazon.awssdk.services.sustainability.model.GetEstimatedCarbonEmissionsDimensionValuesRequest)operation.
This is a convenience which creates an instance of the
GetEstimatedCarbonEmissionsDimensionValuesRequest.Builderavoiding the need to create one manually viaGetEstimatedCarbonEmissionsDimensionValuesRequest.builder()- Parameters:
getEstimatedCarbonEmissionsDimensionValuesRequest- AConsumerthat will call methods onGetEstimatedCarbonEmissionsDimensionValuesRequest.Builderto create a request.- Returns:
- A custom publisher that can be subscribed to request a stream of response pages.
The CompletableFuture returned by this method can be completed exceptionally with the following exceptions. The exception returned is wrapped with CompletionException, so you need to invokeThrowable.getCause()to retrieve the underlying exception.- ValidationException The input fails to satisfy the constraints specified by an Amazon Web Services service.
- InternalServerException The request processing has failed because of an unknown error, exception, or failure.
- AccessDeniedException You do not have sufficient access to perform this action.
- ThrottlingException The request was denied due to request throttling.
- SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for catch all scenarios.
- SdkClientException If any client side error occurs such as an IO related failure, failure to get credentials, etc.
- SustainabilityException Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
- See Also:
-
getEstimatedCarbonEmissionsPaginator
default GetEstimatedCarbonEmissionsPublisher getEstimatedCarbonEmissionsPaginator(GetEstimatedCarbonEmissionsRequest getEstimatedCarbonEmissionsRequest) This is a variant of
getEstimatedCarbonEmissions(software.amazon.awssdk.services.sustainability.model.GetEstimatedCarbonEmissionsRequest)operation. The return type is a custom publisher that can be subscribed to request a stream of response pages. SDK will internally handle making service calls for you.When the operation is called, an instance of this class is returned. At this point, no service calls are made yet and so there is no guarantee that the request is valid. If there are errors in your request, you will see the failures only after you start streaming the data. The subscribe method should be called as a request to start streaming data. For more info, see
Publisher.subscribe(org.reactivestreams.Subscriber). Each call to the subscribe method will result in a newSubscriptioni.e., a new contract to stream data from the starting request.The following are few ways to use the response class:
1) Using the subscribe helper method
2) Using a custom subscribersoftware.amazon.awssdk.services.sustainability.paginators.GetEstimatedCarbonEmissionsPublisher publisher = client.getEstimatedCarbonEmissionsPaginator(request); CompletableFuture<Void> future = publisher.subscribe(res -> { // Do something with the response }); future.get();
As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2.software.amazon.awssdk.services.sustainability.paginators.GetEstimatedCarbonEmissionsPublisher publisher = client.getEstimatedCarbonEmissionsPaginator(request); publisher.subscribe(new Subscriber<software.amazon.awssdk.services.sustainability.model.GetEstimatedCarbonEmissionsResponse>() { public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... }; public void onNext(software.amazon.awssdk.services.sustainability.model.GetEstimatedCarbonEmissionsResponse response) { //... }; });Please notice that the configuration of MaxResults won't limit the number of results you get with the paginator. It only limits the number of results in each page.
Note: If you prefer to have control on service calls, use the
getEstimatedCarbonEmissions(software.amazon.awssdk.services.sustainability.model.GetEstimatedCarbonEmissionsRequest)operation.- Parameters:
getEstimatedCarbonEmissionsRequest-- Returns:
- A custom publisher that can be subscribed to request a stream of response pages.
The CompletableFuture returned by this method can be completed exceptionally with the following exceptions. The exception returned is wrapped with CompletionException, so you need to invokeThrowable.getCause()to retrieve the underlying exception.- ValidationException The input fails to satisfy the constraints specified by an Amazon Web Services service.
- InternalServerException The request processing has failed because of an unknown error, exception, or failure.
- AccessDeniedException You do not have sufficient access to perform this action.
- ThrottlingException The request was denied due to request throttling.
- SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for catch all scenarios.
- SdkClientException If any client side error occurs such as an IO related failure, failure to get credentials, etc.
- SustainabilityException Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
- See Also:
-
getEstimatedCarbonEmissionsPaginator
default GetEstimatedCarbonEmissionsPublisher getEstimatedCarbonEmissionsPaginator(Consumer<GetEstimatedCarbonEmissionsRequest.Builder> getEstimatedCarbonEmissionsRequest) This is a variant of
getEstimatedCarbonEmissions(software.amazon.awssdk.services.sustainability.model.GetEstimatedCarbonEmissionsRequest)operation. The return type is a custom publisher that can be subscribed to request a stream of response pages. SDK will internally handle making service calls for you.When the operation is called, an instance of this class is returned. At this point, no service calls are made yet and so there is no guarantee that the request is valid. If there are errors in your request, you will see the failures only after you start streaming the data. The subscribe method should be called as a request to start streaming data. For more info, see
Publisher.subscribe(org.reactivestreams.Subscriber). Each call to the subscribe method will result in a newSubscriptioni.e., a new contract to stream data from the starting request.The following are few ways to use the response class:
1) Using the subscribe helper method
2) Using a custom subscribersoftware.amazon.awssdk.services.sustainability.paginators.GetEstimatedCarbonEmissionsPublisher publisher = client.getEstimatedCarbonEmissionsPaginator(request); CompletableFuture<Void> future = publisher.subscribe(res -> { // Do something with the response }); future.get();
As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2.software.amazon.awssdk.services.sustainability.paginators.GetEstimatedCarbonEmissionsPublisher publisher = client.getEstimatedCarbonEmissionsPaginator(request); publisher.subscribe(new Subscriber<software.amazon.awssdk.services.sustainability.model.GetEstimatedCarbonEmissionsResponse>() { public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... }; public void onNext(software.amazon.awssdk.services.sustainability.model.GetEstimatedCarbonEmissionsResponse response) { //... }; });Please notice that the configuration of MaxResults won't limit the number of results you get with the paginator. It only limits the number of results in each page.
Note: If you prefer to have control on service calls, use the
getEstimatedCarbonEmissions(software.amazon.awssdk.services.sustainability.model.GetEstimatedCarbonEmissionsRequest)operation.
This is a convenience which creates an instance of the
GetEstimatedCarbonEmissionsRequest.Builderavoiding the need to create one manually viaGetEstimatedCarbonEmissionsRequest.builder()- Parameters:
getEstimatedCarbonEmissionsRequest- AConsumerthat will call methods onGetEstimatedCarbonEmissionsRequest.Builderto create a request.- Returns:
- A custom publisher that can be subscribed to request a stream of response pages.
The CompletableFuture returned by this method can be completed exceptionally with the following exceptions. The exception returned is wrapped with CompletionException, so you need to invokeThrowable.getCause()to retrieve the underlying exception.- ValidationException The input fails to satisfy the constraints specified by an Amazon Web Services service.
- InternalServerException The request processing has failed because of an unknown error, exception, or failure.
- AccessDeniedException You do not have sufficient access to perform this action.
- ThrottlingException The request was denied due to request throttling.
- SdkException Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for catch all scenarios.
- SdkClientException If any client side error occurs such as an IO related failure, failure to get credentials, etc.
- SustainabilityException Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type.
- See Also:
-
serviceClientConfiguration
Description copied from interface:SdkClientThe SDK service client configuration exposes client settings to the user, e.g., ClientOverrideConfiguration- Specified by:
serviceClientConfigurationin interfaceAwsClient- Specified by:
serviceClientConfigurationin interfaceSdkClient- Returns:
- SdkServiceClientConfiguration
-
create
Create aSustainabilityAsyncClientwith the region loaded from theDefaultAwsRegionProviderChainand credentials loaded from theDefaultCredentialsProvider. -
builder
Create a builder that can be used to configure and create aSustainabilityAsyncClient.
-