All Downloads are FREE. Search and download functionalities are using the official Maven repository.

software.amazon.awssdk.services.dynamodb.streams.DynamoDbStreamsAsyncClient Maven / Gradle / Ivy

Go to download

A single bundled dependency that includes all service and dependent JARs with third-party libraries relocated to different namespaces.

There is a newer version: 2.5.20
Show newest version
/*
 * Copyright 2013-2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
 * the License. A copy of the License is located at
 * 
 * http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
 * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
 * and limitations under the License.
 */

package software.amazon.awssdk.services.dynamodb.streams;

import java.util.concurrent.CompletableFuture;
import java.util.function.Consumer;
import software.amazon.awssdk.annotations.Generated;
import software.amazon.awssdk.core.SdkClient;
import software.amazon.awssdk.services.dynamodb.model.DescribeStreamRequest;
import software.amazon.awssdk.services.dynamodb.model.DescribeStreamResponse;
import software.amazon.awssdk.services.dynamodb.model.GetRecordsRequest;
import software.amazon.awssdk.services.dynamodb.model.GetRecordsResponse;
import software.amazon.awssdk.services.dynamodb.model.GetShardIteratorRequest;
import software.amazon.awssdk.services.dynamodb.model.GetShardIteratorResponse;
import software.amazon.awssdk.services.dynamodb.model.ListStreamsRequest;
import software.amazon.awssdk.services.dynamodb.model.ListStreamsResponse;
import software.amazon.awssdk.services.dynamodb.streams.paginators.DescribeStreamPublisher;
import software.amazon.awssdk.services.dynamodb.streams.paginators.ListStreamsPublisher;

/**
 * Service client for accessing null asynchronously. This can be created using the static {@link #builder()} method.
 *
 * Amazon DynamoDB
 * 

* Amazon DynamoDB Streams provides API actions for accessing streams and processing stream records. To learn more about * application development with Streams, see Capturing Table Activity with * DynamoDB Streams in the Amazon DynamoDB Developer Guide. *

*/ @Generated("software.amazon.awssdk:codegen") public interface DynamoDbStreamsAsyncClient extends SdkClient { String SERVICE_NAME = "dynamodb"; /** * Create a {@link DynamoDbStreamsAsyncClient} with the region loaded from the * {@link software.amazon.awssdk.regions.providers.DefaultAwsRegionProviderChain} and credentials loaded from the * {@link software.amazon.awssdk.auth.credentials.DefaultCredentialsProvider}. */ static DynamoDbStreamsAsyncClient create() { return builder().build(); } /** * Create a builder that can be used to configure and create a {@link DynamoDbStreamsAsyncClient}. */ static DynamoDbStreamsAsyncClientBuilder builder() { return new DefaultDynamoDbStreamsAsyncClientBuilder(); } /** *

* Returns information about a stream, including the current status of the stream, its Amazon Resource Name (ARN), * the composition of its shards, and its corresponding DynamoDB table. *

* *

* You can call DescribeStream at a maximum rate of 10 times per second. *

*
*

* Each shard in the stream has a SequenceNumberRange associated with it. If the * SequenceNumberRange has a StartingSequenceNumber but no * EndingSequenceNumber, then the shard is still open (able to receive more stream records). If both * StartingSequenceNumber and EndingSequenceNumber are present, then that shard is closed * and can no longer receive more data. *

* * @param describeStreamRequest * Represents the input of a DescribeStream operation. * @return A Java Future containing the result of the DescribeStream operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ResourceNotFoundException The operation tried to access a nonexistent stream.
  • *
  • InternalServerErrorException An error occurred on the server side.
  • *
  • 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.
  • *
  • DynamoDbStreamsException Base class for all service exceptions. Unknown exceptions will be thrown as * an instance of this type.
  • *
* @sample DynamoDbStreamsAsyncClient.DescribeStream * @see AWS API Documentation */ default CompletableFuture describeStream(DescribeStreamRequest describeStreamRequest) { throw new UnsupportedOperationException(); } /** *

* Returns information about a stream, including the current status of the stream, its Amazon Resource Name (ARN), * the composition of its shards, and its corresponding DynamoDB table. *

* *

* You can call DescribeStream at a maximum rate of 10 times per second. *

*
*

* Each shard in the stream has a SequenceNumberRange associated with it. If the * SequenceNumberRange has a StartingSequenceNumber but no * EndingSequenceNumber, then the shard is still open (able to receive more stream records). If both * StartingSequenceNumber and EndingSequenceNumber are present, then that shard is closed * and can no longer receive more data. *

*
*

* This is a convenience which creates an instance of the {@link DescribeStreamRequest.Builder} avoiding the need to * create one manually via {@link DescribeStreamRequest#builder()} *

* * @param describeStreamRequest * A {@link Consumer} that will call methods on {@link DescribeStreamInput.Builder} to create a request. * Represents the input of a DescribeStream operation. * @return A Java Future containing the result of the DescribeStream operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ResourceNotFoundException The operation tried to access a nonexistent stream.
  • *
  • InternalServerErrorException An error occurred on the server side.
  • *
  • 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.
  • *
  • DynamoDbStreamsException Base class for all service exceptions. Unknown exceptions will be thrown as * an instance of this type.
  • *
* @sample DynamoDbStreamsAsyncClient.DescribeStream * @see AWS API Documentation */ default CompletableFuture describeStream(Consumer describeStreamRequest) { return describeStream(DescribeStreamRequest.builder().applyMutation(describeStreamRequest).build()); } /** *

* Returns information about a stream, including the current status of the stream, its Amazon Resource Name (ARN), * the composition of its shards, and its corresponding DynamoDB table. *

* *

* You can call DescribeStream at a maximum rate of 10 times per second. *

*
*

* Each shard in the stream has a SequenceNumberRange associated with it. If the * SequenceNumberRange has a StartingSequenceNumber but no * EndingSequenceNumber, then the shard is still open (able to receive more stream records). If both * StartingSequenceNumber and EndingSequenceNumber are present, then that shard is closed * and can no longer receive more data. *

*
*

* This is a variant of * {@link #describeStream(software.amazon.awssdk.services.dynamodb.model.DescribeStreamRequest)} 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 * {@link org.reactivestreams.Publisher#subscribe(org.reactivestreams.Subscriber)}. Each call to the subscribe * method will result in a new {@link org.reactivestreams.Subscription} i.e., a new contract to stream data from the * starting request. *

* *

* The following are few ways to use the response class: *

* 1) Using the forEach helper method * *
     * {@code
     * software.amazon.awssdk.services.dynamodb.streams.paginators.DescribeStreamPublisher publisher = client.describeStreamPaginator(request);
     * CompletableFuture future = publisher.forEach(res -> { // Do something with the response });
     * future.get();
     * }
     * 
* * 2) Using a custom subscriber * *
     * {@code
     * software.amazon.awssdk.services.dynamodb.streams.paginators.DescribeStreamPublisher publisher = client.describeStreamPaginator(request);
     * publisher.subscribe(new Subscriber() {
     * 
     * public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... };
     * 
     * 
     * public void onNext(software.amazon.awssdk.services.dynamodb.model.DescribeStreamResponse response) { //... };
     * });}
     * 
* * As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2. *

* Note: If you prefer to have control on service calls, use the * {@link #describeStream(software.amazon.awssdk.services.dynamodb.model.DescribeStreamRequest)} operation. *

* * @param describeStreamRequest * Represents the input of a DescribeStream operation. * @return 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. *
    *
  • ResourceNotFoundException The operation tried to access a nonexistent stream.
  • *
  • InternalServerErrorException An error occurred on the server side.
  • *
  • 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.
  • *
  • DynamoDbStreamsException Base class for all service exceptions. Unknown exceptions will be thrown as * an instance of this type.
  • *
* @sample DynamoDbStreamsAsyncClient.DescribeStream * @see AWS API Documentation */ default DescribeStreamPublisher describeStreamPaginator(DescribeStreamRequest describeStreamRequest) { throw new UnsupportedOperationException(); } /** *

* Returns information about a stream, including the current status of the stream, its Amazon Resource Name (ARN), * the composition of its shards, and its corresponding DynamoDB table. *

* *

* You can call DescribeStream at a maximum rate of 10 times per second. *

*
*

* Each shard in the stream has a SequenceNumberRange associated with it. If the * SequenceNumberRange has a StartingSequenceNumber but no * EndingSequenceNumber, then the shard is still open (able to receive more stream records). If both * StartingSequenceNumber and EndingSequenceNumber are present, then that shard is closed * and can no longer receive more data. *

*
*

* This is a variant of * {@link #describeStream(software.amazon.awssdk.services.dynamodb.model.DescribeStreamRequest)} 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 * {@link org.reactivestreams.Publisher#subscribe(org.reactivestreams.Subscriber)}. Each call to the subscribe * method will result in a new {@link org.reactivestreams.Subscription} i.e., a new contract to stream data from the * starting request. *

* *

* The following are few ways to use the response class: *

* 1) Using the forEach helper method * *
     * {@code
     * software.amazon.awssdk.services.dynamodb.streams.paginators.DescribeStreamPublisher publisher = client.describeStreamPaginator(request);
     * CompletableFuture future = publisher.forEach(res -> { // Do something with the response });
     * future.get();
     * }
     * 
* * 2) Using a custom subscriber * *
     * {@code
     * software.amazon.awssdk.services.dynamodb.streams.paginators.DescribeStreamPublisher publisher = client.describeStreamPaginator(request);
     * publisher.subscribe(new Subscriber() {
     * 
     * public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... };
     * 
     * 
     * public void onNext(software.amazon.awssdk.services.dynamodb.model.DescribeStreamResponse response) { //... };
     * });}
     * 
* * As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2. *

* Note: If you prefer to have control on service calls, use the * {@link #describeStream(software.amazon.awssdk.services.dynamodb.model.DescribeStreamRequest)} operation. *

*

* This is a convenience which creates an instance of the {@link DescribeStreamRequest.Builder} avoiding the need to * create one manually via {@link DescribeStreamRequest#builder()} *

* * @param describeStreamRequest * A {@link Consumer} that will call methods on {@link DescribeStreamInput.Builder} to create a request. * Represents the input of a DescribeStream operation. * @return 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. *
    *
  • ResourceNotFoundException The operation tried to access a nonexistent stream.
  • *
  • InternalServerErrorException An error occurred on the server side.
  • *
  • 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.
  • *
  • DynamoDbStreamsException Base class for all service exceptions. Unknown exceptions will be thrown as * an instance of this type.
  • *
* @sample DynamoDbStreamsAsyncClient.DescribeStream * @see AWS API Documentation */ default DescribeStreamPublisher describeStreamPaginator(Consumer describeStreamRequest) { return describeStreamPaginator(DescribeStreamRequest.builder().applyMutation(describeStreamRequest).build()); } /** *

* Retrieves the stream records from a given shard. *

*

* Specify a shard iterator using the ShardIterator parameter. The shard iterator specifies the * position in the shard from which you want to start reading stream records sequentially. If there are no stream * records available in the portion of the shard that the iterator points to, GetRecords returns an * empty list. Note that it might take multiple calls to get to a portion of the shard that contains stream records. *

* *

* GetRecords can retrieve a maximum of 1 MB of data or 1000 stream records, whichever comes first. *

*
* * @param getRecordsRequest * Represents the input of a GetRecords operation. * @return A Java Future containing the result of the GetRecords operation returned by the service.
* The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
    *
  • ResourceNotFoundException The operation tried to access a nonexistent stream.
  • *
  • LimitExceededException Your request rate is too high. The AWS SDKs for DynamoDB automatically retry * requests that receive this exception. Your request is eventually successful, unless your retry queue is * too large to finish. Reduce the frequency of requests and use exponential backoff. For more information, * go to Error Retries and Exponential Backoff in the Amazon DynamoDB Developer Guide.
  • *
  • InternalServerErrorException An error occurred on the server side.
  • *
  • ExpiredIteratorException The shard iterator has expired and can no longer be used to retrieve stream * records. A shard iterator expires 15 minutes after it is retrieved using the * GetShardIterator action.
  • *
  • TrimmedDataAccessException The operation attempted to read past the oldest stream record in a * shard.

    *

    * In DynamoDB Streams, there is a 24 hour limit on data retention. Stream records whose age exceeds this * limit are subject to removal (trimming) from the stream. You might receive a TrimmedDataAccessException * if: *

    *
      *
    • *

      * You request a shard iterator with a sequence number older than the trim point (24 hours). *

      *
    • *
    • *

      * You obtain a shard iterator, but before you use the iterator in a GetRecords request, a * stream record in the shard exceeds the 24 hour period and is trimmed. This causes the iterator to access * a record that no longer exists. *

      *
    • *
    • 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.
    • *
    • DynamoDbStreamsException Base class for all service exceptions. Unknown exceptions will be thrown as * an instance of this type.
    • *
    * @sample DynamoDbStreamsAsyncClient.GetRecords * @see AWS * API Documentation */ default CompletableFuture getRecords(GetRecordsRequest getRecordsRequest) { throw new UnsupportedOperationException(); } /** *

    * Retrieves the stream records from a given shard. *

    *

    * Specify a shard iterator using the ShardIterator parameter. The shard iterator specifies the * position in the shard from which you want to start reading stream records sequentially. If there are no stream * records available in the portion of the shard that the iterator points to, GetRecords returns an * empty list. Note that it might take multiple calls to get to a portion of the shard that contains stream records. *

    * *

    * GetRecords can retrieve a maximum of 1 MB of data or 1000 stream records, whichever comes first. *

    *

    *

    * This is a convenience which creates an instance of the {@link GetRecordsRequest.Builder} avoiding the need to * create one manually via {@link GetRecordsRequest#builder()} *

    * * @param getRecordsRequest * A {@link Consumer} that will call methods on {@link GetRecordsInput.Builder} to create a request. * Represents the input of a GetRecords operation. * @return A Java Future containing the result of the GetRecords operation returned by the service.
    * The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
      *
    • ResourceNotFoundException The operation tried to access a nonexistent stream.
    • *
    • LimitExceededException Your request rate is too high. The AWS SDKs for DynamoDB automatically retry * requests that receive this exception. Your request is eventually successful, unless your retry queue is * too large to finish. Reduce the frequency of requests and use exponential backoff. For more information, * go to Error Retries and Exponential Backoff in the Amazon DynamoDB Developer Guide.
    • *
    • InternalServerErrorException An error occurred on the server side.
    • *
    • ExpiredIteratorException The shard iterator has expired and can no longer be used to retrieve stream * records. A shard iterator expires 15 minutes after it is retrieved using the * GetShardIterator action.
    • *
    • TrimmedDataAccessException The operation attempted to read past the oldest stream record in a * shard.

      *

      * In DynamoDB Streams, there is a 24 hour limit on data retention. Stream records whose age exceeds this * limit are subject to removal (trimming) from the stream. You might receive a TrimmedDataAccessException * if: *

      *
        *
      • *

        * You request a shard iterator with a sequence number older than the trim point (24 hours). *

        *
      • *
      • *

        * You obtain a shard iterator, but before you use the iterator in a GetRecords request, a * stream record in the shard exceeds the 24 hour period and is trimmed. This causes the iterator to access * a record that no longer exists. *

        *
      • *
      • 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.
      • *
      • DynamoDbStreamsException Base class for all service exceptions. Unknown exceptions will be thrown as * an instance of this type.
      • *
      * @sample DynamoDbStreamsAsyncClient.GetRecords * @see AWS * API Documentation */ default CompletableFuture getRecords(Consumer getRecordsRequest) { return getRecords(GetRecordsRequest.builder().applyMutation(getRecordsRequest).build()); } /** *

      * Returns a shard iterator. A shard iterator provides information about how to retrieve the stream records from * within a shard. Use the shard iterator in a subsequent GetRecords request to read the stream records * from the shard. *

      * *

      * A shard iterator expires 15 minutes after it is returned to the requester. *

      *
      * * @param getShardIteratorRequest * Represents the input of a GetShardIterator operation. * @return A Java Future containing the result of the GetShardIterator operation returned by the service.
      * The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
        *
      • ResourceNotFoundException The operation tried to access a nonexistent stream.
      • *
      • InternalServerErrorException An error occurred on the server side.
      • *
      • TrimmedDataAccessException The operation attempted to read past the oldest stream record in a * shard.

        *

        * In DynamoDB Streams, there is a 24 hour limit on data retention. Stream records whose age exceeds this * limit are subject to removal (trimming) from the stream. You might receive a TrimmedDataAccessException * if: *

        *
          *
        • *

          * You request a shard iterator with a sequence number older than the trim point (24 hours). *

          *
        • *
        • *

          * You obtain a shard iterator, but before you use the iterator in a GetRecords request, a * stream record in the shard exceeds the 24 hour period and is trimmed. This causes the iterator to access * a record that no longer exists. *

          *
        • *
        • 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.
        • *
        • DynamoDbStreamsException Base class for all service exceptions. Unknown exceptions will be thrown as * an instance of this type.
        • *
        * @sample DynamoDbStreamsAsyncClient.GetShardIterator * @see AWS API Documentation */ default CompletableFuture getShardIterator(GetShardIteratorRequest getShardIteratorRequest) { throw new UnsupportedOperationException(); } /** *

        * Returns a shard iterator. A shard iterator provides information about how to retrieve the stream records from * within a shard. Use the shard iterator in a subsequent GetRecords request to read the stream records * from the shard. *

        * *

        * A shard iterator expires 15 minutes after it is returned to the requester. *

        *

        *

        * This is a convenience which creates an instance of the {@link GetShardIteratorRequest.Builder} avoiding the need * to create one manually via {@link GetShardIteratorRequest#builder()} *

        * * @param getShardIteratorRequest * A {@link Consumer} that will call methods on {@link GetShardIteratorInput.Builder} to create a request. * Represents the input of a GetShardIterator operation. * @return A Java Future containing the result of the GetShardIterator operation returned by the service.
        * The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
          *
        • ResourceNotFoundException The operation tried to access a nonexistent stream.
        • *
        • InternalServerErrorException An error occurred on the server side.
        • *
        • TrimmedDataAccessException The operation attempted to read past the oldest stream record in a * shard.

          *

          * In DynamoDB Streams, there is a 24 hour limit on data retention. Stream records whose age exceeds this * limit are subject to removal (trimming) from the stream. You might receive a TrimmedDataAccessException * if: *

          *
            *
          • *

            * You request a shard iterator with a sequence number older than the trim point (24 hours). *

            *
          • *
          • *

            * You obtain a shard iterator, but before you use the iterator in a GetRecords request, a * stream record in the shard exceeds the 24 hour period and is trimmed. This causes the iterator to access * a record that no longer exists. *

            *
          • *
          • 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.
          • *
          • DynamoDbStreamsException Base class for all service exceptions. Unknown exceptions will be thrown as * an instance of this type.
          • *
          * @sample DynamoDbStreamsAsyncClient.GetShardIterator * @see AWS API Documentation */ default CompletableFuture getShardIterator( Consumer getShardIteratorRequest) { return getShardIterator(GetShardIteratorRequest.builder().applyMutation(getShardIteratorRequest).build()); } /** *

          * Returns an array of stream ARNs associated with the current account and endpoint. If the TableName * parameter is present, then ListStreams will return only the streams ARNs for that table. *

          * *

          * You can call ListStreams at a maximum rate of 5 times per second. *

          *
          * * @param listStreamsRequest * Represents the input of a ListStreams operation. * @return A Java Future containing the result of the ListStreams operation returned by the service.
          * The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
            *
          • ResourceNotFoundException The operation tried to access a nonexistent stream.
          • *
          • InternalServerErrorException An error occurred on the server side.
          • *
          • 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.
          • *
          • DynamoDbStreamsException Base class for all service exceptions. Unknown exceptions will be thrown as * an instance of this type.
          • *
          * @sample DynamoDbStreamsAsyncClient.ListStreams * @see AWS * API Documentation */ default CompletableFuture listStreams(ListStreamsRequest listStreamsRequest) { throw new UnsupportedOperationException(); } /** *

          * Returns an array of stream ARNs associated with the current account and endpoint. If the TableName * parameter is present, then ListStreams will return only the streams ARNs for that table. *

          * *

          * You can call ListStreams at a maximum rate of 5 times per second. *

          *

          *

          * This is a convenience which creates an instance of the {@link ListStreamsRequest.Builder} avoiding the need to * create one manually via {@link ListStreamsRequest#builder()} *

          * * @param listStreamsRequest * A {@link Consumer} that will call methods on {@link ListStreamsInput.Builder} to create a request. * Represents the input of a ListStreams operation. * @return A Java Future containing the result of the ListStreams operation returned by the service.
          * The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
            *
          • ResourceNotFoundException The operation tried to access a nonexistent stream.
          • *
          • InternalServerErrorException An error occurred on the server side.
          • *
          • 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.
          • *
          • DynamoDbStreamsException Base class for all service exceptions. Unknown exceptions will be thrown as * an instance of this type.
          • *
          * @sample DynamoDbStreamsAsyncClient.ListStreams * @see AWS * API Documentation */ default CompletableFuture listStreams(Consumer listStreamsRequest) { return listStreams(ListStreamsRequest.builder().applyMutation(listStreamsRequest).build()); } /** *

          * Returns an array of stream ARNs associated with the current account and endpoint. If the TableName * parameter is present, then ListStreams will return only the streams ARNs for that table. *

          * *

          * You can call ListStreams at a maximum rate of 5 times per second. *

          *
          * * @return A Java Future containing the result of the ListStreams operation returned by the service.
          * The CompletableFuture returned by this method can be completed exceptionally with the following * exceptions. *
            *
          • ResourceNotFoundException The operation tried to access a nonexistent stream.
          • *
          • InternalServerErrorException An error occurred on the server side.
          • *
          • 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.
          • *
          • DynamoDbStreamsException Base class for all service exceptions. Unknown exceptions will be thrown as * an instance of this type.
          • *
          * @sample DynamoDbStreamsAsyncClient.ListStreams * @see AWS * API Documentation */ default CompletableFuture listStreams() { return listStreams(ListStreamsRequest.builder().build()); } /** *

          * Returns an array of stream ARNs associated with the current account and endpoint. If the TableName * parameter is present, then ListStreams will return only the streams ARNs for that table. *

          * *

          * You can call ListStreams at a maximum rate of 5 times per second. *

          *

          *

          * This is a variant of {@link #listStreams(software.amazon.awssdk.services.dynamodb.model.ListStreamsRequest)} * 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 * {@link org.reactivestreams.Publisher#subscribe(org.reactivestreams.Subscriber)}. Each call to the subscribe * method will result in a new {@link org.reactivestreams.Subscription} i.e., a new contract to stream data from the * starting request. *

          * *

          * The following are few ways to use the response class: *

          * 1) Using the forEach helper method * *
               * {@code
               * software.amazon.awssdk.services.dynamodb.streams.paginators.ListStreamsPublisher publisher = client.listStreamsPaginator(request);
               * CompletableFuture future = publisher.forEach(res -> { // Do something with the response });
               * future.get();
               * }
               * 
          * * 2) Using a custom subscriber * *
               * {@code
               * software.amazon.awssdk.services.dynamodb.streams.paginators.ListStreamsPublisher publisher = client.listStreamsPaginator(request);
               * publisher.subscribe(new Subscriber() {
               * 
               * public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... };
               * 
               * 
               * public void onNext(software.amazon.awssdk.services.dynamodb.model.ListStreamsResponse response) { //... };
               * });}
               * 
          * * As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2. *

          * Note: If you prefer to have control on service calls, use the * {@link #listStreams(software.amazon.awssdk.services.dynamodb.model.ListStreamsRequest)} operation. *

          * * @return 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. *
            *
          • ResourceNotFoundException The operation tried to access a nonexistent stream.
          • *
          • InternalServerErrorException An error occurred on the server side.
          • *
          • 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.
          • *
          • DynamoDbStreamsException Base class for all service exceptions. Unknown exceptions will be thrown as * an instance of this type.
          • *
          * @sample DynamoDbStreamsAsyncClient.ListStreams * @see AWS * API Documentation */ default ListStreamsPublisher listStreamsPaginator() { return listStreamsPaginator(ListStreamsRequest.builder().build()); } /** *

          * Returns an array of stream ARNs associated with the current account and endpoint. If the TableName * parameter is present, then ListStreams will return only the streams ARNs for that table. *

          * *

          * You can call ListStreams at a maximum rate of 5 times per second. *

          *

          *

          * This is a variant of {@link #listStreams(software.amazon.awssdk.services.dynamodb.model.ListStreamsRequest)} * 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 * {@link org.reactivestreams.Publisher#subscribe(org.reactivestreams.Subscriber)}. Each call to the subscribe * method will result in a new {@link org.reactivestreams.Subscription} i.e., a new contract to stream data from the * starting request. *

          * *

          * The following are few ways to use the response class: *

          * 1) Using the forEach helper method * *
               * {@code
               * software.amazon.awssdk.services.dynamodb.streams.paginators.ListStreamsPublisher publisher = client.listStreamsPaginator(request);
               * CompletableFuture future = publisher.forEach(res -> { // Do something with the response });
               * future.get();
               * }
               * 
          * * 2) Using a custom subscriber * *
               * {@code
               * software.amazon.awssdk.services.dynamodb.streams.paginators.ListStreamsPublisher publisher = client.listStreamsPaginator(request);
               * publisher.subscribe(new Subscriber() {
               * 
               * public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... };
               * 
               * 
               * public void onNext(software.amazon.awssdk.services.dynamodb.model.ListStreamsResponse response) { //... };
               * });}
               * 
          * * As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2. *

          * Note: If you prefer to have control on service calls, use the * {@link #listStreams(software.amazon.awssdk.services.dynamodb.model.ListStreamsRequest)} operation. *

          * * @param listStreamsRequest * Represents the input of a ListStreams operation. * @return 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. *
            *
          • ResourceNotFoundException The operation tried to access a nonexistent stream.
          • *
          • InternalServerErrorException An error occurred on the server side.
          • *
          • 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.
          • *
          • DynamoDbStreamsException Base class for all service exceptions. Unknown exceptions will be thrown as * an instance of this type.
          • *
          * @sample DynamoDbStreamsAsyncClient.ListStreams * @see AWS * API Documentation */ default ListStreamsPublisher listStreamsPaginator(ListStreamsRequest listStreamsRequest) { throw new UnsupportedOperationException(); } /** *

          * Returns an array of stream ARNs associated with the current account and endpoint. If the TableName * parameter is present, then ListStreams will return only the streams ARNs for that table. *

          * *

          * You can call ListStreams at a maximum rate of 5 times per second. *

          *

          *

          * This is a variant of {@link #listStreams(software.amazon.awssdk.services.dynamodb.model.ListStreamsRequest)} * 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 * {@link org.reactivestreams.Publisher#subscribe(org.reactivestreams.Subscriber)}. Each call to the subscribe * method will result in a new {@link org.reactivestreams.Subscription} i.e., a new contract to stream data from the * starting request. *

          * *

          * The following are few ways to use the response class: *

          * 1) Using the forEach helper method * *
               * {@code
               * software.amazon.awssdk.services.dynamodb.streams.paginators.ListStreamsPublisher publisher = client.listStreamsPaginator(request);
               * CompletableFuture future = publisher.forEach(res -> { // Do something with the response });
               * future.get();
               * }
               * 
          * * 2) Using a custom subscriber * *
               * {@code
               * software.amazon.awssdk.services.dynamodb.streams.paginators.ListStreamsPublisher publisher = client.listStreamsPaginator(request);
               * publisher.subscribe(new Subscriber() {
               * 
               * public void onSubscribe(org.reactivestreams.Subscriber subscription) { //... };
               * 
               * 
               * public void onNext(software.amazon.awssdk.services.dynamodb.model.ListStreamsResponse response) { //... };
               * });}
               * 
          * * As the response is a publisher, it can work well with third party reactive streams implementations like RxJava2. *

          * Note: If you prefer to have control on service calls, use the * {@link #listStreams(software.amazon.awssdk.services.dynamodb.model.ListStreamsRequest)} operation. *

          *

          * This is a convenience which creates an instance of the {@link ListStreamsRequest.Builder} avoiding the need to * create one manually via {@link ListStreamsRequest#builder()} *

          * * @param listStreamsRequest * A {@link Consumer} that will call methods on {@link ListStreamsInput.Builder} to create a request. * Represents the input of a ListStreams operation. * @return 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. *
            *
          • ResourceNotFoundException The operation tried to access a nonexistent stream.
          • *
          • InternalServerErrorException An error occurred on the server side.
          • *
          • 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.
          • *
          • DynamoDbStreamsException Base class for all service exceptions. Unknown exceptions will be thrown as * an instance of this type.
          • *
          * @sample DynamoDbStreamsAsyncClient.ListStreams * @see AWS * API Documentation */ default ListStreamsPublisher listStreamsPaginator(Consumer listStreamsRequest) { return listStreamsPaginator(ListStreamsRequest.builder().applyMutation(listStreamsRequest).build()); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy