NAME

Paws::S3::SelectObjectContent - Arguments for method SelectObjectContent on Paws::S3

DESCRIPTION

This class represents the parameters used for calling the method SelectObjectContent on the Amazon Simple Storage Service service. Use the attributes of this class as arguments to method SelectObjectContent.

You shouldn't make instances of this class. Each attribute should be used as a named argument in the call to SelectObjectContent.

SYNOPSIS

my $s3 = Paws->service('S3');
my $SelectObjectContentOutput = $s3->SelectObjectContent(
  Bucket             => 'MyBucketName',
  Expression         => 'MyExpression',
  ExpressionType     => 'SQL',
  InputSerialization => {
    CSV => {
      AllowQuotedRecordDelimiter => 1,                     # OPTIONAL
      Comments                   => 'MyComments',          # OPTIONAL
      FieldDelimiter             => 'MyFieldDelimiter',    # OPTIONAL
      FileHeaderInfo       => 'USE',   # values: USE, IGNORE, NONE; OPTIONAL
      QuoteCharacter       => 'MyQuoteCharacter',          # OPTIONAL
      QuoteEscapeCharacter => 'MyQuoteEscapeCharacter',    # OPTIONAL
      RecordDelimiter      => 'MyRecordDelimiter',         # OPTIONAL
    },    # OPTIONAL
    CompressionType => 'NONE',    # values: NONE, GZIP, BZIP2; OPTIONAL
    JSON            => {
      Type => 'DOCUMENT',         # values: DOCUMENT, LINES; OPTIONAL
    },    # OPTIONAL
    Parquet => {

    },    # OPTIONAL
  },
  Key                 => 'MyObjectKey',
  OutputSerialization => {
    CSV => {
      FieldDelimiter       => 'MyFieldDelimiter',          # OPTIONAL
      QuoteCharacter       => 'MyQuoteCharacter',          # OPTIONAL
      QuoteEscapeCharacter => 'MyQuoteEscapeCharacter',    # OPTIONAL
      QuoteFields          => 'ALWAYS', # values: ALWAYS, ASNEEDED; OPTIONAL
      RecordDelimiter      => 'MyRecordDelimiter',    # OPTIONAL
    },    # OPTIONAL
    JSON => {
      RecordDelimiter => 'MyRecordDelimiter',    # OPTIONAL
    },    # OPTIONAL
  },
  ExpectedBucketOwner => 'MyAccountId',    # OPTIONAL
  RequestProgress     => {
    Enabled => 1,                          # OPTIONAL
  },    # OPTIONAL
  SSECustomerAlgorithm => 'MySSECustomerAlgorithm',    # OPTIONAL
  SSECustomerKey       => 'MySSECustomerKey',          # OPTIONAL
  SSECustomerKeyMD5    => 'MySSECustomerKeyMD5',       # OPTIONAL
  ScanRange            => {
    End   => 1,                                        # OPTIONAL
    Start => 1,                                        # OPTIONAL
  },    # OPTIONAL
);

# Results:
my $Payload = $SelectObjectContentOutput->Payload;

# Returns a L<Paws::S3::SelectObjectContentOutput> object.

Values for attributes that are native types (Int, String, Float, etc) can passed as-is (scalar values). Values for complex Types (objects) can be passed as a HashRef. The keys and values of the hashref will be used to instance the underlying object. For the AWS API documentation, see https://docs.aws.amazon.com/goto/WebAPI/s3/SelectObjectContent

ATTRIBUTES

REQUIRED Bucket => Str

The S3 bucket.

ExpectedBucketOwner => Str

The account ID of the expected bucket owner. If the bucket is owned by a different account, the request will fail with an HTTP 403 (Access Denied) error.

REQUIRED Expression => Str

The expression that is used to query the object.

REQUIRED ExpressionType => Str

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

Valid values are: "SQL"

REQUIRED InputSerialization => Paws::S3::InputSerialization

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

REQUIRED Key => Str

The object key.

REQUIRED OutputSerialization => Paws::S3::OutputSerialization

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

RequestProgress => Paws::S3::RequestProgress

Specifies if periodic request progress information should be enabled.

ScanRange => Paws::S3::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.

SSECustomerAlgorithm => Str

The SSE Algorithm used to encrypt the object. For more information, see Server-Side Encryption (Using Customer-Provided Encryption Keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html).

SSECustomerKey => Str

The SSE Customer Key. For more information, see Server-Side Encryption (Using Customer-Provided Encryption Keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html).

SSECustomerKeyMD5 => Str

The SSE Customer Key MD5. For more information, see Server-Side Encryption (Using Customer-Provided Encryption Keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html).

SEE ALSO

This class forms part of Paws, documenting arguments for method SelectObjectContent in Paws::S3

BUGS and CONTRIBUTIONS

The source code is located here: https://github.com/pplu/aws-sdk-perl

Please report bugs to: https://github.com/pplu/aws-sdk-perl/issues