Khi tôi cố gắng xóa một cái xô bằng cách sử dụng dòng:Làm thế nào để xóa một phiên bản s3 từ một xô sử dụng boto và trăn
conn = boto.connect_s3(AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY)
print conn.delete_Bucket('BucketNameHere').message
Nó nói với tôi xô tôi đã cố gắng để xóa là không có sản phẩm nào.
Xô không có khóa nào trong đó. Nhưng nó có phiên bản.
Làm cách nào để xóa các phiên bản?
tôi có thể xem danh sách các phiên bản sử dụng bucket.list_versions()
Java có một phương pháp deleteVersion trên kết nối s3 của nó. Tôi thấy rằng mã ở đây:
http://bytecoded.blogspot.com/2011/01/recursive-delete-utility-for-version.html
Anh ấy dòng này để xóa các phiên bản:
s3.deleteVersion(new DeleteVersionRequest(bucketName, keyName, versionId));
Có bất cứ điều gì có thể so sánh trong boto?
Cảm ơn! Điều đó hiệu quả. – ChickenFur
Chỉ cần lưu cho tôi một đống rắc rối. Đã khiến tôi phát điên! – Sirex
Bạn nên sử dụng delete_keys, chứ không phải delete_key. nó siêu nhanh hơn. Xem phần này cho giải pháp tương đương, nhưng sử dụng delete_keys: http://stackoverflow.com/questions/29809105/how-do-i-delete-a-versioned-bucket-in-aws-s3-using-the-cli – grayaii