对象存储服务 OBS-列举多版本对象(Java SDK):请求参数说明

时间:2024-12-19 16:31:14

请求参数说明

表1 请求参数列表

参数名称

参数类型

是否必选

描述

request

ListVersionsRequest

必选

参数解释

列举多版本对象请求参数,详见ListVersionsRequest

表2 请求参数ListVersionsRequest成员说明

参数名称

参数类型

是否必选

描述

bucketName

String

必选

参数解释

桶名。

约束限制:

  • 桶的名字需全局唯一,不能与已有的任何桶名称重复,包括其他用户创建的桶。
  • 桶命名规则如下:
    • 3~63个字符,数字或字母开头,支持小写字母、数字、“-”、“.”。
    • 禁止使用IP地址。
    • 禁止以“-”或“.”开头及结尾。
    • 禁止两个“.”相邻(如:“my..bucket”)。
    • 禁止“.”和“-”相邻(如:“my-.bucket”和“my.-bucket”)。
  • 同一用户在同一个区域多次创建同名桶不会报错,创建的桶属性以第一次请求为准。

默认取值:

prefix

String

可选

参数解释:

限定返回的对象名必须带有prefix前缀。

取值范围:

长度大于0且不超过1024的字符串。

默认取值:

keyMarker

String

可选

参数解释:

列举多版本对象的起始位置,返回的对象列表将是对象名按照字典序排序后该参数以后的所有对象。

约束限制:

该字段仅用于多版本列举。

取值范围:

上次请求返回体的nextKeyMarker值。

默认取值:

maxKeys

int

可选

参数解释:

列举多版本对象的最大数目,返回的对象列表将是按照字典顺序的最多前maxKeys个对象。

取值范围:

1~1000,当超出范围时,按照默认的1000进行处理。

默认取值:

1000

delimiter

String

可选

参数解释:

将对象名进行分组的分隔符。如果指定了prefix,从prefix到第一次出现delimiter间具有相同字符串的对象名会被分成一组,形成一条CommonPrefixes;如果没有指定prefix,从对象名的首字符到第一次出现delimiter间具有相同字符串的对象名会被分成一组,形成一条CommonPrefixes。

例如,桶中有3个对象,分别为abcd、abcde、bbcde。如果指定delimiter为d,prefix为a,abcd、abcde会被分成一组,形成一条前缀为abcd的commonPrefix;如果只指定delimiter为d,abcd、abcde会被分成一组,形成一条前缀为abcd的commonPrefix,而bbcde会被单独分成一组,形成一条前缀为bbcd的commonPrefix。

对于并行文件系统,不携带此参数时默认列举是递归列举此目录下所有内容,会列举子目录。在大数据场景下(目录层级深、目录下文件多)的列举,建议设置[delimiter=/],只列举当前目录下的内容,不列举子目录,提高列举效率。

取值范围:

长度大于0且不超过1024的字符串。

默认取值:

versionIdMarker

String

可选

参数解释:

与keyMarker配合使用,返回的对象列表将是对象名和版本号按照字典序排序后该参数以后的所有对象。keyMarker指定对象名,versionIdMarker指定该对象的具体版本号,两者共同确定对象版本。

约束限制:

  • 该字段只适用于多版本列举场景。
  • 如果versionIdMarker不是keyMarker的一个版本号,则该参数无效。

取值范围:

对象的版本号,即上次请求返回体的nextVersionIdMarker值。

默认取值:

encodingType

String

可选

参数解释:

对响应中的部分元素进行指定类型的编码。如果 delimiter、keyMarker、prefix、nextKeyMarker 和 key 包含 xml 1.0 标准不支持的控制字符,可通过设置 encodingType 对响应中的 delimiter、keyMarker、prefix(包括 commonPrefixes 中的 prefix)、nextKeyMarker 和 key 进行编码。

取值范围:

可选值为url。

默认取值:

无,不设置则不编码。

support.huaweicloud.com/sdk-java-devg-obs/obs_21_1007.html