Puncte:0

Cum să descărcați milioane de fișiere s3 și să le comprimați din mers?

drapel eg

Am o găleată S3 cu milioane de fișiere și vreau să le descarc pe toate. Din moment ce nu am suficient spațiu de stocare, aș vrea să le descarc, să le comprim din mers și abia apoi să le salvez. Cum pot face acest lucru?

Pentru a ilustra ceea ce vreau să spun: aws s3 cp --recursive s3://bucket | gzip > fișier

Hennes avatar
drapel za
În loc de >fișier, probabil că puteți folosi netcat (pipe through nc).
Tim avatar
drapel gp
Tim
Câteva idei 1) Montați S3 ca unitate (pe google) și arhivați-l de acolo 2) Obțineți o instanță spot, descărcați și zipați. Asigurați-vă că utilizați un punct final de gateway S3 în VPC-ul dvs. pentru a reduce costurile.
drapel cn
De asemenea, puteți scrie un lambda care ia o cale de la S3 și gzips conținutul, apoi returnează fișierul gzipped. Apoi ați putea folosi CLI `aws` pentru a lista fișierele și pentru a trimite cereri către lambda.
John Rotenstein avatar
drapel in
„Descarcă” unde? La o instanță Amazon EC2 sau la propriul computer?
Puncte:0
drapel af

Nu este clar dacă doriți să păstrați obiectele necomprimate în S3 sau dacă conținutul găleții se schimbă în continuare.

O opțiune pe care o aveți este să utilizați Inventarul S3. Nu este instantaneu, dar va genera automat o listă de obiecte din găleată și va scrie asta într-o găleată S3 (aceeași găleată sau alta). Puteți citi această listă într-un script mic (indiferent cu ce vă simțiți confortabil) și să o faceți să funcționeze câte un obiect. Utilizați S3 CLI pentru a trage în jos obiectul, apoi comprimați-l folosind instrumentele OS/script.

Recomand cu tărie să construiți ceva care să verifice dacă obiectul comprimat există deja, astfel încât să puteți reporni procesul dacă nu reușește sau sunt adăugate obiecte noi fără a fi nevoie să procesați totul din nou.

Dacă scrieți obiectele comprimate înapoi în S3, luați în considerare utilizarea unei instanțe EC2 sau Lambda. Cu Lambda, poate fi necesar să utilizați un flux de fișiere pentru a comprima fișierul din mers, în loc să îl trageți în jos. Ar trebui să puteți găsi exemple în acest sens cel puțin pentru Python, dacă nu pentru alte limbi acceptate.

-- Un cuvânt de precauție, faceți un calcul aproximativ cu privire la cât va costa asta. Solicitările de primire sunt destul de ieftine, dar transferul de date afară poate fi scump. De asemenea, dacă utilizați orice altă clasă de stocare decât Standard, probabil că va avea un cost de recuperare asociat.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.