Amazon Simple Storage Service
개발자 안내서 (API 버전 2006-03-01)

객체에서 콘텐츠 선택

Amazon S3 Select에서는 간단한 구조화 질의 언어(SQL) 문을 사용하여 Amazon S3 객체의 콘텐츠를 필터링하고 필요한 데이터 하위 집합만 검색할 수 있습니다. Amazon S3 Select를 통해 이 데이터를 필터링함으로써 Amazon S3가 전송하는 데이터의 양을 줄일 수 있고 따라서 이 데이터를 검색하는 데 드는 비용과 지연 시간이 감소됩니다.

Amazon S3 Select는 CSV, JSON 또는 Apache Parquet 형식으로 저장된 객체에 작동합니다. 이 기능은 GZIP 또는 BZIP2로 압축된 객체(CSV 및 JSON 객체에 한함)와 서버 측 암호화된 객체에도 사용할 수 있습니다. 결과 형식을 CSV 또는 JSON으로 지정할 수 있으며 결과의 레코드를 어떻게 구분할 것인지 결정할 수 있습니다.

요청에서 SQL 표현식을 Amazon S3로 전달합니다. Amazon S3 Select는 SQL의 하위 집합을 지원합니다. Amazon S3 Select가 지원하는 SQL 요소에 대한 자세한 내용은 Amazon S3 Select와 Glacier Select의 SQL 참조 단원을 참조하십시오.

AWS SDK, SELECT Object Content REST API, AWS Command Line Interface(AWS CLI) 또는 Amazon S3 콘솔을 사용하여 SQL 쿼리를 실행할 수 있습니다. Amazon S3 콘솔은 반환되는 데이터의 양을 40MB로 제한합니다. 더 많은 데이터를 검색하려면 AWS CLI 또는 API를 사용하십시오.

요구 사항 및 제한

다음은 Amazon S3 Select를 사용하기 위한 요구 사항입니다.

  • 쿼리를 하는 객체에 대해 s3:GetObject 권한이 있어야 합니다.

  • 사용자가 쿼리하는 객체가 고객 제공 암호화 키(SSE-C)로 암호화된 경우 https를 사용해야 하고 요청에서 암호화 키를 제공해야 합니다.

Amazon S3 Select를 사용할 때는 다음 제한이 적용됩니다.

  • SQL 표현식의 최대 길이는 256KB입니다.

  • 결과에 표시되는 레코드의 최대 길이는 1MB입니다.

Amazon S3 Select를 Parquet 객체와 함께 사용할 경우 추가 제한 사항:

  • Amazon S3 Select는 GZIP 또는 Snappy를 사용한 열 기반 압축만 지원합니다. Amazon S3 Select는 Parquet 객체의 전체 객체 압축을 지원하지 않습니다.

  • Amazon S3 Select는 Parquet 출력을 지원하지 않습니다. 출력 형식은 CSV 또는 JSON으로 지정해야 합니다.

  • 최대 무압축 블록 크기는 256MB입니다.

  • 최대 열 수는 100개입니다.

  • 객체의 스키마에 지정된 데이터 형식을 사용해야 합니다.

  • 반복 필드를 선택할 경우 마지막 값만 반환됩니다.

요청의 구성

요청을 구성할 때는 InputSerialization 객체를 사용하여 쿼리되는 객체의 세부 정보를 제공합니다. OutputSerialization 객체를 사용하여 결과가 어떻게 반환될 것인지에 대한 세부 정보를 제공합니다. Amazon S3가 요청을 필터링할 때 사용하는 SQL 표현식도 포함시킵니다.

Amazon S3 Select 요청의 구성에 대한 자세한 내용은 Amazon Simple Storage Service API ReferenceSELECT 객체 콘텐츠 단원을 참조하십시오. 또한, 다음 단원에서 SDK 코드의 예시 중 하나를 확인할 수 있습니다.

오류

Amazon S3 Select는 쿼리 실행을 시도하는 동안 문제가 발생할 때 오류 코드 및 관련 오류 메시지를 반환합니다. 오류 코드 및 설명 목록은 Amazon Simple Storage Service API ReferenceSELECT 객체 콘텐츠 페이지에 있는 특수 오류 단원을 참조하십시오.

관련 리소스