9 příkazů AWS S3 s příklady pro správu segmentu a dat

Photo of author

By etechblogcz

Řízení a správa dat může představovat náročný úkol. Následující příkazy AWS S3 vám usnadní rychlou a efektivní správu vašich bucketů a dat v rámci AWS S3.

AWS S3 je služba pro ukládání objektů, kterou poskytuje společnost AWS. Jedná se o jednu z nejvíce využívaných úložných služeb od AWS, která je schopná pojmout prakticky neomezené množství dat. Vyznačuje se vysokou dostupností, odolností a snadnou integrací s dalšími službami AWS.

AWS S3 nachází uplatnění u široké škály uživatelů s různými potřebami, jako je ukládání dat pro mobilní a webové aplikace, úložiště pro velká data, ukládání dat pro strojové učení, hosting statických webových stránek a mnoho dalších.

Pokud jste ve svém projektu používali S3, pravděpodobně jste si uvědomili, že s ohledem na obrovskou kapacitu úložiště může být správa stovek bucketů a terabajtů dat v nich uložena poměrně náročná. Proto vám přinášíme seznam příkazů AWS S3 s praktickými příklady, které vám usnadní efektivní správu vašich bucketů a dat v AWS S3.

Nastavení AWS CLI

Po úspěšném stažení a instalaci AWS CLI je nutné nakonfigurovat přihlašovací údaje AWS, abyste získali přístup ke svému účtu a službám AWS. Pojďme si stručně projít proces konfigurace AWS CLI.

Prvním krokem je vytvoření uživatele s programovým přístupem k vašemu účtu AWS. Ujistěte se, že při vytváření uživatele pro AWS CLI zaškrtnete příslušné políčko.

Po přidělení potřebných oprávnění vytvořte uživatele. Na poslední obrazovce po úspěšném vytvoření uživatele si zkopírujte ID přístupového klíče a tajný přístupový klíč. Tyto údaje budete potřebovat pro přihlášení prostřednictvím AWS CLI.

Nyní otevřete terminál a zadejte následující příkaz:

aws configure

Po zobrazení výzvy zadejte ID přístupového klíče a tajný přístupový klíč. Dále zvolte preferovanou oblast AWS a výstupní formát příkazů. Osobně doporučuji používat formát JSON. Nicméně tyto hodnoty můžete kdykoliv později upravit.

Nyní můžete v konzoli spouštět libovolné příkazy AWS CLI. Podívejme se nyní na některé z nejdůležitějších příkazů AWS S3.

cp

Příkaz cp slouží ke kopírování dat do a ze S3 bucketů. Lze jej použít pro kopírování souborů z lokálního úložiště do S3, ze S3 do lokálního úložiště i mezi různými S3 buckety. Existuje mnoho dalších parametrů, které lze s tímto příkazem použít.

Například parametr --dryrun pro otestování příkazu, parametr --storage-class pro určení třídy úložiště dat v S3 a další parametry pro nastavení šifrování a další možnosti. Příkaz cp vám dává plnou kontrolu nad tím, jakým způsobem konfigurujete zabezpečení dat v S3.

Použití

aws s3 cp <SOURCE> <DESTINATION> [--options]

Příklady

Zkopírujte data z lokálního úložiště do S3

aws s3 cp file_name.txt s3://bucket_name/file_name_2.txt

Zkopírujte data ze S3 do lokálního úložiště

aws s3 cp s3://bucket_name/file_name_2.txt file_name.txt

Kopírování dat mezi S3 buckety

aws s3 cp s3://bucket_name/file_name.txt s3://bucket_name_2/file_name_2.txt

Zkopírujte data z lokálního úložiště do S3 – IA (Infrequent Access)

aws s3 cp file_name.txt s3://bucket_name/file_name_2.txt --storage-class STANDARD_IA

Zkopírujte všechna data z lokální složky do S3

aws s3 cp ./local_folder s3://bucket_name --recursive

ls

Příkaz ls slouží k výpisu bucketů nebo obsahu bucketů. Pokud tedy potřebujete zobrazit informace o svých bucketech nebo o datech uložených v nich, můžete použít právě tento příkaz.

Použití:

aws s3 ls NONE or <BUCKET_NAME> [--options]

Příklady

Výpis všech bucketů ve vašem účtu

aws s3 ls

Výstup:
2022-02-02 18:20:14 BUCKET_NAME_1
2022-03-20 13:12:43 BUCKET_NAME_2
2022-03-29 10:52:33 BUCKET_NAME_3

Tento příkaz zobrazí seznam všech bucketů ve vašem účtu s datem jejich vytvoření.

Výpis všech objektů nejvyšší úrovně v bucketu

aws s3 ls BUCKET_NAME_1 or s3://BUCKET_NAME_1

Výstup:
                           PRE samplePrefix/
2021-12-09 12:23:20       8754 file_1.png
2021-12-09 12:23:21       1290 file_2.json
2021-12-09 12:23:21       3088 file_3.html

Tento příkaz zobrazí seznam všech objektů na nejvyšší úrovni v daném S3 bucketu. Všimněte si, že objekty s předponou samplePrefix/ nejsou zobrazeny, jsou zobrazeny pouze objekty nejvyšší úrovně.

Výpis všech objektů v bucketu

aws s3 ls BUCKET_NAME_1 or s3://BUCKET_NAME_1 --recursive

Výstup:
2021-12-09 12:23:20       8754 file_1.png
2021-12-09 12:23:21       1290 file_2.json
2021-12-09 12:23:21       3088 file_3.html
2021-12-09 12:23:20      16328 samplePrefix/file_1.txt
2021-12-09 12:23:20      29325 samplePrefix/sampleSubPrefix/file_1.css

Tento příkaz zobrazí seznam všech objektů v daném S3 bucketu. Všimněte si, že se zobrazují i objekty s předponou samplePrefix/ a všechny podpředpony.

mb

Příkaz mb se používá k vytvoření nového S3 bucketu. Jedná se o poměrně jednoduchý příkaz, je však nutné mít na paměti, že název nového bucketu musí být unikátní v rámci všech S3 bucketů.

Použití

aws s3 mb <BUCKET_NAME>

Příklad

Vytvoření nového bucketu v určité oblasti

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

mv

Příkaz mv slouží k přesunu dat do a ze S3 bucketů. Stejně jako příkaz cp se příkaz mv používá k přesunu dat z lokálního úložiště do S3, ze S3 do lokálního úložiště i mezi různými S3 buckety.

Jediný rozdíl mezi příkazy mv a cp je v tom, že při použití příkazu mv je soubor odstraněn ze zdroje. AWS pak tento soubor přesune do cíle. Existuje mnoho možností, které lze s tímto příkazem použít.

Použití

aws s3 mv <SOURCE> <DESTINATION> [--options]

Příklady

Přesun dat z lokálního úložiště do S3

aws s3 mv file_name.txt s3://bucket_name/file_name_2.txt

Přesun dat ze S3 do lokálního úložiště

aws s3 mv s3://bucket_name/file_name_2.txt file_name.txt

Přesun dat mezi S3 buckety

aws s3 mv s3://bucket_name/file_name.txt s3://bucket_name_2/file_name_2.txt

Přesun dat z lokálního úložiště do S3 – IA

aws s3 mv file_name.txt s3://bucket_name/file_name_2.txt --storage-class STANDARD_IA

Přesun všech dat z určité předpony v S3 do lokální složky

aws s3 mv s3://bucket_name/somePrefix ./localFolder --recursive

presign

Příkaz presign vygeneruje předem podepsanou URL pro klíč v S3 bucketu. Tento příkaz lze použít pro generování URL adres, které ostatní mohou využít k přístupu k souboru pod zadaným klíčem v S3 bucketu.

Použití

aws s3 presign <OBJECT_KEY> –expires-in <TIME_IN_SECONDS>

Příklad

Generování předem podepsané URL s platností 1 hodiny pro objekt v bucketu

aws s3 presign s3://bucket_name/samplePrefix/file_name.png --expires-in 3600

Výstup:
https://s3.ap-south-1.amazonaws.com/bucket_name/samplePrefix/file_name.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

Příkaz rb se používá k odstranění S3 bucketů.

Použití

aws rb <BUCKET_NAME>

Příklad

Odstranění S3 bucketu

aws s3 mb myBucketName
# Tento příkaz selže, pokud v bucketu existují data.

Odstranění S3 bucketu i s daty v něm uloženými

aws s3 mb myBucketName --force

rm

Příkaz rm se používá k odstranění objektů v S3 bucketech.

Použití

aws s3 rm <S3Uri_To_The_File>

Příklady

Odstranění jednoho souboru z S3 bucketu

aws s3 rm s3://bucket_name/sample_prefix/file_name_2.txt

Odstranění všech souborů s určitou předponou v S3 bucketu

aws s3 rm s3://bucket_name/sample_prefix --recursive

Odstranění všech souborů v S3 bucketu

aws s3 rm s3://bucket_name --recursive

sync

Příkaz sync kopíruje a aktualizuje soubory ze zdroje do cíle, podobně jako příkaz cp. Je však důležité pochopit rozdíl mezi těmito dvěma příkazy. Při použití příkazu cp se data zkopírují ze zdroje do cíle i v případě, že v cíli již existují.

Soubory v cíli také nebudou smazány, pokud byly odstraněny ze zdroje. Příkaz sync se však před zahájením kopírování podívá do cíle a zkopíruje pouze nové a aktualizované soubory. Příkaz sync se chová podobně jako nahrávání a odesílání změn do vzdálené větve v gitu. Příkaz sync nabízí mnoho možností, jak jej přizpůsobit.

Použití

aws s3 sync <SOURCE> <DESTINATION> [--options]

Příklady

Synchronizace lokální složky do S3

aws s3 sync ./local_folder s3://bucket_name

Synchronizace dat ze S3 do lokální složky

aws s3 sync s3://bucket_name ./local_folder

Synchronizace dat mezi dvěma S3 buckety

aws s3 sync s3://bucket_name s3://bucket_name_2

Přesun dat mezi dvěma S3 buckety s výjimkou všech souborů .txt

aws s3 sync s3://bucket_name s3://bucket_name_2 --exclude "*.txt

webová stránka

S3 bucket lze využít k hostování statických webových stránek. Příkaz website slouží ke konfiguraci hostování statických webových stránek S3 pro váš bucket.

Zadáte indexové a chybové soubory a S3 vám poskytne URL adresu, kde si můžete stránku prohlédnout.

Použití

aws s3 website <S3_URI> [--options]

Příklad:

Konfigurace statického hostování pro S3 bucket a zadání indexového a chybového souboru

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

Závěr

Doufáme, že vám výše uvedený přehled poskytl dobrý úvod do některých často používaných příkazů AWS S3 pro správu bucketů. Pokud se chcete dozvědět více, můžete se podívat na podrobnosti certifikace AWS.