Ściąganie całego zasobnika S3?
Zauważyłem, że nie ma opcji pobierania całego zasobnika S3 z konsoli zarządzania AWS.
Czy jest łatwy sposób, aby chwycić wszystko w jednym z moich wiadra? Myślałem o upublicznieniu folderu głównego, użyciu wget
, aby pobrać to wszystko, a następnie ponownie uczynić go prywatnym, ale nie wiem, czy jest łatwiejszy sposób.
23 answers
AWS CLI
AWS niedawno wypuściły swoje narzędzia wiersza poleceń. Działa podobnie do boto i może być zainstalowany za pomocą sudo easy_install awscli
lub sudo pip install awscli
Po zainstalowaniu możesz po prostu uruchomić:
Polecenie :
aws s3 sync s3://mybucket .
Wyjście :
download: s3://mybucket/test.txt to test.txt
download: s3://mybucket/test2.txt to test2.txt
Spowoduje to pobranie wszystkich plików (Synchronizacja w jedną stronę). Spowoduje to , a nie usunięcie istniejących plików w bieżącym katalogu (chyba że określisz -- delete ), i nie zmieni ani nie usunie żadnych plików na S3.
Można również wykonać synchronizację łyżki S3 do łyżki S3 lub synchronizację lokalną do łyżki S3.
Zobacz dokumentację i inne przykłady:
Http://docs.aws.amazon.com/cli/latest/reference/s3/sync.html
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-02-05 11:07:58
Możesz użyć s3cmd , Aby pobrać wiadro.
s3cmd --configure
s3cmd sync s3://bucketnamehere/folder /destination/folder
Update
Istnieje inne narzędzie, którego możesz użyć o nazwie Rclone . Poniżej znajduje się przykład kodu w dokumentacji Rclone.
rclone sync /home/local/directory remote:bucket
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-09-01 01:48:37
Użyłem kilku różnych metod, aby skopiować dane Amazon S3 do lokalnej maszyny, W tym s3cmd, i zdecydowanie najłatwiejszy jest Cyberduck . Wszystko, co musisz zrobić, to wprowadzić swoje poświadczenia Amazon i użyć prostego interfejsu, aby pobrać / przesłać / zsynchronizować dowolne wiadra / foldery / pliki.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-07-08 12:17:38
Aby pobrać za pomocą AWS S3 CLI:
aws s3 cp s3://WholeBucket LocalFolder --recursive
aws s3 cp s3://Bucket/Folder LocalFolder --recursive
Aby pobrać kod, użyj AWS SDK .
Aby pobrać GUI, użyj Cyberduck .
Mam nadzieję, że to pomoże.. :)Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-04-10 11:23:12
Masz w zasadzie wiele opcji, aby to zrobić, ale najlepszą z nich jest użycie AWS CLI
Oto przeglądarka- Krok 1
Pobierz i zainstaluj AWS CLI na swoim komputerze
Zainstaluj AWS CLI za pomocą Instalatora MSI (Windows)
Instalacja AWS CLI za pomocą dołączonego Instalatora (Linux, OS X lub Unix)
- Krok 2
Konfiguracja AWS CLI
Upewnij się, że wprowadziłeś poprawny klucz dostępu i klucz tajny , który otrzymałeś podczas tworzenia konta
- Krok 3
Sync S3 bucket with following command
aws s3 sync s3://yourbucket /local/path
Zastąp powyższe polecenie następującymi danymi
Yourbucket > > wiadro s3, które chcesz pobrać
/local / path > > path w Twoim systemie lokalnym, gdzie chcesz pobrać wszystkie pliki
Mam nadzieję, że to pomoże!Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-07-20 17:17:29
Przeglądarka S3 jest najprostszym sposobem, jaki znalazłem. Jest to doskonałe oprogramowanie... I jest bezpłatny do użytku niekomercyjnego. Tylko Windows.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-07-08 12:18:18
Jeśli korzystasz z Visual Studio, pobierz http://aws.amazon.com/visualstudio/
Po zainstalowaniu przejdź do Visual Studio-AWS Explorer-S3 - your bucket-Double click
W oknie będzie można wybrać wszystkie pliki. Kliknij prawym przyciskiem myszy i pobierz pliki.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-02-04 00:23:52
Inną opcją, która może pomóc niektórym użytkownikom osx , jest transmisja . Jest to program ftp, który pozwala również połączyć się z plikami s3. I ma opcję zamontowania dowolnego magazynu ftp lub s3 jako folderu w Finderze. Ale to tylko na ograniczony czas.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-10-17 07:50:47
Zrobiłem trochę rozwoju dla s3 i nie znalazłem prosty sposób, aby pobrać cały bucket. Jeśli chcesz kodować w Javie, lib jets3t jest łatwy w użyciu, aby utworzyć listę bucketów i iterację nad tą listą, aby je pobrać.
Http://jets3t.s3.amazonaws.com/downloads.html
Najpierw pobierz publiczny klucz prywatny z modułu zarządzania AWS, aby móc utworzyć obiekt S3service...
AWSCredentials awsCredentials = new AWSCredentials(YourAccessKey, YourAwsSecretKey);
s3Service = new RestS3Service(awsCredentials);
Następnie zdobądź tablicę swoich wiader obiektów...
S3Object[] objects = s3Service.listObjects(YourBucketNameString);
Wreszcie, iterację nad tą tablicą, aby pobierać obiekty pojedynczo za pomocą tego kodu...
S3Object obj = s3Service.getObject(bucket, fileName);
file = obj.getDataInputStream();
Umieściłem kod połączenia w threadsafe singleton. Niezbędna składnia try/catch została pominięta z oczywistych powodów.
Jeśli wolisz kodować w Pythonie, możesz użyć Boto.
PS po rozglądnięciu się po Bucketexplorerze rób co chcesz. https://forums.aws.amazon.com/thread.jspa?messageID=248429Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-12-28 21:35:57
Użyj tego polecenia z AWS CLI :
aws s3 cp s3://bucketname. --recursive
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-11-04 21:30:07
Jeśli używasz Firefoksa z S3Fox, to pozwala wybrać wszystkie pliki (shift-Wybierz pierwszy i ostatni) i rightclick i pobierz wszystkie... Zrobiłem to z 500 + plikami bez problemu
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-09-14 06:23:36
Odpowiedź @Layke jest dobra, ale jeśli masz mnóstwo danych i nie chcesz czekać w nieskończoność, powinieneś zwrócić szczególną uwagę na tę dokumentację na Jak uzyskać polecenie synchronizacji AWS S3 CLI, aby zsynchronizować wiadra z masową równoległością . Następujące polecenia każą AWS CLI używać 1000 wątków do wykonywania zadań (każdy mały plik lub jedna część kopii wieloczęściowej) i patrzeć w przyszłość 100 000 zadań:
aws configure set default.s3.max_concurrent_requests 1000
aws configure set default.s3.max_queue_size 100000
Po ich uruchomieniu można użyć polecenia simple sync jako "follows": {]}
aws s3 sync s3://source-bucket/source-path s3://destination-bucket/destination-path
Lub
aws s3 sync s3://source-bucket/source-path c:\my\local\data\path
W systemie z 4 rdzeniami CPU i 16GB RAM, dla takich przypadków jak mój (Pliki 3-50GB) prędkość synchronizacji/kopiowania wzrosła z około 9,5 MiB / s do 700 + MiB / s, wzrost prędkości 70x w stosunku do domyślnej konfiguracji.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-05 13:24:23
Gdy w Windows, moim preferowanym narzędziem GUI do tego jest Cloudberry Explorer dla S3., http://www.cloudberrylab.com/free-amazon-s3-explorer-cloudfront-IAM.aspx. ma dość dopracowany Eksplorator plików, interfejs podobny do ftp.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-10-29 03:15:30
Możesz to zrobić z https://github.com/minio/mc :
mc cp -r https://s3-us-west-2.amazonaws.com/bucketName/ localdir
Mc obsługuje również sesje, wznawiane pobieranie, przesyłanie i wiele innych. mc
obsługuje systemy operacyjne Linux, OS X i Windows. Napisany w Golang i wydany pod Apache w wersji 2.0.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-12-08 20:28:02
Jeśli masz tam tylko pliki (bez podkatalogów), szybkim rozwiązaniem jest zaznaczenie wszystkich plików (click
Na Pierwszym, Shift+click
na ostatnim) i naciśnięcie Enter
lub right click
i wybranie Open
. W przypadku większości plików danych pobierze je bezpośrednio na komputer.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-02-05 23:16:46
Użytkownik systemu Windows musi pobrać S3EXPLORER z tego linku, który również zawiera instrukcje instalacji: - http://s3browser.com/download.aspx
-
Następnie podaj dane uwierzytelniające AWS, takie jak secretkey, accesskey i region do s3explorer, ten link zawiera instrukcję konfiguracji dla s3explorer: kopiuj wklej Link w przeglądarce: s3browser.com/s3browser-first-run.aspx
Teraz wszystkie wiadra s3 będą widoczne na lewym panelu s3explorer.
-
Po prostu wybierz wiadro i kliknij Menu wiadra w lewym górnym rogu, a następnie wybierz opcję Pobierz wszystkie pliki do opcji z menu. Poniżej znajduje się zrzut ekranu dla tego samego:
-
Następnie przejrzyj folder, Aby pobrać wiadro w określonym miejscu
Kliknij OK i rozpocznie się pobieranie.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-07-22 12:49:55
AWS sync to idealne rozwiązanie. To nie działa w dwie strony.. jest to jedna droga od źródła do celu. Ponadto, jeśli masz wiele elementów w bucket, dobrym pomysłem będzie najpierw utworzenie punktu końcowego s3, aby pobieranie odbywało się szybciej (ponieważ pobieranie nie odbywa się przez internet, ale przez intranet) i bez opłat
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-01-26 10:55:09
Tutaj jest kilka rzeczy do pobrania wszystkich wiadra, wymień je, wymień ich zawartość.
//connection string
private static void dBConnection() {
app.setAwsCredentials(CONST.getAccessKey(), CONST.getSecretKey());
conn = new AmazonS3Client(app.getAwsCredentials());
app.setListOfBuckets(conn.listBuckets());
System.out.println(CONST.getConnectionSuccessfullMessage());
}
private static void downloadBucket() {
do {
for (S3ObjectSummary objectSummary : app.getS3Object().getObjectSummaries()) {
app.setBucketKey(objectSummary.getKey());
app.setBucketName(objectSummary.getBucketName());
if(objectSummary.getKey().contains(CONST.getDesiredKey())){
//DOWNLOAD
try
{
s3Client = new AmazonS3Client(new ProfileCredentialsProvider());
s3Client.getObject(
new GetObjectRequest(app.getBucketName(),app.getBucketKey()),
new File(app.getDownloadedBucket())
);
} catch (IOException e) {
e.printStackTrace();
}
do
{
if(app.getBackUpExist() == true){
System.out.println("Converting back up file");
app.setCurrentPacsId(objectSummary.getKey());
passIn = app.getDataBaseFile();
CONVERT= new DataConversion(passIn);
System.out.println(CONST.getFileDownloadedMessage());
}
}
while(app.getObjectExist()==true);
if(app.getObjectExist()== false)
{
app.setNoObjectFound(true);
}
}
}
app.setS3Object(conn.listNextBatchOfObjects(app.getS3Object()));
}
while (app.getS3Object().isTruncated());
}
/----------------------------Metody Rozszerzenia-------------------------------------/
//Unzip bucket after download
public static void unzipBucket() throws IOException {
unzip = new UnZipBuckets();
unzip.unZipIt(app.getDownloadedBucket());
System.out.println(CONST.getFileUnzippedMessage());
}
//list all S3 buckets
public static void listAllBuckets(){
for (Bucket bucket : app.getListOfBuckets()) {
String bucketName = bucket.getName();
System.out.println(bucketName + "\t" + StringUtils.fromDate(bucket.getCreationDate()));
}
}
//Get the contents from the auto back up bucket
public static void listAllBucketContents(){
do {
for (S3ObjectSummary objectSummary : app.getS3Object().getObjectSummaries()) {
if(objectSummary.getKey().contains(CONST.getDesiredKey())){
System.out.println(objectSummary.getKey() + "\t" + objectSummary.getSize() + "\t" + StringUtils.fromDate(objectSummary.getLastModified()));
app.setBackUpCount(app.getBackUpCount() + 1);
}
}
app.setS3Object(conn.listNextBatchOfObjects(app.getS3Object()));
}
while (app.getS3Object().isTruncated());
System.out.println("There are a total of : " + app.getBackUpCount() + " buckets.");
}
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-06-23 15:48:03
Możesz go łatwo uzyskać za pomocą s3cmd komendy:
s3cmd get --recursive --continue s3://test-bucket local-directory/
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-05-13 19:31:30
Jak wyjaśnił Neel Bhaat na tym blogu , istnieje wiele różnych narzędzi, które można wykorzystać w tym celu. Niektóre są dostarczane AWS, gdzie większość to narzędzia innych firm. Wszystkie te narzędzia wymagają zapisania klucza konta AWS i tajemnicy w samym narzędziu. Zachowaj ostrożność podczas korzystania z narzędzi innych firm, ponieważ dane uwierzytelniające, które zaoszczędzisz, mogą cię kosztować, całą twoją wartość i sprawić, że umrzesz.
Dlatego zawsze zalecam używanie w tym celu AWS CLI. Możesz po prostu zainstaluj to z tego linku . Następnie uruchom następujące polecenie i zapisz swój klucz, tajne wartości w AWS CLI.
aws configure
I użyj następującego polecenia, aby zsynchronizować wiadro AWS S3 z lokalnym komputerem. (Lokalna maszyna powinna mieć zainstalowany AWS CLI)
aws s3 sync <source> <destination>
Przykłady:
1) dla AWS S3 do Local Storage
aws s3 sync <S3Uri> <LocalPath>
2) z pamięci lokalnej do AWS S3
aws s3 sync <LocalPath> <S3Uri>
3) z wiadra AWS s3 na inne wiadro
aws s3 sync <S3Uri> <S3Uri>
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-06-11 10:07:49
Jeśli chcesz pobrać wiadro tylko z AWS, najpierw zainstaluj AWS CLI w swoim komputerze. W terminalu zmień katalog do którego chcesz pobrać pliki i uruchom to polecenie.
aws s3 sync s3://bucket-name .
Jeśli chcesz zsynchronizować zarówno katalogi lokalne, jak i s3( jeśli dodałeś pliki do folderu lokalnego), uruchom to polecenie:
aws s3 sync . s3://bucket-name
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-09-20 07:06:19
Jak powiedział @ layke, jest to najlepsza praktyka, aby pobrać plik z S3 cli jest to bezpieczne i bezpieczne. Ale w niektórych przypadkach ludzie muszą użyć wget, aby pobrać plik i oto rozwiązanie
aws s3 presign s3://<your_bucket_name/>
To presign zapewni tymczasowy publiczny adres URL, którego możesz użyć do pobierania zawartości z S3 za pomocą presign_url, w Twoim przypadku za pomocą wget lub innego klienta pobierania.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-09-24 03:59:34
Chrome apps extended-S3-browser
Możesz go używać za darmo
W końcu użyłem cloud berry kupił go i było super cloud berry
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-26 14:00:39