인벤토리 목록 찾기
매니페스트 파일은 인벤토리 목록이 게시될 때 대상 버킷의 다음 위치에 게시됩니다.
destination-prefix
/amzn-s3-demo-source-bucket
/config-ID
/YYYY-MM-DDTHH-MMZ
/manifest.json
destination-prefix
/amzn-s3-demo-source-bucket
/config-ID
/YYYY-MM-DDTHH-MMZ
/manifest.checksum
destination-prefix
/amzn-s3-demo-source-bucket
/config-ID
/hive/dt=YYYY-MM-DD-HH-MM
/symlink.txt
-
destination-prefix
는 인벤토리 구성에서 선택적으로 지정되는 객체 키 이름 접두사이며, 이 접두사를 사용하여 대상 버킷 내의 일반적인 위치에 있는 모든 인벤토리 목록 파일을 그룹화할 수 있습니다.
-
amzn-s3-demo-source-bucket
은 인벤토리 목록에 객체가 열거되는 버킷입니다. 여러 소스 버킷에서 복수의 인벤토리 보고서가 동일한 대상 버킷으로 전송되는 경우 충돌을 방지하기 위해 소스 버킷 이름이 추가됩니다.
-
config-ID
는 동일한 소스 버킷에서 동일한 대상 버킷으로 복수의 인벤토리 보고서가 전송되는 경우 이들의 충돌을 방지하기 위해 추가됩니다. config-ID
는 인벤토리 보고서 구성에서 비롯되며 설정 중에 정의된 보고서의 이름입니다.
-
YYYY-MM-DDTHH-MMZ
는 인벤토리 보고서 생성이 버킷 스캔을 시작한 시작 시간 및 날짜로 구성된 타임스탬프입니다(예: 2016-11-06T21-32Z
).
-
manifest.json
은 매니페스트 파일입니다.
-
manifest.checksum
은 manifest.json
파일 콘텐츠의 MD5 해시입니다.
-
symlink.txt
는 Apache Hive 호환 매니페스트 파일입니다.
인벤토리 목록은 매일 또는 매주 대상 버킷의 다음 위치에 게시됩니다.
destination-prefix
/amzn-s3-demo-source-bucket
/config-ID
/data/example-file-name.csv.gz
...
destination-prefix
/amzn-s3-demo-source-bucket
/config-ID
/data/example-file-name-1.csv.gz
-
destination-prefix
는 인벤토리 구성에서 선택적으로 지정되는 객체 키 이름 접두사이며, 대상 버킷 내의 일반적인 위치에 있는 모든 인벤토리 목록 파일을 그룹화하는 데 사용할 수 있습니다.
-
amzn-s3-demo-source-bucket
은 인벤토리 목록에 객체가 열거되는 버킷입니다. 여러 소스 버킷에서 복수의 인벤토리 보고서가 동일한 대상 버킷으로 전송되는 경우 충돌을 방지하기 위해 소스 버킷 이름이 추가됩니다.
-
example-file-name
.csv.gz
는 CSV 인벤토리 파일 중 하나입니다. ORC 인벤토리 이름은 파일 이름 확장자 .orc
로 끝나고, Parquet 인벤토리 이름은 파일 이름 확장자 .parquet
로 끝납니다.
인벤토리 매니페스트
매니페스트 파일 manifest.json
및 symlink.txt
는 인벤토리 파일의 위치에 대해 설명합니다. 새 인벤토리 목록이 제공될 때마다 새 매니페스트 파일 세트가 함께 제공됩니다. 이러한 파일은 서로 덮어쓸 수도 있습니다. Amazon S3는 버전 관리를 사용하는 버킷에서 매니페스트 파일의 새 버전을 생성합니다.
manifest.json
파일에 포함된 각 매니페스트에는 인벤토리에 대한 기타 기본 정보와 메타데이터가 들어 있습니다. 이 정보에는 다음 사항이 포함됩니다.
manifest.json
파일이 쓰여질 때마다 manifest.checksum
파일 콘텐츠의 MD5 해시인 manifest.json
파일이 수반됩니다.
예 manifest.json
파일의 인벤토리 매니페스트
다음 예제에서는 CSV, ORC, Parquet 형식 인벤토리에 대한 manifest.json
파일의 인벤토리 매니페스트를 보여 줍니다.
- CSV
-
다음은 CSV 형식 인벤토리에 대해 manifest.json
파일에 있는 매니페스트의 예입니다.
{
"sourceBucket": "amzn-s3-demo-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/amzn-s3-demo-source-bucket
/2016-11-06T21-32Z/files/939c6d46-85a9-4ba8-87bd-9db705a579ce.csv.gz",
"size": 2147483647,
"MD5checksum": "f11166069f1990abeb9c97ace9cdfabc"
}
]
}
- ORC
-
다음은 ORC 형식 인벤토리에 대해 manifest.json
파일에 있는 매니페스트의 예입니다.
{
"sourceBucket": "amzn-s3-demo-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/amzn-s3-demo-source-bucket
/data/d794c570-95bb-4271-9128-26023c8b4900.orc",
"size": 56291,
"MD5checksum": "5925f4e78e1695c2d020b9f6eexample"
}
]
}
- PARQUET
-
다음은 Parquet 인벤토리에 대해 manifest.json
파일에 있는 매니페스트의 예입니다.
{
"sourceBucket": "amzn-s3-demo-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/amzn-s3-demo-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 형식 인벤토리 파일에 지원되지 않습니다.