Class SelectObjectContentRequest

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

@Generated("software.amazon.awssdk:codegen") public final class SelectObjectContentRequest extends S3Request implements ToCopyableBuilder<SelectObjectContentRequest.Builder,SelectObjectContentRequest>

Request to filter the contents of an Amazon S3 object based on a simple Structured Query Language (SQL) statement. In the request, along with the SQL expression, you must specify a data serialization format (JSON or CSV) of the object. Amazon S3 uses this to parse object data into records. It returns only records that match the specified SQL expression. You must also specify the data serialization format for the response. For more information, see S3Select API Documentation.

  • Method Details

    • bucket

      public final String bucket()

      The S3 bucket.

      Returns:
      The S3 bucket.
    • key

      public final String key()

      The object key.

      Returns:
      The object key.
    • sseCustomerAlgorithm

      public final String sseCustomerAlgorithm()

      The server-side encryption (SSE) algorithm used to encrypt the object. This parameter is needed only when the object was created using a checksum algorithm. For more information, see Protecting data using SSE-C keys in the Amazon S3 User Guide.

      Returns:
      The server-side encryption (SSE) algorithm used to encrypt the object. This parameter is needed only when the object was created using a checksum algorithm. For more information, see Protecting data using SSE-C keys in the Amazon S3 User Guide.
    • sseCustomerKey

      public final String sseCustomerKey()

      The server-side encryption (SSE) customer managed key. This parameter is needed only when the object was created using a checksum algorithm. For more information, see Protecting data using SSE-C keys in the Amazon S3 User Guide.

      Returns:
      The server-side encryption (SSE) customer managed key. This parameter is needed only when the object was created using a checksum algorithm. For more information, see Protecting data using SSE-C keys in the Amazon S3 User Guide.
    • sseCustomerKeyMD5

      public final String sseCustomerKeyMD5()

      The MD5 server-side encryption (SSE) customer managed key. This parameter is needed only when the object was created using a checksum algorithm. For more information, see Protecting data using SSE-C keys in the Amazon S3 User Guide.

      Returns:
      The MD5 server-side encryption (SSE) customer managed key. This parameter is needed only when the object was created using a checksum algorithm. For more information, see Protecting data using SSE-C keys in the Amazon S3 User Guide.
    • expression

      public final String expression()

      The expression that is used to query the object.

      Returns:
      The expression that is used to query the object.
    • expressionType

      public final ExpressionType expressionType()

      The type of the provided expression (for example, SQL).

      If the service returns an enum value that is not available in the current SDK version, expressionType will return ExpressionType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from expressionTypeAsString().

      Returns:
      The type of the provided expression (for example, SQL).
      See Also:
    • expressionTypeAsString

      public final String expressionTypeAsString()

      The type of the provided expression (for example, SQL).

      If the service returns an enum value that is not available in the current SDK version, expressionType will return ExpressionType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from expressionTypeAsString().

      Returns:
      The type of the provided expression (for example, SQL).
      See Also:
    • requestProgress

      public final RequestProgress requestProgress()

      Specifies if periodic request progress information should be enabled.

      Returns:
      Specifies if periodic request progress information should be enabled.
    • inputSerialization

      public final InputSerialization inputSerialization()

      Describes the format of the data in the object that is being queried.

      Returns:
      Describes the format of the data in the object that is being queried.
    • outputSerialization

      public final OutputSerialization outputSerialization()

      Describes the format of the data that you want Amazon S3 to return in response.

      Returns:
      Describes the format of the data that you want Amazon S3 to return in response.
    • scanRange

      public final ScanRange scanRange()

      Specifies the byte range of the object to get the records from. A record is processed when its first byte is contained by the range. This parameter is optional, but when specified, it must not be empty. See RFC 2616, Section 14.35.1 about how to specify the start and end of the range.

      ScanRangemay be used in the following ways:

      • <scanrange><start>50</start><end>100</end></scanrange> - process only the records starting between the bytes 50 and 100 (inclusive, counting from zero)

      • <scanrange><start>50</start></scanrange> - process only the records starting after the byte 50

      • <scanrange><end>50</end></scanrange> - process only the records within the last 50 bytes of the file.

      Returns:
      Specifies the byte range of the object to get the records from. A record is processed when its first byte is contained by the range. This parameter is optional, but when specified, it must not be empty. See RFC 2616, Section 14.35.1 about how to specify the start and end of the range.

      ScanRangemay be used in the following ways:

      • <scanrange><start>50</start><end>100</end></scanrange> - process only the records starting between the bytes 50 and 100 (inclusive, counting from zero)

      • <scanrange><start>50</start></scanrange> - process only the records starting after the byte 50

      • <scanrange><end>50</end></scanrange> - process only the records within the last 50 bytes of the file.

    • expectedBucketOwner

      public final String expectedBucketOwner()

      The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code 403 Forbidden (access denied).

      Returns:
      The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code 403 Forbidden (access denied).
    • 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<SelectObjectContentRequest.Builder,SelectObjectContentRequest>
      Specified by:
      toBuilder in class S3Request
      Returns:
      a builder for type T
    • builder

      public static SelectObjectContentRequest.Builder builder()
    • serializableBuilderClass

      public static Class<? extends SelectObjectContentRequest.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.