文件元信息是对文件(Object)的属性描述,包括HTTP标准属性(HTTP Header)和用户自定义元数据(User Meta)两种。其中,HTTP Header可用于自定义HTTP请求的策略,用户自定义元数据可用于标识文件的用途或属性等。您可以通过set-meta命令为已上传的文件(Object)设置、修改或者删除文件元信息。

说明
  • 本文各命令行示例均基于Linux 64位系统,其他系统请将命令开头的./ossutil64替换成对应的Binary名称。详情请参见命令行工具ossutil快速入门
  • 通过set-meta命令设置或更新文件元信息后,您可以通过stat命令查看文件元信息。更多信息,请参见stat

命令格式

./ossutil64 set-meta oss://bucketname[/prefix] 
[header:value#header:value...]
[--update]
[--delete] 
[-r,--recursive] 
[-f, --force]
[--object-file, <value>]
[--snapshot-path, <value>]
[--disable-ignore-error]
[--version <value>]
[--include <value>]
[--exclude <value>]

参数及选项说明如下:

配置项 说明
bucketname Bucket名称。
prefix Bucket下的资源,例如目录、文件等。
header:value#header:value... 以键值对的形式标识元信息。其中,Header不区分大小写,但Value区分大小写。如果需要设置多组元信息,则各组元信息之间以井号(#)连接。例如Cache-Control:no-cache#Expires:2022-10-12T00:00:00.000Z
当前可选的Header列表如下:
Headers:
      Expires(time.RFC3339:2006-01-02T15:04:05Z07:00)
      X-Oss-Object-Acl
      Origin
      X-Oss-Storage-Class
      Content-Encoding
      Cache-Control
      Content-Disposition
      Accept-Encoding
      X-Oss-Server-Side-Encryption
      Content-Type
      以及以X-Oss-Meta-开头的header
关于Header的用法,请参见管理文件元信息
--update 更新文件元信息。该选项可简写为-u,且不能与--delete选项同时使用。
--delete 删除文件元信息。该选项不能与--update选项同时使用。
-r,--recursive 如果指定该选项时,ossutil将为所有与prefix匹配的文件设置元信息。如果不指定该选项,则ossutil只为指定文件设置元信息。
-f, --force 强制操作,不进行询问提示。
--object-file 该选项用于批量设置、更新或删除多个Object的元信息。使用该选项的步骤如下:
  1. 您需要指定.txt或者XML格式的本地文件,并在本地文件中换行填写所有待设置、更新或删除元信息的Object。
  2. ossutil读取本地文件中的所有Object,然后对这些Object进行元信息的设置、更新或删除操作。
说明 当其中一个Object操作出现错误时,ossutil会将该Object的错误信息记录到report文件,并继续设置其他Object的元信息。成功操作的Object信息不会被记录到report文件中。
--snapshot-path 如果指定该选项,则只对本次操作的Object生成快照。如果操作的Object已经存在快照信息,则忽略本次操作。
说明 该选项需结合-r,--recursive--object-file选项使用。
--disable-ignore-error 批量操作时不忽略错误。
--version-id Object的指定版本。仅适用于已开启或暂停版本控制状态Bucket下的Object。
--include 包含符合指定条件的所有Object。
--exclude 不包含任何符合指定条件的Object。

设置或更新元信息

在以下未包含--update选项的使用示例中,如果未指定header:value#header:value...选项,则仅保留以X-Oss-Meta-开头的