Ří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.