S3 için biraz geliştirme yaptım ve bir kova indirmek için basit bir yol bulamadım.
Java ile kodlamak isterseniz jets3t bir kova listesi oluşturmak için kullanımı kolaydır ve indirmek için bu liste üzerinde tekrarlayın.
İlk olarak, bir S3service nesnesi oluşturabilmeniz için AWS yönetim konsülerinden genel bir özel anahtar kümesi alın:
AWSCredentials awsCredentials = new AWSCredentials(YourAccessKey, YourAwsSecretKey);
s3Service = new RestS3Service(awsCredentials);
Ardından, kova nesnelerinizin bir dizisini alın:
S3Object[] objects = s3Service.listObjects(YourBucketNameString);
Son olarak, nesneleri birer birer indirmek için bu dizi üzerinde tekrarlayın:
S3Object obj = s3Service.getObject(bucket, fileName);
file = obj.getDataInputStream();
Bağlantı kodunu güvenli bir singletona koydum. Belli nedenlerle gerekli deneme / yakalama sözdizimi atlanmıştır.
Python'da kod yazmayı tercih ederseniz, bunun yerine Boto'yu kullanabilirsiniz.
BucketExplorer etrafına baktıktan sonra, " Tüm kovayı indirmek " istediğinizi yapabilir.
aws s3 sync
, en iyisi. Ama kimse güçlü seçeneği dikkat çekti:dryrun
. Bu seçenek, kullanırken s3'ten s3'e ne indirileceğini / yükleneceğini görmenizi sağlarsync
. Bu, yerel veya bir s3 grubundaki içeriğin üzerine yazmak istemediğinizde gerçekten yararlıdır. Bu nasıl kullanılır:aws s3 sync <source> <destination> --dryrun
İstenmeyen değişiklikleri yüklememek için yeni içeriği bir kovaya göndermeden önce her zaman kullandım.