有时,由于某种原因,多部分上传挂起或不完成。在这种情况下,您被困在孤儿的部分是棘手的删除。你可以用以下方式列出它们:
aws s3api list-multipart-uploads --bucket $BUCKETNAME我在找办法让他们全部流产。
发布于 2016-09-12 19:30:18
假设您已经安装了awscli,并且它将输出JSON,那么您可以使用jq来用以下方式投射所需的键:
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发布于 2018-12-05 14:07:34
如果您正在进行多部分上载,您也可以执行S3管理控制台的清理操作。
( a)打开你的S3桶
( b)切换到管理选项卡
( c)单击添加生命周期规则
( d)现在,在第一步中键入规则名,并检查清理、不完整的多部件上传复选框。现在您输入的天数也要保存不完整的部分.
就这样。您也可以在附加屏幕截图中看到这些步骤。

发布于 2019-10-11 22:08:24
这里是我的oneliner,它将中止所有的多部分上传,不管状态如何,前提是您的键/文件名中没有任何空格。
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"}{}' | bashhttps://stackoverflow.com/questions/39457458
复制相似问题