인벤토리 목록 찾기 - Amazon Simple Storage Service

인벤토리 목록 찾기

매니페스트 파일은 인벤토리 목록이 게시될 때 대상 버킷의 다음 위치에 게시됩니다.

destination-prefix/source-bucket/config-ID/YYYY-MM-DDTHH-MMZ/manifest.json destination-prefix/source-bucket/config-ID/YYYY-MM-DDTHH-MMZ/manifest.checksum destination-prefix/source-bucket/config-ID/hive/dt=YYYY-MM-DD-HH-MM/symlink.txt
  • destination-prefix는 인벤토리 구성에서 선택적으로 지정되는 객체 키 이름 접두사이며, 이 접두사를 사용하여 대상 버킷 내의 일반적인 위치에 있는 모든 인벤토리 목록 파일을 그룹화할 수 있습니다.

  • source-bucket은 인벤토리 목록에 객체가 열거되는 버킷입니다. 여러 소스 버킷에서 복수의 인벤토리 보고서가 동일한 대상 버킷으로 전송되는 경우 충돌을 방지하기 위해 소스 버킷 이름이 추가됩니다.

  • config-ID는 동일한 소스 버킷에서 동일한 대상 버킷으로 복수의 인벤토리 보고서가 전송되는 경우 이들의 충돌을 방지하기 위해 추가됩니다. config-ID는 인벤토리 보고서 구성에서 비롯되며 설정 중에 정의된 보고서의 이름입니다.

  • YYYY-MM-DDTHH-MMZ는 인벤토리 보고서 생성이 버킷 스캔을 시작한 시작 시간 및 날짜로 구성된 타임스탬프입니다(예: 2016-11-06T21-32Z).

  • manifest.json은 매니페스트 파일입니다.

  • manifest.checksummanifest.json 파일 콘텐츠의 MD5 해시입니다.

  • symlink.txt는 Apache Hive 호환 매니페스트 파일입니다.

인벤토리 목록은 매일 또는 매주 대상 버킷의 다음 위치에 게시됩니다.

destination-prefix/source-bucket/config-ID/data/example-file-name.csv.gz ... destination-prefix/source-bucket/config-ID/data/example-file-name-1.csv.gz
  • destination-prefix는 인벤토리 구성에서 선택적으로 지정되는 객체 키 이름 접두사이며, 대상 버킷 내의 일반적인 위치에 있는 모든 인벤토리 목록 파일을 그룹화하는 데 사용할 수 있습니다.

  • source-bucket은 인벤토리 목록에 객체가 열거되는 버킷입니다. 여러 소스 버킷에서 복수의 인벤토리 보고서가 동일한 대상 버킷으로 전송되는 경우 충돌을 방지하기 위해 소스 버킷 이름이 추가됩니다.

  • example-file-name.csv.gz는 CSV 인벤토리 파일 중 하나입니다. ORC 인벤토리 이름은 파일 이름 확장자 .orc로 끝나고, Parquet 인벤토리 이름은 파일 이름 확장자 .parquet로 끝납니다.

    Amazon S3 Select를 사용하여 인벤토리 목록 파일을 쿼리할 수 있습니다. Amazon S3 콘솔에서 인벤토리 목록의 이름(예: destination-prefix/source-bucket/config-ID/data/example-file-name.csv.gz)을 선택합니다. 그런 다음 객체 작업을 선택하고 S3 Select에서 쿼리를 선택합니다. S3 Select 집계 함수를 사용하여 인벤토리 목록 파일을 쿼리하는 방법에 대한 예는 SUM 예를 참조하세요.

인벤토리 매니페스트

매니페스트 파일 manifest.jsonsymlink.txt는 인벤토리 파일의 위치에 대해 설명합니다. 새 인벤토리 목록이 제공될 때마다 새 매니페스트 파일 세트가 함께 제공됩니다. 이러한 파일은 서로 덮어쓸 수도 있습니다. Amazon S3는 버전 관리를 사용하는 버킷에서 매니페스트 파일의 새 버전을 생성합니다.

manifest.json 파일에 포함된 각 매니페스트에는 인벤토리에 대한 기타 기본 정보와 메타데이터가 들어 있습니다. 이 정보에는 다음 사항이 포함됩니다.

  • 소스 버킷 이름

  • 대상 버킷 이름

  • 인벤토리 버전

  • 시작 시간과 인벤토리 보고서 생성 프로세스가 버킷 스캔을 시작하는 날짜로 구성된 epoch 날짜 형식의 생성 타임스탬프

  • 인벤토리 파일의 형식 및 스키마

  • 대상 버킷에 있는 인벤토리 파일의 목록

manifest.json 파일이 쓰여질 때마다 manifest.checksum 파일 콘텐츠의 MD5 해시인 manifest.json 파일이 수반됩니다.

manifest.json 파일의 인벤토리 매니페스트

다음 예제에서는 CSV, ORC, Parquet 형식 인벤토리에 대한 manifest.json 파일의 인벤토리 매니페스트를 보여 줍니다.

CSV

다음은 CSV 형식 인벤토리에 대해 manifest.json 파일에 있는 매니페스트의 예입니다.

{ "sourceBucket": "example-source-bucket", "destinationBucket": "arn:aws:s3:::example-inventory-destination-bucket", "version": "2016-11-30", "creationTimestamp" : "1514944800000", "fileFormat": "CSV", "fileSchema": "Bucket, Key, VersionId, IsLatest, IsDeleteMarker, Size, LastModifiedDate, ETag, StorageClass, IsMultipartUploaded, ReplicationStatus, EncryptionStatus, ObjectLockRetainUntilDate, ObjectLockMode, ObjectLockLegalHoldStatus, IntelligentTieringAccessTier, BucketKeyStatus, ChecksumAlgorithm, ObjectAccessControlList, ObjectOwner", "files": [ { "key": "Inventory/example-source-bucket/2016-11-06T21-32Z/files/939c6d46-85a9-4ba8-87bd-9db705a579ce.csv.gz", "size": 2147483647, "MD5checksum": "f11166069f1990abeb9c97ace9cdfabc" } ] }
ORC

다음은 ORC 형식 인벤토리에 대해 manifest.json 파일에 있는 매니페스트의 예입니다.

{ "sourceBucket": "example-source-bucket", "destinationBucket": "arn:aws:s3:::example-destination-bucket", "version": "2016-11-30", "creationTimestamp" : "1514944800000", "fileFormat": "ORC", "fileSchema": "struct<bucket:string,key:string,version_id:string,is_latest:boolean,is_delete_marker:boolean,size:bigint,last_modified_date:timestamp,e_tag:string,storage_class:string,is_multipart_uploaded:boolean,replication_status:string,encryption_status:string,object_lock_retain_until_date:timestamp,object_lock_mode:string,object_lock_legal_hold_status:string,intelligent_tiering_access_tier:string,bucket_key_status:string,checksum_algorithm:string,object_access_control_list:string,object_owner:string>", "files": [ { "key": "inventory/example-source-bucket/data/d794c570-95bb-4271-9128-26023c8b4900.orc", "size": 56291, "MD5checksum": "5925f4e78e1695c2d020b9f6eexample" } ] }
PARQUET

다음은 Parquet 인벤토리에 대해 manifest.json 파일에 있는 매니페스트의 예입니다.

{ "sourceBucket": "example-source-bucket", "destinationBucket": "arn:aws:s3:::example-destination-bucket", "version": "2016-11-30", "creationTimestamp" : "1514944800000", "fileFormat": "Parquet", "fileSchema": "message s3.inventory { required binary bucket (UTF8); required binary key (UTF8); optional binary version_id (UTF8); optional boolean is_latest; optional boolean is_delete_marker; optional int64 size; optional int64 last_modified_date (TIMESTAMP_MILLIS); optional binary e_tag (UTF8); optional binary storage_class (UTF8); optional boolean is_multipart_uploaded; optional binary replication_status (UTF8); optional binary encryption_status (UTF8); optional int64 object_lock_retain_until_date (TIMESTAMP_MILLIS); optional binary object_lock_mode (UTF8); optional binary object_lock_legal_hold_status (UTF8); optional binary intelligent_tiering_access_tier (UTF8); optional binary bucket_key_status (UTF8); optional binary checksum_algorithm (UTF8); optional binary object_access_control_list (UTF8); optional binary object_owner (UTF8);}", "files": [ { "key": "inventory/example-source-bucket/data/d754c470-85bb-4255-9218-47023c8b4910.parquet", "size": 56291, "MD5checksum": "5825f2e18e1695c2d030b9f6eexample" } ] }

symlink.txt 파일은 Apache Hive 호환 매니페스트 파일이며 Hive에서 인벤토리 파일과 연결된 데이터 파일을 자동으로 검색할 수 있도록 해줍니다. Hive 호환 매니페스트는 Hive 호환 서비스인 Athena 및 Amazon Redshift Spectrum과 함께 작동합니다. 또한 Presto, Apache Hive, Apache Spark 등과 같은 Hive 호환 애플리케이션과 함께 작동합니다.

중요

symlink.txt Apache Hive 호환 매니페스트 파일은 현재 AWS Glue에서 작동하지 않습니다.

Apache Hive 및 Apache Spark로 symlink.txt 파일 읽기는 ORC 및 Parquet 형식 인벤토리 파일에 지원되지 않습니다.