Upravljanje podacima pomoću AWS S3 komandi
Upravljanje i kontrola podacima mogu biti izazovni. Ove AWS S3 komande vam mogu pomoći da efikasno i brzo rukovodite vašim AWS S3 segmentima i podacima.
AWS S3 je usluga skladištenja objekata koju pruža AWS. To je najkorišćenija usluga skladištenja koja može da čuva praktično neograničene količine podataka. Veoma je dostupna, izdržljiva i jednostavno se integriše sa mnogim drugim AWS uslugama.
AWS S3 mogu koristiti korisnici sa različitim potrebama, kao što su skladištenje za mobilne/web aplikacije, big data skladištenje, čuvanje podataka za mašinsko učenje, hosting statičkih web sajtova i još mnogo toga.
Ako ste koristili S3 u svom projektu, onda znate da upravljanje stotinama bucket-a i terabajtima podataka može biti kompleksan zadatak zbog ogromnog skladišnog kapaciteta. Predstavljamo vam listu AWS S3 komandi sa primerima koje možete iskoristiti za efikasno upravljanje vašim AWS S3 segmentima i podacima.
Podešavanje AWS CLI
Nakon uspešnog preuzimanja i instalacije AWS CLI, neophodno je da konfigurišete AWS akreditive kako biste mogli pristupiti svom AWS nalogu i uslugama. Hajde da ukratko prođemo kroz proces konfigurisanja AWS CLI.
Prvi korak je kreiranje korisnika sa programskim pristupom vašem AWS nalogu. Obavezno označite ovo polje prilikom kreiranja korisnika za AWS CLI.
Dodijelite potrebne dozvole i kreirajte korisnika. Na finalnom ekranu, po uspješnom kreiranju korisnika, kopirajte ID ključa za pristup i tajni pristupni ključ. Ove akreditive koristite za prijavu putem AWS CLI.
Sada otvorite terminal po vašem izboru i pokrenite sljedeću komandu:
aws configure
Unesite ID ključa za pristup i tajni pristupni ključ kada se to od vas zatraži. Odaberite željeni AWS region i format izlaza komande. Lično preferiram JSON format, ali to možete promijeniti kasnije.
Sada možete pokretati bilo koju AWS CLI komandu u konzoli. Hajde da sada pogledamo AWS S3 komande.
cp
komanda
Komanda cp
služi za kopiranje podataka u i iz S3 bucket-a. Može se koristiti za kopiranje datoteka sa lokalnog na S3, sa S3 na lokalni, kao i između dva S3 bucket-a. Postoji veliki broj parametara koje možete koristiti sa ovom komandom.
Na primjer, --dryrun
parametar za testiranje komande, --storage-class
parametar za definisanje klase skladištenja vaših podataka u S3, zatim parametri za podešavanje enkripcije i još mnogo toga. cp
komanda vam daje potpunu kontrolu nad načinom na koji konfigurišete sigurnost podataka u S3.
Upotreba
aws s3 cp <IZVOR> <ODREDIŠTE> [--opcije]
Primeri
Kopiranje podataka sa lokalnog na S3
aws s3 cp naziv_datoteke.txt s3://naziv_bucket-a/naziv_datoteke_2.txt
Kopiranje podataka sa S3 na lokalni
aws s3 cp s3://naziv_bucket-a/naziv_datoteke_2.txt naziv_datoteke.txt
Kopiranje podataka između S3 segmenta
aws s3 cp s3://naziv_bucket-a/naziv_datoteke.txt s3://naziv_bucket-a_2/naziv_datoteke_2.txt
Kopiranje podataka sa lokalnog na S3 – IA
aws s3 cp naziv_datoteke.txt s3://naziv_bucket-a/naziv_datoteke_2.txt --storage-class STANDARD_IA
Kopiranje svih podataka iz lokalne fascikle u S3
aws s3 cp ./lokalna_fascikla s3://naziv_bucket-a --recursive
ls
komanda
ls
komanda se koristi za listanje bucket-a ili sadržaja bucket-a. Ukoliko želite da vidite informacije o svojim segmentima ili podacima unutar njih, koristite ls
komandu.
Upotreba:
aws s3 ls NONE ili <NAZIV_BUCKET-A> [--opcije]
Primeri
Listanje svih bucket-a na nalogu
aws s3 ls Izlaz: 2022-02-02 18:20:14 NAZIV_BUCKET-A_1 2022-03-20 13:12:43 NAZIV_BUCKET-A_2 2022-03-29 10:52:33 NAZIV_BUCKET-A_3
Ova komanda izlistava sve bucket-e na vašem nalogu sa datumom kreiranja.
Listanje svih objekata najvišeg nivoa u bucket-u
aws s3 ls NAZIV_BUCKET-A_1 ili s3://NAZIV_BUCKET-A_1 Izlaz: PRE primerPrefiks/ 2021-12-09 12:23:20 8754 datoteka_1.png 2021-12-09 12:23:21 1290 datoteka_2.json 2021-12-09 12:23:21 3088 datoteka_3.html
Ova komanda izlistava sve objekte najvišeg nivoa u S3 bucket-u. Objekti sa prefiksom primerPrefiks/
nisu prikazani, samo objekti na najvišem nivou.
Listanje svih objekata u bucket-u
aws s3 ls NAZIV_BUCKET-A_1 ili s3://NAZIV_BUCKET-A_1 --recursive Izlaz: 2021-12-09 12:23:20 8754 datoteka_1.png 2021-12-09 12:23:21 1290 datoteka_2.json 2021-12-09 12:23:21 3088 datoteka_3.html 2021-12-09 12:23:20 16328 primerPrefiks/datoteka_1.txt 2021-12-09 12:23:20 29325 primerPrefiks/podPrimerPrefiks/datoteka_1.css
Ova komanda izlistava sve objekte u S3 bucket-u. Objekti sa prefiksom primerPrefiks/
i svim njegovim podprefiksim su takođe prikazani.
mb
komanda
mb
komanda služi za kreiranje novih S3 bucket-a. Ovo je jednostavna komanda, ali da biste kreirali novi bucket, ime novog bucket-a mora biti jedinstveno u svim S3 bucket-ima.
Upotreba
aws s3 mb <NAZIV_BUCKET-A>
Primer
Kreiranje novog bucket-a u određenom regionu
aws s3 mb mojJedinstveniNazivBucket-a --region eu-west-1
mv
komanda
mv
komanda služi za premještanje podataka u i iz S3 bucket-a. Kao i kod cp
komande, mv
se koristi za premještanje podataka sa lokalnog na S3, sa S3 na lokalni ili između dva S3 bucket-a.
Jedina razlika između mv
i cp
je da se pri upotrebi mv
datoteka briše sa izvora. AWS premešta ovu datoteku na odredište. Postoji veliki broj opcija koje se mogu definisati sa ovom komandom.
Upotreba
aws s3 mv <IZVOR> <ODREDIŠTE> [--opcije]
Primeri
Premještanje podataka sa lokalnog na S3
aws s3 mv naziv_datoteke.txt s3://naziv_bucket-a/naziv_datoteke_2.txt
Premještanje podataka sa S3 na lokalni
aws s3 mv s3://naziv_bucket-a/naziv_datoteke_2.txt naziv_datoteke.txt
Premještanje podataka između S3 segmenta
aws s3 mv s3://naziv_bucket-a/naziv_datoteke.txt s3://naziv_bucket-a_2/naziv_datoteke_2.txt
Premještanje podataka sa lokalnog na S3 – IA
aws s3 mv naziv_datoteke.txt s3://naziv_bucket-a/naziv_datoteke_2.txt --storage-class STANDARD_IA
Premještanje svih podataka iz prefiksa u S3 u lokalnu fasciklu.
aws s3 mv s3://naziv_bucket-a/nekiPrefiks ./lokalnaFascikla --recursive
presign
komanda
Komanda presign
generiše unapred potpisanu URL adresu za ključ u S3 segmentu. Možete koristiti ovu komandu da generišete URL adrese koje drugi mogu koristiti za pristup datoteci u specifičnom ključu S3 bucket-a.
Upotreba
aws s3 presign <KLJUČ_OBJEKTA> --expires-in <VRIJEME_U_SEKUNDAMA>
Primer
Generisanje unapred potpisane URL adrese koja važi 1 sat za objekat u bucket-u.
aws s3 presign s3://naziv_bucket-a/primerPrefiks/naziv_datoteke.png --expires-in 3600 Izlaz: https://s3.ap-south-1.amazonaws.com/naziv_bucket-a/primerPrefiks/naziv_datoteke.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
komanda
Komanda rb
služi za brisanje S3 bucket-a.
Upotreba
aws rb <NAZIV_BUCKET-A>
Primer
Brisanje S3 bucket-a.
aws s3 mb mojNazivBucket-a # Ova komanda ne radi ako ima podataka u bucket-u.
Brisanje S3 bucket-a zajedno sa podacima unutar S3 segmenta.
aws s3 mb mojNazivBucket-a --force
rm
komanda
Komanda rm
služi za brisanje objekata u S3 bucket-ima.
Upotreba
aws s3 rm <S3Uri_Do_Datoteke>
Primeri
Brisanje jedne datoteke iz S3 bucket-a.
aws s3 rm s3://naziv_bucket-a/primer_prefiks/naziv_datoteke_2.txt
Brisanje svih datoteka sa određenim prefiksom u S3 bucket-u.
aws s3 rm s3://naziv_bucket-a/primer_prefiks --recursive
Brisanje svih datoteka u S3 bucket-u.
aws s3 rm s3://naziv_bucket-a --recursive
sync
komanda
Komanda sync
kopira i ažurira datoteke sa izvora na odredište, slično kao cp
komanda. Međutim, važno je razumjeti razliku između ove dvije komande. Pri upotrebi komande cp
, podaci se kopiraju sa izvora na odredište čak i ako već postoje na odredištu.
Takođe, datoteke se ne brišu sa odredišta ako su izbrisane sa izvora. S druge strane, komanda sync
provjerava odredište prije kopiranja podataka i kopira samo nove ili ažurirane datoteke. sync
komanda je slična commit-ovanju i push-ovanju promjena u udaljenu granu u git-u. Komanda nudi mnoge opcije za prilagođavanje.
Upotreba
aws s3 sync <IZVOR> <ODREDIŠTE> [--opcije]
Primeri
Sinhronizacija lokalne fascikle sa S3
aws s3 sync ./lokalna_fascikla s3://naziv_bucket-a
Sinhronizacija S3 podataka u lokalnu fasciklu
aws s3 sync s3://naziv_bucket-a ./lokalna_fascikla
Sinhronizacija podataka između dva S3 bucket-a
aws s3 sync s3://naziv_bucket-a s3://naziv_bucket-a_2
Premještanje podataka između dva S3 segmenta isključujući sve .txt datoteke
aws s3 sync s3://naziv_bucket-a s3://naziv_bucket-a_2 --exclude "*.txt"
website
komanda
Možete koristiti S3 bucket za hosting statičkih web sajtova. Komanda website
se koristi za konfigurisanje S3 statičkog hostinga za vaš bucket.
Vi određujete indeks i datoteke grešaka, a S3 vam daje URL gdje možete pogledati datoteku.
Upotreba
aws s3 website <S3_URI> [--opcije]
Primer:
Konfigurisanje statičkog hostinga za S3 bucket i navođenje indeks i greška datoteka.
aws s3 website s3://naziv_bucket-a --index-document index.html --error-document error.html
Zaključak
Nadam se da vam je navedeno dalo ideju o nekim od najčešće korišćenih AWS S3 komandi za upravljanje bucket-ima. Ako želite saznati više, možete pogledati detalje o AWS certifikatima.