在清单列表发布后,Manifest 文件将发布到目标存储桶中的以下位置。
destination-prefix
//
amzn-s3-demo-source-bucket
config-ID
/YYYY-MM-DDTHH-MMZ
/manifest.jsondestination-prefix
//
amzn-s3-demo-source-bucket
config-ID
/YYYY-MM-DDTHH-MMZ
/manifest.checksumdestination-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 文件。 -
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
Manifest 文件 manifest.json
和 symlink.txt
描述清单文件的位置。每次交付新的清单列表时,它均带有一组新的 Manifest 文件。这些文件可能会互相覆盖。在启用了版本控制的存储桶中,Amazon S3 会创建清单文件的新版本。
manifest.json
文件中包含的每个 Manifest 均提供了有关清单的元数据和其他基本信息。这些信息包含:
-
源存储桶名称
-
目标存储桶名称
-
清单的版本
-
采用纪元日期格式的创建时间戳,包含清单报告生成过程开始扫描存储桶的开始时间和日期
-
清单文件的格式和架构
-
目标存储桶中清单文件的列表
每当写入 manifest.json
文件后,它都会附带一个 manifest.checksum
文件(作为 manifest.json
文件内容的 MD5 哈希)。
例 manifest.json
文件中的清单 Manifest
以下示例显示了采用 CSV、ORC 和 Parquet 格式的清单的 manifest.json
文件中的清单列表。
下面是 CSV 格式清单的 manifest.json
文件中的 Manifest 示例。
{
"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"
}
]
}
symlink.txt
文件是一个与 Apache Hive 兼容的清单文件,它使 Hive 能够自动发现清单文件及其关联的数据文件。与 Hive 兼容的清单文件可以与 Hive 兼容的服务 Athena 和 Amazon Redshift Spectrum 一起使用。它还可用于与 Hive 兼容的应用程序,包括 Presto
重要
symlink.txt
Apache Hive 兼容的清单文件当前不适用于 AWS Glue。
对于 ORC 和 Parquet 格式的清单文件,不支持使用 Apache Hivesymlink.txt
文件。