{coding}Sight

wprowadzenie

Amazon Web Service, znany również jako AWS, jest wiodącym dostawcą infrastruktury chmurowej do przechowywania serwerów, aplikacji, baz danych, sieci, kontrolerów domen i aktywnych katalogów w szerokiej architekturze chmury. AWS zapewnia prostą usługę przechowywania (S3) do przechowywania obiektów lub danych z trwałością danych (119). AWS S3 jest zgodny z PCI-DSS, HIPAA/HITECH, FedRAMP, unijną dyrektywą o ochronie danych i FISMA, co pomaga spełnić wymagania regulacyjne.

po zalogowaniu się do portalu AWS przejdź do zasobnika S3, wybierz żądany zasobnik i pobierz lub prześlij pliki. Wykonanie tego ręcznie na portalu jest dość czasochłonnym zadaniem. Zamiast tego możesz użyć interfejsu wiersza poleceń AWS (CLI), który najlepiej sprawdza się przy masowych operacjach na plikach za pomocą łatwych w użyciu skryptów. Możesz zaplanować wykonanie tych skryptów dla pobierania/przesyłania obiektów bez nadzoru.

Konfiguracja AWS CLI

Pobierz AWS CLI i zainstaluj interfejs wiersza poleceń AWS V2 w systemach operacyjnych Windows, macOS lub Linux.

konfiguracja AWS CLI

możesz postępować zgodnie z kreatorem instalacji, aby uzyskać szybką konfigurację.

Utwórz użytkownika IAM

aby uzyskać dostęp do wiadra AWS S3 za pomocą interfejsu wiersza poleceń, musimy skonfigurować użytkownika IAM. W portalu AWS przejdź do zarządzania tożsamością i dostępem (IAM) i kliknij Dodaj użytkownika.

zakładanie użytkownika IAM

na stronie Dodaj użytkownika wprowadź nazwę użytkownika i typ dostępu jako programmatic access.

dostęp programowy

Następnie zapewniamy uprawnienia użytkownikowi IAM przy użyciu istniejących zasad. W tym artykule wybraliśmy jedną z Polityk zarządzanych AWS.

nadawanie uprawnień użytkownikowi IAM przy użyciu istniejących zasad

przejrzyj konfigurację użytkownika IAM i kliknij Utwórz użytkownika.

przejrzyj konfigurację użytkownika IAM i kliknij Utwórz użytkownika

po utworzeniu użytkownika AWS IAM podaje identyfikator klucza dostępu i tajny klucz dostępu do połączenia za pomocą AWS CLI.

Uwaga: Należy skopiować i zapisać te poświadczenia. AWS nie pozwala na ich odzyskanie w późniejszym etapie.

iam użytkownik utworzony pomyślnie.

Skonfiguruj profil AWS na komputerze

aby pracować z AWS CLI na zasobach usługi Amazon web service, Uruchom PowerShell i uruchom następujące polecenie.

>aws configure

wymaga następujących wpisów użytkownika:

  • ID klucza dostępu użytkownika IAM
  • AWS Secret access key
  • Domyślna nazwa regionu AWS
  • domyślny format wyjściowy
Konfiguracja profilu AWS

Utwórz wiadro S3 za pomocą AWS CLI

aby przechowywać pliki lub obiekty, potrzebujemy wiadro S3. Możemy go stworzyć zarówno za pomocą AWS portal, jak i AWS CLI.

poniższe polecenie CLI tworzy wiadro nazwane w regionie us-east-1. Zapytanie zwraca nazwę bucket na wyjściu, jak pokazano poniżej.

>aws s3api create-bucket --bucket mys3bucket-testupload1 --region us-east-1
Tworzenie S3 Bucket za pomocą AWS CLI

nowo utworzone wiadro S3 można zweryfikować za pomocą konsoli AWS. Jak pokazano poniżej, jest przesyłany w US East (N. Virginia).

sprawdź nowo utworzone wiadro S3 za pomocą konsoli AWS

aby wyświetlić listę istniejącego wiadra S3 za pomocą AWS CLI, uruchom polecenie-aws S3 ls

lista istniejących S3 bucket za pomocą AWS CLI

przesyłanie obiektów w wiadrze S3 za pomocą AWS CLI

możemy przesłać jeden plik lub wiele plików razem w wiadrze AWS S3 za pomocą polecenia AWS CLI. Załóżmy, że mamy jeden plik do przesłania. Plik jest przechowywany lokalnie w C:\S3Files o nazwie script1.txt.

aby przesłać pojedynczy plik, użyj następującego skryptu CLI.

>aws s3 cp C:\S3Files\Script1.txt s3://mys3bucket-testupload1/

wczytuje plik i zwraca ścieżki pliku źródłowego-docelowego na wyjściu:

przesyłanie obiektów w wiadrze S3 za pomocą AWS CLI

Uwaga: czas przesłania do zasobnika S3 zależy od rozmiaru pliku i przepustowości sieci. Do celów demonstracyjnych użyłem małego pliku kilku Kb.

możesz odświeżyć wiadro s3 i wyświetlić zapisany w nim plik.

odśwież wiadro S3

Podobnie możemy użyć tego samego skryptu CLI z niewielką modyfikacją. Przesyła wszystkie pliki ze źródła do docelowego wiadra S3. Tutaj używamy parametru-rekurencyjnego do przesyłania wielu plików razem:

>aws s3 cp c:\s3files s3://mys3bucket-testupload1/ --recursive

jak pokazano poniżej, przesyła wszystkie pliki przechowywane w lokalnym katalogu c:\S3Files do wiadra S3. Możesz uzyskać postęp każdego przesłania w konsoli.

 postęp każdego uploadu

możemy zobaczyć wszystkie przesłane pliki za pomocą parametrów rekurencyjnych w wiadrze S3 na poniższym rysunku:

wszystkie przesłane pliki

jeśli nie chcesz przejść do portalu AWS w celu weryfikacji przesłanej listy, uruchom skrypt CLI, zwróć wszystkie pliki i prześlij znaczniki czasu.

>aws s3 ls s3://mys3bucket-testupload1
uruchom skrypt CLI, zwróć wszystkie pliki i prześlij znaczniki czasu.

Załóżmy, że chcemy przesłać tylko pliki z określonym rozszerzeniem do osobnego folderu AWS S3. Filtrowanie obiektów można wykonać również za pomocą skryptu CLI. W tym celu skrypt używa słów kluczowych include I exclude.

na przykład poniższe zapytanie sprawdza pliki w katalogu źródłowym (c:\s3bucket), filtruje pliki z .rozszerzenie sql, i wgrywa je do folderu SQL / wiadra S3. Tutaj określiliśmy rozszerzenie za pomocą słowa kluczowego include:

>aws s3 cp C:\S3Files s3://mys3bucket-testupload1/ --recursive --exclude * --include *.sql

na wyjściu skryptu, można sprawdzić, że pliki z .wysłano tylko rozszerzenia sql.

sprawdź, że pliki z .wysłano tylko rozszerzenia sql
sprawdź, że pliki z .wysłano tylko rozszerzenia sql

podobnie, poniższy skrypt przesyła pliki z .rozszerzenie csv do wiadra S3.

>aws s3 cp C:\S3Files s3://mys3bucket-testupload1/ --recursive --exclude * --include *.csv
 skrypt uploads files with the .rozszerzenie csv do wiadra S3

Prześlij nowe lub zmodyfikowane pliki z folderu źródłowego do zasobnika S3

Załóżmy, że używasz zasobnika S3 do przenoszenia kopii zapasowych dziennika transakcji bazy danych.

w tym celu używamy słowa kluczowego sync. Rekurencyjnie kopiuje nowe, zmodyfikowane pliki z katalogu źródłowego do docelowego zasobnika S3.

>aws s3 sync C:\S3Files s3://mys3bucket-testupload1/ --recursive --exclude * --include *.sql

jak pokazano poniżej, przesłał plik, którego nie było w wiadrze s3. Podobnie, jeśli zmodyfikujesz dowolny istniejący plik w folderze źródłowym, skrypt CLI wybierze go i prześle do zasobnika S3.

Prześlij nowe lub zmodyfikowane pliki z folderu źródłowego do S3 Bucket
Prześlij nowe lub zmodyfikowane pliki z folderu źródłowego do S3 Bucket

podsumowanie

skrypt AWS CLI może ułatwić pracę przy przechowywaniu plików w wiadrze S3. Możesz go użyć do przesyłania lub synchronizacji plików między folderami lokalnymi a zasobnikiem S3. Jest to szybki sposób wdrażania i pracy z obiektami w chmurze AWS.

Tagi: AWS, aws cli, aws s3, platforma chmurowa Ostatnia modyfikacja: 16 września 2021 r

Leave a Reply