在“存储桶列表”页面点击“属性”>“清单配置”,进入“清单配置”页面。在该页面,用户可以配置存储清单功能。
通过OOS 存储桶清单功能可以获取存储桶(Bucket)中指定文件(Object)的大小、存储类型等信息。相对于GET Bucket (List Objects)接口,存储桶清单可以按每天或者每周以CSV的形式输出指定文件的相关信息,且不会影响存储桶的请求速率。在需要列举海量文件(Object)的场景中,推荐使用存储桶清单功能。
说明每个存储桶最多配置10条清单规则。配置清单的存储桶和存储清单结果文件的存储桶可以不同。
项目 | 描述 |
---|---|
规则名称 | 清单名称。 |
文件前缀 | 清单规则匹配的文件前缀。 |
存储清单的存储桶 | 目标存储桶,导出的清单结果存储的存储桶。 |
清单报告存储路径 | 清单结果文件的存储路径前缀。 |
导出频率 | 清单结果导出的周期。 |
上次导出 | 上次导出清单结果的时间。 |
操作 | 可以对清单规则进行停用/启用、编辑、删除。 |
清单规则配置
点击“添加规则”,可以添加存储桶清单规则。
说明*表示必填字段,不带*表示可选字段。
项目 描述 规则名称 清单名称。清单名称在当前存储桶下必须唯一。
取值:1~64 个字符,只允许使用小写字母、数字、短横线(-)和下划线(_),且不能以短横线(-)或下划线(_)开头或结尾。
文件前缀 清单规则匹配的文件前缀。
取值:0~1024个字符。
存储清单的存储桶 导出的清单结果文件存储的存储桶。
配置清单的存储桶和存储清单结果文件的存储桶可以相同,也可以不同。
清单报告存储路径 清单结果文件的存储路径前缀。
如果将清单结果文件直接保存在存储桶根目录下,这项不填写。
如果将清单结果文件保存在存储桶非根目录下,需要填写不包括存储桶名字在内的完整路径。
例如将清单结果文件保存在存储桶example的dir目录下,该字段填写dir;如果保存在存储桶example的dir/dir1目录下,则该字段填写dir/dir1。
取值:0~512个字符。
导出频率 清单结果导出的周期。
每天:按天导出清单文件。
每周:按周导出清单文件。清单规则开启当天会根据清单规则启动一次清单导出任务,第二天启动周期性清单导出任务。例如周一开启清单规则,周一当天会启动清单导出任务,后期会按每周二启动清单导出任务。
说明当前的清单结果文件导出完成后,才会创建新的清单任务。如果文件较多时(数量大于10亿),建议按周导出清单结果文件。
清单内容可选信息 设置清单结果中包含配置项,可以设置多个配置项:
文件大小:文件的大小。
存储类型:文件存储的类型。
最后更新日期:文件的最后一次修改时间。
ETag:文件的ETag值,用于标识文件的内容。
分片上传状态:是否为通过分片上传方式上传的文件。
说明如果未设置配置项,清单默认输出源存储桶和Key(文件名称)。
清单结果文件
存储桶清单配置后,清单结果文件会按指定的周期输出,按下列目录结构输出:
dest_bucket
└──destination-prefix
└──src_bucket
└──inventory_id
├──YYYY-MM-DDTHH-MMZ
│ ├──manifest.json
│ └──manifest.checksum
└──data
└──UUID.csv.gz
名称 描述 dest_bucket 该目录为清单的目标存储桶,清单结果将存储在此存储桶。 destination-prefix 该目录为清单结果的存储路径前缀。如果清单规则配置的时候未指定该前缀,则省略该目录。 src_bucket 该目录为源存储桶,即配置清单的存储桶。 inventory_id 该目录为清单名称。 YYYY-MM-DDTHH-MMZ 该目录为开始扫描源存储桶的时间,格林威治时间戳,如2023-08-24T16-00Z。该目录下包含了manifest.json和manifest.checksum文件。 manifest.json 提供了有关清单的元数据和其他基本信息,其中包含清单结果压缩文件的MD5值,待清单结果文件生成后,才会生成汇总清单结果文件的manifest文件。 manifest.checksum 包含manifest.json文件MD5值的文件。 data 该目录下存放了清单结果文件,清单结果文件格式为使用GZIP压缩的CSV文件。
注意当源存储桶中文件数量较多时,为方便用户下载和处理数据,程序会自动将清单文件切分成多个CSV压缩文件。CSV压缩文件按照uuid.csv.gz、uuid-1.csv.gz、uuid-2.csv.gz的顺序依次递增。您可以从manifest.json文件中获取CSV文件列表,然后按照以上顺序依次解压CSV文件并读取清单数据。每个文件只会出现在一个清单结果文件中。
UUID.csv.gz 清单结果文件,存储在data文件夹中,包含清单功能导出的文件信息。报告以.csv.gz的格式进行存储,可能存在多个清单结果文件,每生成一个,就在data目录下新增一个文件。
manifest.json:提供了有关清单的元数据和其他基本信息。示例如下:
{
"destinationBucket": "testbucket1",
"fileSchema": "Bucket, Key, Size, StorageClass, LastModifiedDate, ETag, IsMultipartUploaded",
"creationTimestamp": "1692856559088",
"files": [
{
"MD5checksum": "3970e82605c7d109bb348fc94e9eecc0",
"size": 20,
"key": "abc/testbucket2/bucketempty/data/8b87dce0-26a5-4377-ab63-70e484764ba5.csv.gz"
}
],
"sourceBucket": "testbucket2",
"version": "2023-08-30",
"fileFormat": "CSV"
}
manifest.json描述
名称 描述 destinationBucket 存放清单结果的目标存储桶。 fileSchema 清单结果包含的字段:
Bucket:清单文件所在的存储桶。
Key:清单文件名称。
Size:文件大小。
StorageClass:文件存储的类型。
LastModifiedDate:文件最后一次修改日期。
ETag:文件的ETag值。
IsMultipartUploaded:文件是否通过分片上传生成。如果是,则该字段值为TRUE,否则为FALSE。
说明用户在“清单内容可选信息”配置了Size、StorageClass、LastModifiedDate、ETag、IsMultipartUploaded,fileSchema中才会出现对应字段。
creationTimestamp 扫描源存储桶的时间,UNIX时间戳,精确到毫秒。 files 清单结果文件的内容:
MD5checksum:清单结果文件的MD5。
size:清单结果文件的大小,单位字节。
key:清单结果文件的名称,格式为:destination-prefix/src_bucket/inventory_id/data/文件名,用户配置了destination-prefix,destination-prefix才会出现在路径中。
sourceBucket 源存储桶,即配置清单规则的存储桶。 version 清单版本号,值为2023-08-30。 fileFormat 清单结果文件格式。
清单结果输出内容如下例所示,该例为“清单内容可选信息”中选择了所有可选信息输出的示例:
清单结果从左到右字段分别是:
字段名称 描述 Bucket 清单文件所在的存储桶。 Key 清单文件名称
文件名称使用URL编码,需要用户自行解码查看。
Size 文件大小。 StorageClass 文件存储的类型:
Standard:标准存储。
Standard_IA:低频访问存储。
LastModifiedDate 文件最后一次修改日期。 ETag 文件的ETag值。
文件创建的时会生成一个ETag值,用于标识Object的内容。
IsMultipartUploaded 文件是否通过分片上传生成:
TRUE:通过分片上传。
FALSE:不是通过分片上传。