Jak pobrać wiele plików z S3 za pomocą AWS CLI

Jak pobrać wiele plików z S3 za pomocą AWS CLI
AWS CLI to „jeden” rozwiązanie dla prawie wszystkich usług AWS i ich operacji. AWS CLI można łatwo użyć do skonfigurowania dowolnej usługi i wykonywania dowolnej akcji, nawet działań administracyjnych, takich jak dodawanie i usuwanie użytkowników. AWS CLI można również użyć do pobierania plików z AWS S3 do lokalnego komputera, co dokładnie zostanie wykazane w tym przewodniku.

Wymagania wstępne tego przewodnika obejmują:

  • Wiadro S3
  • Skonfigurowane AWS CLI

Pobieranie plików z S3 z AWS CLI

Aby pobrać pliki z AWS S3, „CP„Używane jest polecenie, a składnia polecenia jest jako

AWS S3 CP „PATH_TO_BUCKET/Folder/File” „Destination_on_The_PC”

Jednak, aby pobrać wiele plików z tego polecenia, musisz również dołączyć flagę „rekurencyjną”, co oznaczałoby, że to polecenie kopii zostanie wykonane dla każdego elementu w określonym „folderu \ folder”.

Aby zademonstrować działanie tego polecenia, jest to wiadro, które zostało utworzone w S3:

Pobierz wszystkie pliki z S3 Bucket

Otwórz wiersz polecenia, a następnie wpisz następujący dostęp do polecenia i wymień pliki wewnątrz wiadra S3:

AWS S3 LS S3: // TransferDemolh/

W powyższym poleceniu pamiętaj, aby zastąpić nazwę wiadra na nazwę wiadra, który utworzyłeś na koncie AWS. Po wykonaniu tego polecenia wyświetlany jest następujący wynik w wierszu polecenia:

Teraz pobierajmy wszystkie te pliki za pomocą następującego polecenia:

AWS S3 CP S3: // Tranferdemolh/ . --rekurencyjny

To polecenie zainicjuje proces pobierania, a pliki zostaną pobrane w bieżącym katalogu roboczym wiersza polecenia:

Aby potwierdzić, że pliki zostały pobrane, przejdź do bieżącego katalogu wiersza polecenia, który w powyższych przykładach jest „\ Desktop \ Download \”:

To potwierdza, że ​​wszystkie pliki zostały pobrane za pomocą powyższego polecenia.

Pobieranie wielu plików za pomocą AWS CLI

W przypadku, gdy nie chcesz kopiować wszystkich plików z wnętrza, ale raczej chcesz pobrać określone pliki w tym samym czasie, następnie dołącz „-exclude„*”, a następnie podać nazwę plików za pomocą flagi„ -include „Nameoffile”.

Aby to zrobić, użyj następującego polecenia:

AWS S3 CP S3: // TransferDemolh/ . --Recursive -exclude „*” -Include "1.Demo gif „ -Include”.tekst"

W powyższym poleceniu:

  • Wyklucz polecenie „*”, aby wykluczyć wszystkie pliki
  • Wtedy flaga „-include” służy do określenia, które pliki mają zawierać jeden po drugim
  • Ogólnie pobierane są 2 pliki, 1.GIF i demo.tekst

Wykonanie powyższego polecenia daje następujący wynik w wierszu polecenia:

Kierowanie się wewnątrz folderu „Desktop \ Download” pokazuje nam następujące pliki:

Oba pliki zostały pobrane na lokalny komputer.

Wniosek

Aby pobrać wiele plików za pomocą CLI AWS, za pomocą polecenia „CP”, ale z flagą rekurencyjną „-rekusive”. Spowoduje to, że polecenie kopiowania zostanie wykonane dla każdego elementu w wiadrze, a zatem w rezultacie pobiera wszystkie pliki z segmentu s3. W przypadku, gdy chcesz określić, które pliki do pobrania, po prostu użyj flagi Excude, aby najpierw wykluczyć wszystkie pliki z rekurencji, a następnie ręcznie dołączyć każdy plik, który można pobrać za pomocą flagi „dołącz”.