9 poleceń AWS S3 z przykładami do zarządzania zasobnikiem i danymi

Spis treści:

Kontrolowanie i porządkowanie danych bywa nużącym zadaniem. Poniższe polecenia AWS S3 ułatwią Ci efektywne zarządzanie zasobnikami i danymi w ramach tej usługi.

AWS S3 to usługa przechowywania obiektów, udostępniana przez Amazon Web Services. Jest to szeroko wykorzystywana platforma do magazynowania danych, zdolna pomieścić praktycznie nieograniczoną ilość informacji. Charakteryzuje się wysoką dostępnością, trwałością i prostotą integracji z innymi usługami AWS.

AWS S3 znajduje zastosowanie w różnorodnych projektach, od przechowywania danych aplikacji mobilnych i internetowych, przez gromadzenie dużych zbiorów danych, aż po wsparcie dla uczenia maszynowego, hostingu statycznych stron i innych celów.

Użytkownicy S3, zwłaszcza ci, którzy pracują z dużymi zbiorami danych i setkami zasobników, doskonale wiedzą, że zarządzanie nimi może być wymagające. Przygotowaliśmy zbiór poleceń AWS S3 wraz z przykładami, które pomogą Ci efektywnie zarządzać zasobnikami i danymi.

Konfiguracja interfejsu AWS CLI

Po udanym pobraniu i instalacji AWS CLI konieczne jest skonfigurowanie danych uwierzytelniających, umożliwiających dostęp do konta i usług AWS. Przyjrzyjmy się, jak to zrobić.

Pierwszym krokiem jest utworzenie użytkownika z dostępem programowym do konta AWS. Pamiętaj o zaznaczeniu opcji dostępu programowego podczas tworzenia użytkownika przeznaczonego dla AWS CLI.

Nadaj uprawnienia i stwórz użytkownika. Na ostatnim etapie, po pomyślnym utworzeniu konta, skopiuj identyfikator klucza dostępu i tajny klucz dostępu. Te dane będą potrzebne do logowania przez interfejs AWS CLI.

Teraz w wybranym terminalu wprowadź polecenie:

aws configure

Wprowadź, gdy zostaniesz o to poproszony, identyfikator klucza dostępu i tajny klucz dostępu. Wybierz preferowany region AWS oraz format wyjściowy. Osobiście preferuję format JSON, ale zawsze możesz zmienić te ustawienia.

Od tej chwili możesz wykonywać polecenia AWS CLI w konsoli. Przejdźmy teraz do omówienia poleceń AWS S3.

cp

Polecenie cp służy do kopiowania danych do i z zasobników S3. Można go użyć do kopiowania plików z lokalnego dysku do S3, z S3 na dysk lokalny, oraz między różnymi zasobnikami S3. Dostępnych jest szereg opcji konfiguracyjnych.

Przykładowo, parametr –dryrun pozwala na przetestowanie polecenia, parametr –storage-class pozwala określić klasę przechowywania danych w S3. Dostępne są też inne parametry, umożliwiające ustawienie szyfrowania. Polecenie cp daje Ci pełną kontrolę nad bezpieczeństwem Twoich danych w S3.

Sposób użycia

aws s3 cp <ŹRÓDŁO> <CEL> [--opcje]

Przykłady

Kopiowanie danych z dysku lokalnego do S3

aws s3 cp nazwa_pliku.txt s3://nazwa_zasobnika/nazwa_pliku_2.txt

Kopiowanie danych z S3 na dysk lokalny

aws s3 cp s3://nazwa_zasobnika/nazwa_pliku_2.txt nazwa_pliku.txt

Kopiowanie danych pomiędzy zasobnikami S3

aws s3 cp s3://nazwa_zasobnika/nazwa_pliku.txt s3://nazwa_zasobnika_2/nazwa_pliku_2.txt

Kopiowanie danych z dysku lokalnego do S3 w klasie przechowywania IA

aws s3 cp nazwa_pliku.txt s3://nazwa_zasobnika/nazwa_pliku_2.txt --storage-class STANDARD_IA 

Kopiowanie wszystkich danych z folderu lokalnego do S3

aws s3 cp ./folder_lokalny s3://nazwa_zasobnika --recursive

ls

Polecenie ls służy do wyświetlania listy zasobników lub zawartości zasobników. Jeśli chcesz zobaczyć informacje o swoich zasobnikach lub dane w tych zasobnikach, użyj tego polecenia.

Sposób użycia:

aws s3 ls BRAK lub <NAZWA_ZASOBNIKA> [--opcje]

Przykłady

Wyświetlenie wszystkich zasobników na koncie

aws s3 ls

Wynik:
2022-02-02 18:20:14 NAZWA_ZASOBNIKA_1
2022-03-20 13:12:43 NAZWA_ZASOBNIKA_2
2022-03-29 10:52:33 NAZWA_ZASOBNIKA_3

To polecenie wyświetla listę wszystkich zasobników na Twoim koncie, wraz z datą utworzenia.

Wyświetlenie wszystkich obiektów najwyższego poziomu w zasobniku

aws s3 ls NAZWA_ZASOBNIKA_1 lub s3://NAZWA_ZASOBNIKA_1

Wynik:
                           PRE przykladowyPrefix/
2021-12-09 12:23:20       8754 plik_1.png
2021-12-09 12:23:21       1290 plik_2.json
2021-12-09 12:23:21       3088 plik_3.html

To polecenie wyświetla listę obiektów najwyższego poziomu w zasobniku S3. Obiekty z przedrostkiem „przykladowyPrefix/” nie są tutaj widoczne, prezentowane są tylko obiekty główne.

Wyświetlenie wszystkich obiektów w zasobniku

aws s3 ls NAZWA_ZASOBNIKA_1 lub s3://NAZWA_ZASOBNIKA_1 --recursive

Wynik:
2021-12-09 12:23:20       8754 plik_1.png
2021-12-09 12:23:21       1290 plik_2.json
2021-12-09 12:23:21       3088 plik_3.html
2021-12-09 12:23:20      16328 przykladowyPrefix/plik_1.txt
2021-12-09 12:23:20      29325 przykladowyPrefix/podprzykladowyPrefix/plik_1.css

To polecenie wyświetla listę wszystkich obiektów w zasobniku S3, w tym obiekty z przedrostkiem „przykladowyPrefix/” oraz podprzedrostkami.

mb

Polecenie mb służy do tworzenia nowych zasobników S3. Nazwa zasobnika musi być unikalna w skali całej usługi S3.

Sposób użycia

aws s3 mb <NAZWA_ZASOBNIKA>

Przykład

Utworzenie nowego zasobnika w określonym regionie

aws s3 mb mojaUnikalnaNazwaZasobnika --region eu-west-1

mv

Polecenie mv służy do przenoszenia danych do i z zasobników S3. Podobnie jak w przypadku polecenia cp, możesz przenosić pliki z lokalnego dysku do S3, z S3 na dysk lokalny, lub pomiędzy zasobnikami S3.

Główną różnicą pomiędzy poleceniami mv i cp jest to, że polecenie mv usuwa plik ze źródła po przeniesieniu do miejsca docelowego. Podobnie jak cp, mv ma wiele opcji konfiguracyjnych.

Sposób użycia

aws s3 mv <ŹRÓDŁO> <CEL> [--opcje]

Przykłady

Przenoszenie danych z dysku lokalnego do S3

aws s3 mv nazwa_pliku.txt s3://nazwa_zasobnika/nazwa_pliku_2.txt

Przenoszenie danych z S3 na dysk lokalny

aws s3 mv s3://nazwa_zasobnika/nazwa_pliku_2.txt nazwa_pliku.txt

Przenoszenie danych pomiędzy zasobnikami S3

aws s3 mv s3://nazwa_zasobnika/nazwa_pliku.txt s3://nazwa_zasobnika_2/nazwa_pliku_2.txt

Przenoszenie danych z dysku lokalnego do S3 w klasie przechowywania IA

aws s3 mv nazwa_pliku.txt s3://nazwa_zasobnika/nazwa_pliku_2.txt --storage-class STANDARD_IA 

Przenoszenie wszystkich danych z określonego przedrostka w S3 do folderu lokalnego

aws s3 mv s3://nazwa_zasobnika/przykladowyPrefix ./folder_lokalny --recursive

presign

Polecenie presign tworzy wstępnie podpisany URL do obiektu w zasobniku S3. Możesz użyć tego polecenia, aby generować linki, które pozwalają innym użytkownikom na dostęp do określonych plików w S3.

Sposób użycia

aws s3 presign <KLUCZ_OBIEKTU> –expires-in <CZAS_W_SEKUNDACH>

Przykład

Wygenerowanie wstępnie podpisanego URL, który jest ważny przez godzinę, do obiektu w zasobniku

aws s3 presign s3://nazwa_zasobnika/przykladowyPrefix/nazwa_pliku.png --expires-in 3600

Wynik:
https://s3.ap-south-1.amazonaws.com/nazwa_zasobnika/przykladowyPrefix/nazwa_pliku.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIA4MCZT73PAX7ZMVFW%2F20220314%2Fap-south-1%2Fs3%2Faws4_request&X-Amz-Date=20220314T054113Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=f14608bbf3e1f9f8d215eb5b439b87e167b1055bcd7a45c13a33debd3db1be96

rb

Polecenie rb służy do usuwania zasobników S3.

Sposób użycia

aws rb <NAZWA_ZASOBNIKA>

Przykład

Usunięcie zasobnika S3

aws s3 mb mojaNazwaZasobnika
# To polecenie nie powiedzie się, jeżeli w zasobniku znajdują się jakiekolwiek dane.

Usunięcie zasobnika S3 wraz z danymi w zasobniku

aws s3 mb mojaNazwaZasobnika --force

rm

Polecenie rm służy do usuwania obiektów z zasobników S3.

Sposób użycia

aws s3 rm <S3Uri_Do_Pliku>

Przykłady

Usunięcie pojedynczego pliku z zasobnika S3

aws s3 rm s3://nazwa_zasobnika/przykladowy_prefix/nazwa_pliku_2.txt

Usunięcie wszystkich plików z określonym przedrostkiem w zasobniku S3

aws s3 rm s3://nazwa_zasobnika/przykladowy_prefix --recursive

Usunięcie wszystkich plików w zasobniku S3

aws s3 rm s3://nazwa_zasobnika --recursive

synchronizacja

Polecenie synchronizacji kopiuje i aktualizuje pliki ze źródła do miejsca docelowego, podobnie jak polecenie cp. Należy jednak zrozumieć kluczowe różnice. Polecenie cp kopiuje dane, nawet jeśli dane w miejscu docelowym są identyczne, nie usuwa też danych z miejsca docelowego, jeśli zostały usunięte ze źródła.

Synchronizacja sprawdza docelowe miejsce i kopiuje tylko nowe i zaktualizowane pliki. Polecenie sync działa podobnie do zatwierdzania i wypychania zmian w Git. Polecenie oferuje wiele opcji konfiguracji.

Sposób użycia

aws s3 sync <ŹRÓDŁO> <CEL> [--opcje]

Przykłady

Synchronizacja folderu lokalnego z S3

aws s3 sync ./folder_lokalny s3://nazwa_zasobnika

Synchronizacja danych S3 z folderem lokalnym

aws s3 sync s3://nazwa_zasobnika ./folder_lokalny

Synchronizacja danych pomiędzy dwoma zasobnikami S3

aws s3 sync s3://nazwa_zasobnika s3://nazwa_zasobnika_2

Przenoszenie danych między dwoma zasobnikami S3 z wykluczeniem wszystkich plików .txt

aws s3 sync s3://nazwa_zasobnika s3://nazwa_zasobnika_2 --exclude "*.txt

stronie internetowej

Zasobniki S3 mogą służyć do hostowania statycznych stron internetowych. Polecenie website umożliwia konfigurację statycznego hostingu S3 dla Twojego zasobnika.

Podajesz pliki indeksu i błędów, a S3 generuje adres URL, pod którym możesz wyświetlić swoją stronę.

Sposób użycia

aws s3 website <S3_URI> [--opcje]

Przykład:

Konfiguracja hostingu statycznego dla zasobnika S3, z określeniem plików indeksu i błędu

aws s3 website s3://nazwa_zasobnika --index-document index.html --error-document error.html

Podsumowanie

Mam nadzieję, że ten artykuł pozwolił Ci zapoznać się z najczęściej używanymi poleceniami AWS S3 do zarządzania zasobnikami. Jeżeli chcesz poszerzyć swoją wiedzę, zachęcamy do zapoznania się z materiałami certyfikacyjnymi AWS.