开发者社区 问答 正文

ossutil之如何实现有关multipart的命令?



Multipart的相关命令


ossutil提供了列举UploadID、删除指定object的所有UploadID的功能,关于Multipart UploadID更多的管理功能暂时不支持,如需要请使用 osscmd
关于Multipart的更多介绍请参见 断点续传


[backcolor=transparent]说明: ossutil在上传/拷贝文件时,对于大文件自动进行分片断点续传,而不提供UploadPart命令。


列举UploadID


使用-m选项来列举指定object下的所有未完成UploadID,使用-a选项来列举object和UploadID。 $ ossutil ls oss://bucket1/obj1 -m
InitiatedTime                     UploadID                               ObjectName
2017-01-13 03:45:26 +0000 CST     15754AF7980C4DFB8193F190837520BB    oss://bucket1/obj1
2017-01-13 03:43:13 +0000 CST     2A1F9B4A95E341BD9285CC42BB950EE0    oss://bucket1/obj1
UploadId Number is: 2
0.070070(s) elapsed



删除指定object的所有UploadID


使用-m选项删除指定object下的所有未完成UploadID,当同时指定-r选项时,会删除以指定object为前缀的所有object的未完成UploadID。
假设bucket1下有如下文件: $ ossutil ls oss://bucket1 -a
LastModifiedTime                    Size(B)  StorageClass   ETAG                                    ObjectName
2015-06-05 14:06:29 +0000 CST        201933      Standard   7E2F4A7F1AC9D2F0996E8332D5EA5B41        oss://bucket1/dir1/obj11
2015-06-05 14:36:21 +0000 CST        241561      Standard   6185CA2E8EB8510A61B3A845EAFE4174        oss://bucket1/obj1
2016-04-08 14:50:47 +0000 CST       6476984      Standard    4F16FDAE7AC404CEC8B727FCC67779D6        oss://bucket1/sample.txt
Object Number is: 3
InitiatedTime                     UploadID                               ObjectName
2017-01-13 03:45:26 +0000 CST     15754AF7980C4DFB8193F190837520BB    oss://bucket1/obj1
2017-01-13 03:43:13 +0000 CST     2A1F9B4A95E341BD9285CC42BB950EE0    oss://bucket1/obj1
2017-01-13 03:45:25 +0000 CST     3998971ACAF94AD9AC48EAC1988BE863    oss://bucket1/obj2
2017-01-20 11:16:21 +0800 CST     A20157A7B2FEC4670626DAE0F4C0073C    oss://bucket1/tobj
UploadId Number is: 4
0.191289(s) elapsed


删除obj1的2个UploadID: $./ossutil rm -m oss://bucket1/obj1
Succeed: Total 2 uploadIds. Removed 2 uploadIds.
1.922915(s) elapsed


删除obj1和obj2的3个UploadID: $./ossutil rm -m oss://bucket1/ob
Succeed: Total 4 uploadIds. Removed 4 uploadIds.
1.922915(s) elapsed


同时删除obj1,obj1和obj2的3个UploadID $./ossutil rm  oss://dest1/.a  -a -r -f
Do you really mean to remove recursively objects and multipart uploadIds of oss://dest1/.a(y or N)? y
Succeed: Total 1 objects, 3 uploadIds. Removed 1 objects, 3 uploadIds.

展开
收起
青衫无名 2017-10-23 13:36:23 2330 分享 版权
阿里云 AI 助理回答

OSSUtil 提供了针对 Multipart Upload 的一些管理命令,主要涉及列举和删除未完成的 UploadID。以下是具体操作指南:

列举UploadID

  • 命令格式:使用 -m 选项来列举指定 object 下的所有未完成的 UploadID。
    ossutil ls oss://bucket/object -m
    
  • 示例输出
    InitiatedTime          UploadID                            ObjectName
    2017-01-13 03:45:26 +0000 CST    15754AF7980C4DFB8193F190837520BB    oss://bucket/obj1
    2017-01-13 03:43:13 +0000 CST    2A1F9B4A95E341BD9285CC42BB950EE0    oss://bucket/obj1
    UploadId Number is: 2
    

删除指定object的所有UploadID

  • 命令格式:使用 -m 选项删除指定 object 下的所有未完成 UploadID。结合 -r 选项可递归删除以指定 object 为前缀的所有 object 的未完成 UploadID。
    ossutil rm oss://bucket/object -m [-r]
    
  • 示例
    • 删除单个对象 obj1 的所有 UploadID:
    ./ossutil rm -m oss://bucket1/obj1
    
    • 递归删除前缀为 ob 匹配到的对象(如 obj1, obj2)的所有 UploadID:
    ./ossutil rm -m oss://bucket1/ob -r
    
    • 同时删除对象及其所有关联的 UploadID:
    ./ossutil rm oss://bucket/object -a -r -f
    

注意事项

  • 在执行删除操作前,OSSUtil 会要求用户确认操作,以避免误删重要数据。
  • 使用 -a 选项可以同时列举 object 和 UploadID。
  • 若要进行更复杂的 Multipart 操作,如初始化上传、上传分片、完成或取消上传等,推荐使用 osscmd 或直接通过 OSS SDK 进行编程操作。

以上信息基于提供的参考资料汇总而成,旨在帮助您有效管理OSS中的Multipart Upload任务。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答
问答分类:
问答地址: