列举分段上传任务

list_multipart_uploads 操作可以列出一个bucket中正在进行的分段上传,这些分段上传的请求已经发起,但是还没完成或者被中止。list_multipart_uploads 操作可以通过指定 max-uploads 参数来设置返回分段上传信息的数量, max-uploads 参数的最大值和默认值均为1000。可以通过设置 key-marker 和 upload-id-marker 参数,来列出符合筛选条件的正在上传的片段信息。如果返回结果中的 is_truncated 字段为true,表示还有符合条件的分段上传信息没有列出,可以利用返回结果中的 next_key_marker 和 next_upload_id_marker 作为下次读取的起点。

以下代码展示如何列举分片上传事件::

def list_multipart_uploads(client, bucket_name)
  resp = client.list_multipart_uploads(
    bucket: bucket_name
  )
  puts JSON.pretty_generate(resp.to_h)
rescue StandardError => e
  puts "Error listing multipart uploads: #{e.message}"
end

list_multipart_uploads 可设置的参数如下:

参数 类型 说明 是否必要
bucket String 执行本操作的桶名称。
delimiter String 与prefix参数一起用于对对象key进行分组的字符。所有key包含指定的prefix且第一次出现delimiter字符之间的对象作为一组。如果没有指定prefix参数,按delimiter对所有对象key进行分割,多个对象分割后从对象key开始到第一个delimiter之间相同的部分形成一组。
encoding_type String 用于设置response中object key的字符编码类型。
key_marker String 和upload_id_marker参数一起用于指定返回哪部分分段上传的信息。如果没有设置upload_id_marker参数,则只返回对象key按照字典顺序排序后位于key_marker标识符之后的片段信息。如果设置了upload_id_marker参数,则会返回对象key等于key_marker且UploadId大于upload_id_marker的片段信息。
max_uploads Integer 用于指定相应消息体中正在进行的分段上传信息的最大数量,最小值为1,默认值和最大值都是1000。
prefix String 与delimiter参数一起用于对对象key进行分组的字符。所有key包含指定的prefix且第一次出现delimiter字符之间的对象作为一组。
upload_id_marker String 和key_marker参数一起用于指定返回哪部分分段上传的信息,仅当设置了key_marker参数的时候有效。设置后返回对象key等于key_marker且upload_id大于upload_id_marker的片段信息。

list_multipart_uploads 返回的属性如下:

参数 类型 说明
bucket String 执行本操作的桶名称。
common_prefixes Array<Types::Commonprefix> 当请求中设置了delimiter和prefix属性时,所有包含指定的prefix且第一次出现delimiter字符的对象key作为一组。
delimiter String 与请求中设置的delimiter一致。
is_truncated Boolean 当为false时表示返回结果中包含了全部符合本次请求查询条件的上传片段信息,否则只返回了数量为max_uploads个的片段信息。
key_marker String 返回上传片段列表中的起始对象的key。
max_uploads Integer 本次返回结果中包含的上传片段数量的最大值。
next_key_marker String 当is_truncated为true时,next_key_marker可以作为后续查询已初始化的上传片段请求中的key_marker的值。
next_upload_id_marker String 当is_truncated为true时,next_upload_id_marker可以作为后续查询已初始化的上传片段请求中的upload_id_marker的值。
prefix String 限定返回片段中对应对象的key必须以prefix作为前缀。
upload_id_marker String 返回上传片段列表中的起始upload_id。
uploads Array<Types::MultipartUpload> 包含了零个或多个已初始化的上传片段信息的数组。数组中的每一项包含了片段初始化时间、分段上传操作发起者、对象key、对象拥有者、存储类型和upload_id等信息。