最近更新时间:2025-11-07 14:52:15
文件元信息是对文件(Object)的属性描述,包括HTTP标准属性(HTTP Header)和用户自定义元数据(User Meta)两种。其中,HTTP Header可用于自定义HTTP请求的策略,用户自定义元数据可用于标识文件的用途或属性等。可以通过set-meta命令为已上传的文件(Object)设置、修改或者删除文件元信息。
以下示例均以Linux为例。
./ks3util set-meta ks3://bucketname[/prefix] <meta>
[-r, --recursive]
[-f, --force]
[-u, --update]
[--delete]
[--include <value>]
[--exclude <value>]
[--time-range <value>]
[-j, --jobs <value>]参数 | 说明 |
|---|---|
bucketname | 操作的桶名。 |
prefix | 操作的对象的前缀。 |
meta | 文件元信息,格式:header:value#header:value。header不区分大小写,但value区分大小写。 |
-r, --recursive | 递归进行操作。当指定该选项时,会对存储空间下所有符合条件的对象进行操作,否则只对路径指定的定的单个对象进行操作。 |
-f, --force | 强制操作,不进行询问提示。 |
-u, --update | 更新操作。 |
--delete | 删除指定的元信息。 |
--include | 包含对象匹配模式,满足匹配规则的文件将会被选中,如:*.jpg。 该选项可以出现多次,多个--include规则取并集。 |
--exclude | 不包含对象匹配模式,满足匹配规则的文件将会被排除,如:*.txt。 该选项可以出现多次,多个--exclude规则取并集。 |
--time-range | 时间段匹配模式,仅匹配最后修改时间在该时间段内的文件。时间段格式为:time1-time2,其中time1、time2需要填写UTC时间,格式为:yyyyMMddHHmmss。 详细请参考通用选项&过滤规则文档。 |
-j, --jobs | 多文件操作时的并发任务数,默认值:5,取值范围:1-10000。 Util2.9.0版本默认值由3改为5。 |
除上述的功能参数,关于Util支持的通用选项参数,详情请参考通用选项&过滤规则文档。
可选的header列表如下:
1. Expires
2. Content-Type
3. Cache-Control
4. Content-Encoding
5. Content-Disposition
6. 以X-Kss-Meta-开头的header(不区分大小写)
示例一:设置全量值meta。
如果用户未指定 --update选项和 --delete选项,KS3Util会设置指定Objects的meta为用户输入的[header:value#header:value…]。
当缺失某个meta信息时,相当于删除meta信息(对于不可删除的headers,即:不以X-Kss-Meta-开头的headers,其值不会改变)。
给单个文件设置meta。
./ks3util set-meta ks3://samplebucket/src-prefix/sample.txt Cache-Control:no-cache#X-Kss-Meta-A:1给指定前缀的所有文件设置meta。
./ks3util set-meta ks3://samplebucket/src-prefix/ Cache-Control:no-cache#X-Kss-Meta-A:1 -r给匹配条件的所有文件设置meta。
./ks3util set-meta ks3://samplebucket/src-prefix/ Cache-Control:no-cache#X-Kss-Meta-A:1 -r --include *.jpg --exclude screenshot*给指定列表文件设置meta。
./ks3util set-meta ks3://samplebucket/ Cache-Control:no-cache#X-Kss-Meta-A --object-file object_keys_fileobject_keys_file为本地.txt文件的路径,文件内填写指定Object列表,每个objectKey为一行(不包含ks3://bucket/ 部分)。
给最后修改时间在指定范围的文件设置meta。
./ks3util set-meta ks3://samplebucket/src-prefix/ Cache-Control:no-cache#X-Kss-Meta-A:1 -r --time-range "20241106120000-20241110120000"示例二:更新文件meta。
如果用户设置--update选项,KS3Util会更新指定Objects的指定header为输入的value值,value值不可以为空。未指定的header的value值不会改变。此时不支持--delete选项。
给单个文件更新meta。
./ks3util set-meta ks3://samplebucket/src-prefix/sample.txt Cache-Control:no-cache#X-Kss-Meta-A:1 -u给指定前缀的所有文件更新meta。
./ks3util set-meta ks3://samplebucket/src-prefix/ Cache-Control:no-cache#X-Kss-Meta-A:1 -r -u给匹配条件的所有文件更新meta。
./ks3util set-meta ks3://samplebucket/src-prefix/ Cache-Control:no-cache#X-Kss-Meta-A:1 -r -u --include *.jpg --exclude screenshot*给指定列表文件更新meta。
./ks3util set-meta ks3://samplebucket/ Cache-Control:no-cache#X-Kss-Meta-A --object-file object_keys_file -uobject_keys_file为本地.txt文件的路径,文件内填写指定Object列表,每个objectKey为一行(不包含ks3://bucket/ 部分)。
给最后修改时间在指定范围的文件更新meta。
./ks3util set-meta ks3://samplebucket/src-prefix/ Cache-Control:no-cache#X-Kss-Meta-A:1 -r -u --time-range "20241106120000-20241110120000"示例三:删除meta。
如果用户设置--delete选项,KS3Util会删除指定Objects的指定header(不用指定value值,指定了的value值都会被忽略;对于不可删除的headers,即:不以X-Kss-Meta-开头的headers,该选项不起作用)。此时不支持--update选项。
单个文件删除meta。
./ks3util set-meta ks3://samplebucket/src-prefix/sample.txt X-Kss-Meta-A --delete给指定前缀的所有文件删除meta。
./ks3util set-meta ks3://samplebucket/src-prefix/ X-Kss-Meta-A --delete给匹配条件的所有文件删除meta。
./ks3util set-meta ks3://samplebucket/src-prefix/ X-Kss-Meta-A -r --delete --include *.jpg --exclude screenshot*给指定列表文件删除meta。
./ks3util set-meta ks3://samplebucket/ X-Kss-Meta-A --object-file object_keys_file --deleteobject_keys_file为本地.txt文件的路径,文件内填写指定Object列表,每个objectKey为一行(不包含ks3://bucket/ 部分)。
给最后修改时间在指定范围的文件删除meta。
./ks3util set-meta ks3://samplebucket/src-prefix/ X-Kss-Meta-A --delete --time-range "20241106120000-20241110120000"纯净模式
