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

时间:2024-08-27 13:18:06

请求参数说明

表1 请求参数列表

参数名称

参数类型

是否必选

描述

request

ListObjectsRequest

必选

参数解释

列举对象请求参数,详见ListObjectsRequest

表2 ListObjectsRequest

参数

参数类型

是否必选

描述

bucketName

String

必选

参数解释

桶名。

约束限制:

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

默认取值:

prefix

String

可选

参数解释:

列举桶内对象列表时,指定一个前缀,限定返回的对象名必须带有指定前缀。

例如,假设您拥有以下对象:logs/day1、logs/day2、logs/day3和ExampleObject.jpg。如果您将logs/指定为前缀,将返回以字符串“logs/”开头的三个对象。如果您指定空的前缀且请求中没有其他过滤条件,将返回桶中的所有对象。

取值范围:

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

默认取值:

marker

String

可选

参数解释:

列举桶内对象列表时,指定一个标识符,作为列举时的起始位置,从该标识符以后按对象名的字典顺序返回对象列表。

例如,您拥有以下对象:test/a、test/b、test/c、test/d。如果您将test/b指定为标识符,将返回test/c、test/d两个对象。

约束限制:

仅用于非多版本列举。

取值范围:

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

默认取值:

maxKeys

int

可选

参数解释:

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

取值范围:

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

默认取值:

1000

delimiter

String

可选

参数解释:

对象名按照此标识符进行分组。通常与prefix参数搭配使用,如果指定了prefix,从prefix到第一次出现delimiter间具有相同字符串的对象名会被分成一组,形成一条CommonPrefixes;如果没有指定prefix,从对象名的首字符到第一次出现delimiter间具有相同字符串的对象名会被分成一组,形成一条CommonPrefixes。

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

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

取值范围:

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

默认取值:

encodingType

String

可选

参数解释:

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

取值范围:

可选值为url。

默认取值:

无,不设置则不编码。

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