Я трохи розробив S3, і не знайшов простого способу завантажити ціле відро.
Якщо ви хочете кодувати на Java, то lib jet3t легко використовувати для створення списку відра і повторюйте цей список, щоб завантажити їх.
По-перше, отримайте набір відкритого приватного ключа від консулу управління AWS, щоб ви могли створити об'єкт S3service:
AWSCredentials awsCredentials = new AWSCredentials(YourAccessKey, YourAwsSecretKey);
s3Service = new RestS3Service(awsCredentials);
Потім отримайте масив об’єктів відра:
S3Object[] objects = s3Service.listObjects(YourBucketNameString);
Нарешті, повторіть цей масив для завантаження об'єктів по одному за допомогою:
S3Object obj = s3Service.getObject(bucket, fileName);
file = obj.getDataInputStream();
Я поклав код підключення в безпечний потік синглів. Необхідний синтаксис спробувати / ловити було пропущено з очевидних причин.
Якщо ви хочете скористатися кодом в Python, ви можете використовувати Boto замість цього.
Оглянувши BucketExplorer, " Завантаження цілого відра " може робити все, що ви хочете.
aws s3 sync
це найкраще. Але ніхто не вказав, потужний варіант:dryrun
. Ця опція дозволяє вам бачити, що буде завантажено / завантажено з / в s3 під час використанняsync
. Це дуже корисно, коли ви не хочете перезаписувати вміст ні в локальному, ні у відро s3. Так використовується:aws s3 sync <source> <destination> --dryrun
я використовував його весь час, перш ніж натискати новий вміст у відро, щоб не завантажувати небажані зміни.