All Implemented Interfaces:
SdkPojo, ToCopyableBuilder<QueryRequest.Builder,QueryRequest>

@Generated("software.amazon.awssdk:codegen") public final class QueryRequest extends TimestreamQueryRequest implements ToCopyableBuilder<QueryRequest.Builder,QueryRequest>
  • Method Details

    • queryString

      public final String queryString()

      The query to be run by Timestream.

      Returns:
      The query to be run by Timestream.
    • clientToken

      public final String clientToken()

      Unique, case-sensitive string of up to 64 ASCII characters specified when a Query request is made. Providing a ClientToken makes the call to Query idempotent. This means that running the same query repeatedly will produce the same result. In other words, making multiple identical Query requests has the same effect as making a single request. When using ClientToken in a query, note the following:

      • If the Query API is instantiated without a ClientToken, the Query SDK generates a ClientToken on your behalf.

      • If the Query invocation only contains the ClientToken but does not include a NextToken, that invocation of Query is assumed to be a new query run.

      • If the invocation contains NextToken, that particular invocation is assumed to be a subsequent invocation of a prior call to the Query API, and a result set is returned.

      • After 4 hours, any request with the same ClientToken is treated as a new request.

      Returns:
      Unique, case-sensitive string of up to 64 ASCII characters specified when a Query request is made. Providing a ClientToken makes the call to Query idempotent. This means that running the same query repeatedly will produce the same result. In other words, making multiple identical Query requests has the same effect as making a single request. When using ClientToken in a query, note the following:

      • If the Query API is instantiated without a ClientToken, the Query SDK generates a ClientToken on your behalf.

      • If the Query invocation only contains the ClientToken but does not include a NextToken, that invocation of Query is assumed to be a new query run.

      • If the invocation contains NextToken, that particular invocation is assumed to be a subsequent invocation of a prior call to the Query API, and a result set is returned.

      • After 4 hours, any request with the same ClientToken is treated as a new request.

    • nextToken

      public final String nextToken()

      A pagination token used to return a set of results. When the Query API is invoked using NextToken, that particular invocation is assumed to be a subsequent invocation of a prior call to Query, and a result set is returned. However, if the Query invocation only contains the ClientToken, that invocation of Query is assumed to be a new query run.

      Note the following when using NextToken in a query:

      • A pagination token can be used for up to five Query invocations, OR for a duration of up to 1 hour – whichever comes first.

      • Using the same NextToken will return the same set of records. To keep paginating through the result set, you must to use the most recent nextToken.

      • Suppose a Query invocation returns two NextToken values, TokenA and TokenB. If TokenB is used in a subsequent Query invocation, then TokenA is invalidated and cannot be reused.

      • To request a previous result set from a query after pagination has begun, you must re-invoke the Query API.

      • The latest NextToken should be used to paginate until null is returned, at which point a new NextToken should be used.

      • If the IAM principal of the query initiator and the result reader are not the same and/or the query initiator and the result reader do not have the same query string in the query requests, the query will fail with an Invalid pagination token error.

      Returns:
      A pagination token used to return a set of results. When the Query API is invoked using NextToken, that particular invocation is assumed to be a subsequent invocation of a prior call to Query, and a result set is returned. However, if the Query invocation only contains the ClientToken, that invocation of Query is assumed to be a new query run.

      Note the following when using NextToken in a query:

      • A pagination token can be used for up to five Query invocations, OR for a duration of up to 1 hour – whichever comes first.

      • Using the same NextToken will return the same set of records. To keep paginating through the result set, you must to use the most recent nextToken.

      • Suppose a Query invocation returns two NextToken values, TokenA and TokenB. If TokenB is used in a subsequent Query invocation, then TokenA is invalidated and cannot be reused.

      • To request a previous result set from a query after pagination has begun, you must re-invoke the Query API.

      • The latest NextToken should be used to paginate until null is returned, at which point a new NextToken should be used.

      • If the IAM principal of the query initiator and the result reader are not the same and/or the query initiator and the result reader do not have the same query string in the query requests, the query will fail with an Invalid pagination token error.

    • maxRows

      public final Integer maxRows()

      The total number of rows to be returned in the Query output. The initial run of Query with a MaxRows value specified will return the result set of the query in two cases:

      • The size of the result is less than 1MB.

      • The number of rows in the result set is less than the value of maxRows.

      Otherwise, the initial invocation of Query only returns a NextToken, which can then be used in subsequent calls to fetch the result set. To resume pagination, provide the NextToken value in the subsequent command.

      If the row size is large (e.g. a row has many columns), Timestream may return fewer rows to keep the response size from exceeding the 1 MB limit. If MaxRows is not provided, Timestream will send the necessary number of rows to meet the 1 MB limit.

      Returns:
      The total number of rows to be returned in the Query output. The initial run of Query with a MaxRows value specified will return the result set of the query in two cases:

      • The size of the result is less than 1MB.

      • The number of rows in the result set is less than the value of maxRows.

      Otherwise, the initial invocation of Query only returns a NextToken, which can then be used in subsequent calls to fetch the result set. To resume pagination, provide the NextToken value in the subsequent command.

      If the row size is large (e.g. a row has many columns), Timestream may return fewer rows to keep the response size from exceeding the 1 MB limit. If MaxRows is not provided, Timestream will send the necessary number of rows to meet the 1 MB limit.

    • toBuilder

      public QueryRequest.Builder toBuilder()
      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<QueryRequest.Builder,QueryRequest>
      Specified by:
      toBuilder in class TimestreamQueryRequest
      Returns:
      a builder for type T
    • builder

      public static QueryRequest.Builder builder()
    • serializableBuilderClass

      public static Class<? extends QueryRequest.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class AwsRequest
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class AwsRequest
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
      Description copied from class: SdkRequest
      Used to retrieve the value of a field from any class that extends SdkRequest. The field name specified should match the member name from the corresponding service-2.json model specified in the codegen-resources folder for a given service. The class specifies what class to cast the returned value to. If the returned value is also a modeled class, the SdkRequest.getValueForField(String, Class) method will again be available.
      Overrides:
      getValueForField in class SdkRequest
      Parameters:
      fieldName - The name of the member to be retrieved.
      clazz - The class to cast the returned object to.
      Returns:
      Optional containing the casted return value
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.