Tôi đã thực hiện một chút phát triển cho S3 và tôi chưa tìm thấy cách đơn giản nào để tải xuống toàn bộ nhóm.
Nếu bạn muốn viết mã bằng Java, jets3t lib rất dễ sử dụng để tạo danh sách các nhóm và lặp qua danh sách đó để tải xuống.
Trước tiên, hãy lấy một khóa riêng tư được thiết lập từ lãnh sự quản lý AWS để bạn có thể tạo một đối tượng S3service:
AWSCredentials awsCredentials = new AWSCredentials(YourAccessKey, YourAwsSecretKey);
s3Service = new RestS3Service(awsCredentials);
Sau đó, lấy một mảng các đối tượng xô của bạn:
S3Object[] objects = s3Service.listObjects(YourBucketNameString);
Cuối cùng, lặp lại qua mảng đó để tải xuống từng đối tượng một:
S3Object obj = s3Service.getObject(bucket, fileName);
file = obj.getDataInputStream();
Tôi đặt mã kết nối trong một singleton singleton. Cú pháp thử / bắt cần thiết đã bị bỏ qua vì những lý do rõ ràng.
Nếu bạn muốn viết mã bằng Python, bạn có thể sử dụng Boto thay thế.
Sau khi tìm kiếm xung quanh BuckExplorer, " Tải xuống toàn bộ nhóm " có thể làm những gì bạn muốn.
aws s3 sync
là tốt nhất. Nhưng không ai chỉ ra một lựa chọn mạnh mẽ :dryrun
. Tùy chọn này cho phép bạn xem những gì sẽ được tải xuống / tải lên từ / đến s3 khi bạn đang sử dụngsync
. Điều này thực sự hữu ích khi bạn không muốn ghi đè nội dung trong địa phương hoặc trong nhóm s3. Đây là cách sử dụng:aws s3 sync <source> <destination> --dryrun
Tôi đã sử dụng nó mọi lúc trước khi đẩy nội dung mới vào một thùng để không tải lên các thay đổi không mong muốn.