Yandex Cloud
Search
Contact UsGet started
  • Pricing
  • Customer Stories
  • Documentation
  • Blog
  • All Services
  • System Status
    • Featured
    • Infrastructure & Network
    • Data Platform
    • Containers
    • Developer tools
    • Serverless
    • Security
    • Monitoring & Resources
    • AI for business
    • Business tools
  • All Solutions
    • By industry
    • By use case
    • Economics and Pricing
    • Security
    • Technical Support
    • Start testing with double trial credits
    • Cloud credits to scale your IT product
    • Gateway to Russia
    • Cloud for Startups
    • Center for Technologies and Society
    • Yandex Cloud Partner program
  • Pricing
  • Customer Stories
  • Documentation
  • Blog
© 2025 Direct Cursus Technology L.L.C.
Yandex Object Storage
  • Pricing policy
  • Terraform reference
    • API authentication
      • How to use the API
      • Signing requests
      • Getting started with the S3 API
        • All services and methods
          • All methods
          • upload
          • get
          • patch
          • copy
          • getObjectMeta
          • delete
          • deleteMultipleObjects
          • options
          • selectObjectContent
          • putObjectRetention
          • putObjectLegalHold
          • getObjectRetention
          • getObjectLegalHold
          • putObjectTagging
          • getObjectTagging
          • deleteObjectTagging
        • Common request headers
        • Common response headers
        • Responses
  • Monitoring metrics
  • Audit Trails events
  • Bucket logs
  • Release notes
  • FAQ

In this article:

  • Request
  • Path parameters
  • Request parameters
  • Headers
  • Data schema
  • Response
  • Headers
  • Response codes
  • Data schema
  1. API reference
  2. REST (Amazon S3-compatible)
  3. REST
  4. Object
  5. selectObjectContent

selectObjectContent method

Written by
Yandex Cloud
Updated at November 7, 2025
  • Request
    • Path parameters
    • Request parameters
    • Headers
    • Data schema
  • Response
    • Headers
    • Response codes
    • Data schema

Filters and returns the contents of an Object Storage object using an S3 Select request.

Warning

To be able to make S3 Select requests, contact support. You must also have the s3:GetObject permission. For more information, see Bucket policy.

Features of objects you can query:

  • Objects in CSV, JSON, and Parquet formats are supported.

  • UTF-8 encoded objects are supported.

  • GZIP and BZIP2 compression methods are supported for CSV files. For Parquet files, columnar compression with GZIP, Snappy, and ZSTD is supported.

  • Objects can be protected by server-side encryption.

For objects that are encrypted with managed encryption keys stored in YC Key Management Service (SSE-KMS), server-side encryption is transparent. This means you do not need to specify anything else.

For more information on getting started with the API and the general request format, see How to use the S3 API.

RequestRequest

POST /{bucket}/{key}?select&select-type=2 HTTP/2

Path parametersPath parameters

Parameter Description
bucket Bucket name.
key Object key.

Request parametersRequest parameters

Parameter Description
select Required parameter that indicates the type of operation.
select-type Optional parameter that indicates the type of query.

HeadersHeaders

Use the appropriate common headers in your request.

Data schemaData schema

Request parameters are provided in XML format:

<ListBucketResult
          xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
          <KeyCount>1</KeyCount>
          <Name>my-sample-bucket</Name>
          <Prefix></Prefix>
          <MaxKeys>1000</MaxKeys>
          <IsTruncated>false</IsTruncated>
          <Contents>
              <Key>text.txt</Key>
              <LastModified>2025-05-15T07:23:08.030Z</LastModified>
              <Owner>
                  <ID>ajegtlf2q28a********</ID>
                  <DisplayName>ajegtlf2q28a********</DisplayName>
              </Owner>
              <ETag>&#34;f75a361db63aa4722fb8e083********&#34;</ETag>
              <Size>103</Size>
              <StorageClass>STANDARD</StorageClass>
              <TagSet></TagSet>
          </Contents>
      </ListBucketResult>
Tag Description
SelectObjectContentRequest Root-level tag for providing request parameters.

Required: yes.

Path: /SelectObjectContentRequest.
Expression SQL expression used to query object data.

Data type: string.

Required: yes.

Path: /SelectObjectContentRequest/Expression.
ExpressionType Expression type used for the request.

Data type: string.

Acceptable values: SQL.

Required: yes.

Path: /SelectObjectContentRequest/ExpressionType.
InputSerialization Description of data format in the requested object.

Data type: InputSerialization.

Required: yes.

Path: /SelectObjectContentRequest/InputSerialization.
OutputSerialization Description of the returned data format.

Data type: OutputSerialization.

Required: yes.

Path: /SelectObjectContentRequest/OutputSerialization.
RequestProgress Tag that indicates whether regular notifications on the request progress are enabled.

Data type: RequestProgress.

Required: no.

Path: /SelectObjectContentRequest/RequestProgress.
ScanRange Tag that specifies the byte range of the object to get the records from. A record is processed when its first byte is within the range. It is used only for objects in CSV format.

Data type: ScanRange.

Required: no.

Path: /SelectObjectContentRequest/ScanRange.

ResponseResponse

HeadersHeaders

Responses can only contain common headers.

Response codesResponse codes

For a list of possible responses, see Responses.

A successful response contains additional data in XML format with the schema described below.

Data schemaData schema

<ListBucketResult
          xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
          <KeyCount>1</KeyCount>
          <Name>my-sample-bucket</Name>
          <Prefix></Prefix>
          <MaxKeys>1000</MaxKeys>
          <IsTruncated>false</IsTruncated>
          <Contents>
              <Key>text.txt</Key>
              <LastModified>2025-05-15T07:23:08.030Z</LastModified>
              <Owner>
                  <ID>ajegtlf2q28a********</ID>
                  <DisplayName>ajegtlf2q28a********</DisplayName>
              </Owner>
              <ETag>&#34;f75a361db63aa4722fb8e083********&#34;</ETag>
              <Size>103</Size>
              <StorageClass>STANDARD</StorageClass>
              <TagSet></TagSet>
          </Contents>
      </ListBucketResult>
Tag Description
Payload Root-level tag used for providing response parameters.

Path: /Payload.
Cont Message indicating the request is being processed.

Path: /Payload/Cont.
End Message indicating the request has been processed.

Path: /Payload/End.
Progress Information about the request progress.

Path: /Payload/Progress.
Records Request result.
Path: /Payload/Records.
Stats Statistics on the processed data. It is sent once at the end of the request.
Path: /Payload/Stats.

See alsoSee also

  • Getting started with the AWS S3 API in Yandex Object Storage

  • Debugging requests using the AWS CLI

  • Example of sending a signed request using curl

  • Code example for generating a signature

Was the article helpful?

Previous
options
Next
putObjectRetention
© 2025 Direct Cursus Technology L.L.C.