首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何中止一个桶的所有不完整的多部分上传

如何中止一个桶的所有不完整的多部分上传
EN

Stack Overflow用户
提问于 2016-09-12 19:30:18
回答 6查看 15K关注 0票数 25

有时,由于某种原因,多部分上传挂起或不完成。在这种情况下,您被困在孤儿的部分是棘手的删除。你可以用以下方式列出它们:

代码语言:javascript
复制
aws s3api list-multipart-uploads --bucket $BUCKETNAME

我在找办法让他们全部流产。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2016-09-12 19:30:18

假设您已经安装了awscli,并且它将输出JSON,那么您可以使用jq来用以下方式投射所需的键:

代码语言:javascript
复制
BUCKETNAME=<xxx>
aws s3api list-multipart-uploads --bucket $BUCKETNAME \
| jq -r '.Uploads[] | "--key \"\(.Key)\" --upload-id \(.UploadId)"' \
| while read -r line; do
    eval "aws s3api abort-multipart-upload --bucket $BUCKETNAME $line";
done
票数 27
EN

Stack Overflow用户

发布于 2018-12-05 14:07:34

如果您正在进行多部分上载,您也可以执行S3管理控制台的清理操作。

( a)打开你的S3桶

( b)切换到管理选项卡

( c)单击添加生命周期规则

( d)现在,在第一步中键入规则名,并检查清理、不完整的多部件上传复选框。现在您输入的天数也要保存不完整的部分.

就这样。您也可以在附加屏幕截图中看到这些步骤。

票数 21
EN

Stack Overflow用户

发布于 2019-10-11 22:08:24

这里是我的oneliner,它将中止所有的多部分上传,不管状态如何,前提是您的键/文件名中没有任何空格。

代码语言:javascript
复制
BUCKETNAME=<xxx>;aws s3api list-multipart-uploads --bucket $BUCKETNAME --query 'Uploads[].[Key, UploadId]' --output text | awk  '{print "aws s3api abort-multipart-upload --upload-id "$2" --bucket $BUCKETNAME --key " $1 " & wait"}{}' | bash
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39457458

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档