列举已上传的片段

list_parts操作可以列出一个分段上传操作中已经上传完毕但是还未合并的片段信息。使用list_parts操作需要提供object key和upload id,返回的结果最多包含1000个已上传的片段信息,默认返回1000个,可以通过设置 max-parts 参数的值指定返回结果中片段信息的数量。如果已上传的片段信息的数量多于1000个,则返回结果中的 is_truncated 字段为true,可用通过设置part_number_marker参数获取part_number大于该参数的片段信息。

代码示例:

def list_parts(client, bucket_name, object_key, upload_id)
  resp = client.list_parts(
    bucket: bucket_name,
    key: object_key,
    upload_id: upload_id
  )
  puts JSON.pretty_generate(resp.to_h)
rescue StandardError => e
  puts "Error listing list_parts: #{e.message}"
end

list_parts可设置的参数如下:

参数 类型 说明 是否必要
bucket String 执行本操作的桶名称。
key String 分段上传的对象的key。
max_parts Integer 指定返回片段信息的数量,默认值和最大值均为1000。
part_number_marker Integer 用于指定返回part number大于part_number_marker的片段信息。
request_payer String 确认请求者知道将为操作付费。bucket所有者不需要在请求中指定这个参数。
upload_id String 指定返回该id所属的分段上传的片段信息。

list_parts返回的属性如下:

参数 类型 说明
abort_date Time 如果桶配置了管理未完成的上传分段的生命周期管理规则,并且该规则对本次分段上传生效,则abort_date返回表示终止本次分段上传的时间。
abort_rule_id String 当返回结果中包含abort_date属性时,abort_rule_id表示使终止本次分段上传操作生效的生命周期管理规则的Id。
bucket String 执行本操作的桶名称。
is_truncated Boolean 当为false时表示返回结果中包含了全部符合本次请求查询条件的上传片段信息,否则只返回了数量为max_parts个的片段信息。
key String 本次分段上传对象的名称。
max_parts Integer 本次返回结果中包含的上传片段数量的最大值。
next_part_number_marker Integer 当is_truncated为true时,next_part_number_marker 可以作为后续查询已上传片段请求中的part_number_marker的值。
owner Types::Owner 分段上传对象的拥有者信息,包含了用户名和Id等信息。
parts Array<Types::Part> 包含了已上传片段信息的数组,数组中的每一项包含了该片段的Entity tag、最后修改时间、part_number和大小等信息。
request_charged String 如果返回结果中包含该属性,表示请求的发起者对该次请求操作付费。
storage_class String 对象的存储类型。
upload_id String 本次分段上传操作Id。