Kontroll og håndtering av data kan være en anstrengende oppgave. Disse AWS S3-kommandoene hjelper deg raskt og effektivt å administrere AWS S3-bøttene og dataene dine.
AWS S3 er objektlagringstjenesten levert av AWS. Det er den mest brukte lagringstjenesten fra AWS som praktisk talt kan inneholde en uendelig mengde data. Den er svært tilgjengelig, holdbar og enkel å integrere med flere andre AWS-tjenester.
AWS S3 kan brukes av personer med alle krav som lagring av mobil-/nettapplikasjoner, lagring av store data, datalagring for maskinlæring, hosting av statiske nettsteder og mange flere.
Hvis du har brukt S3 i prosjektet ditt, ville du vite at gitt den enorme mengden lagringskapasitet, kan administrasjon av 100-vis med bøtter og terabyte med data i disse bøttene være en krevende jobb. Vi har en liste over AWS S3-kommandoer med eksempler som du kan bruke til å administrere AWS S3-bøttene og dataene dine effektivt.
Innholdsfortegnelse
AWS CLI-oppsett
Etter at du har lastet ned og installert AWS CLI, må du konfigurere AWS-legitimasjon for å få tilgang til AWS-kontoen din og tjenestene. La oss raskt gå gjennom hvordan du kan konfigurere AWS CLI.
Det første trinnet er å opprette en bruker med programmatisk tilgang til AWS-kontoen. Husk å krysse av i denne boksen når du oppretter en bruker for AWS CLI.
Gi tillatelsene og opprett en bruker. På det siste skjermbildet etter at du har opprettet denne brukeren, kopier tilgangsnøkkel-ID og hemmelig tilgangsnøkkel for denne brukeren. Vi vil bruke disse legitimasjonene til å logge på via AWS CLI.
Gå nå til terminalen du ønsker og kjør følgende kommando.
aws configure
Skriv inn tilgangsnøkkel-ID og hemmelig tilgangsnøkkel når du blir bedt om det. Velg hvilken som helst AWS-region du ønsker og kommandoutdataformatet. Jeg personlig foretrekker å bruke JSON-formatet. Dette er ingen stor sak, du kan alltid endre disse verdiene senere.
Du kan nå kjøre en hvilken som helst AWS CLI-kommando i konsollen. La oss nå gå gjennom AWS S3-kommandoene.
cp
cp-kommandoen kopierer ganske enkelt dataene til og fra S3-bøtter. Den kan brukes til å kopiere filer fra lokal til S3, fra S3 til lokal, og mellom to S3-bøtter. Det er mange andre parametere som du kan levere med kommandoene.
For eksempel -dryrun parameter for å teste kommandoen, -storage-class parameter for å spesifisere lagringsklassen til dataene dine i S3, andre parametere for å angi kryptering og mye mer. De cp kommando gir deg full kontroll over hvordan du konfigurerer datasikkerheten din i S3.
Bruk
aws s3 cp <SOURCE> <DESTINATION> [--options]
Eksempler
Kopier data fra lokal til S3
aws s3 cp file_name.txt s3://bucket_name/file_name_2.txt
Kopier data fra S3 til lokalt
aws s3 cp s3://bucket_name/file_name_2.txt file_name.txt
Kopier data mellom S3-bøtter
aws s3 cp s3://bucket_name/file_name.txt s3://bucket_name_2/file_name_2.txt
Kopier data fra lokal til S3 – IA
aws s3 cp file_name.txt s3://bucket_name/file_name_2.txt --storage-class STANDARD_IA
Kopier alle dataene fra en lokal mappe til S3
aws s3 cp ./local_folder s3://bucket_name --recursive
ls
De ls kommando brukes til å liste opp bøttene eller innholdet i bøttene. Så hvis du bare vil se informasjon om bøttene dine eller dataene i disse bøttene, kan du bruke ls-kommandoen.
Bruk:
aws s3 ls NONE or <BUCKET_NAME> [--options]
Eksempler
List opp alle bøttene i kontoen
aws s3 ls Output: 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
Denne kommandoen viser alle bøttene i kontoen din med datoen for opprettelse av bøtten.
List opp alle objekter på øverste nivå i en bøtte
aws s3 ls BUCKET_NAME_1 or s3://BUCKET_NAME_1 Output: 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
Denne kommandoen viser alle objektene på øverste nivå i en S3-bøtte. Merk her at objektene med prefikset samplePrefix/ ikke vises her bare objektene på øverste nivå.
List opp alle gjenstandene i en bøtte
aws s3 ls BUCKET_NAME_1 or s3://BUCKET_NAME_1 --recursive Output: 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
Denne kommandoen viser alle objektene i en S3-bøtte. Merk her at objektene med prefikset samplePrefix/ og alle underprefiksene også vises.
mb
De mb kommando brukes ganske enkelt til å lage nye S3-bøtter. Dette er en ganske enkel kommando, men for å lage nye skuffer, bør navnet på den nye bøtten være unikt for alle S3-bøttene.
Bruk
aws s3 mb <BUCKET_NAME>
Eksempel
Opprett en ny bøtte i en bestemt region
aws s3 mb myUniqueBucketName --region eu-west-1
mv
De mv kommando flytter ganske enkelt dataene til og fra S3-bøtter. Akkurat som cp-kommandoen, brukes mv-kommandoen til å flytte data fra lokal til S3, S3 til lokal, eller mellom to S3-bøtter.
Den eneste forskjellen mellom mv- og cp-kommandoen er at når du bruker mv-kommandoen, slettes filen fra kilden. AWS flytter denne filen til destinasjonen. Det er mange alternativer du kan spesifisere med kommandoen.
Bruk
aws s3 mv <SOURCE> <DESTINATION> [--options]
Eksempler
Flytt data fra lokal til S3
aws s3 mv file_name.txt s3://bucket_name/file_name_2.txt
Flytt data fra S3 til lokal
aws s3 mv s3://bucket_name/file_name_2.txt file_name.txt
Flytt data mellom S3-bøtter
aws s3 mv s3://bucket_name/file_name.txt s3://bucket_name_2/file_name_2.txt
Flytt data fra lokal til S3 – IA
aws s3 mv file_name.txt s3://bucket_name/file_name_2.txt --storage-class STANDARD_IA
Flytt alle dataene fra et prefiks i S3 til en lokal mappe.
aws s3 mv s3://bucket_name/somePrefix ./localFolder --recursive
presign
Presign-kommandoen genererer en forhåndssignert URL for en nøkkel i S3-bøtten. Du kan bruke denne kommandoen til å generere URL-er som kan brukes av andre for å få tilgang til en fil i den angitte S3-bøttenøkkelen.
Bruk
aws s3 presign
Eksempel
Generer en forhåndssignert URL som er gyldig i 1 time for et objekt i bøtta.
aws s3 presign s3://bucket_name/samplePrefix/file_name.png --expires-in 3600 Output: 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
rb-kommandoen brukes ganske enkelt til å slette S3-bøtter.
Bruk
aws rb <BUCKET_NAME>
Eksempel
Slett en S3-bøtte.
aws s3 mb myBucketName # This command fails if there is any data in this bucket.
Slett en S3-bøtte sammen med dataene i S3-bøtten.
aws s3 mb myBucketName --force
rm
rm-kommandoen brukes ganske enkelt til å slette objektene i S3-bøtter.
Bruk
aws s3 rm <S3Uri_To_The_File>
Eksempler
Slett én fil fra S3-bøtten.
aws s3 rm s3://bucket_name/sample_prefix/file_name_2.txt
Slett alle filer med et spesifikt prefiks i en S3-bøtte.
aws s3 rm s3://bucket_name/sample_prefix --recursive
Slett alle filer i en S3-bøtte.
aws s3 rm s3://bucket_name --recursive
synkronisere
Synkroniseringskommandoen kopierer og oppdaterer filer fra kilden til destinasjonen akkurat som cp-kommandoen. Det er viktig at vi forstår forskjellen mellom cp og sync-kommandoen. Når du bruker cp kopierer den data fra kilde til destinasjon selv om dataene allerede finnes i destinasjonen.
Det vil heller ikke slette filer fra destinasjonen hvis de slettes fra kilden. Synkronisering ser imidlertid på destinasjonen før du kopierer dataene dine og kopierer bare de nye og oppdaterte filene. De synkroniseringskommando ligner på å begå og skyve endringer til en ekstern gren i git. Synkroniseringskommandoen tilbyr mange alternativer for å tilpasse kommandoen.
Bruk
aws s3 sync <SOURCE> <DESTINATION> [--options]
Eksempler
Synkroniser lokal mappe til S3
aws s3 sync ./local_folder s3://bucket_name
Synkroniser S3-data til en lokal mappe
aws s3 sync s3://bucket_name ./local_folder
Synkroniser data mellom to S3-bøtter
aws s3 sync s3://bucket_name s3://bucket_name_2
Flytt data mellom to S3-bøtter unntatt alle .txt-filer
aws s3 sync s3://bucket_name s3://bucket_name_2 --exclude "*.txt
nettsted
Du kan bruke S3-bøtter til å være vert for statiske nettsteder. Nettstedkommandoen brukes til å konfigurere S3 statiske nettstedshosting for bøtten din.
Du spesifiserer indeksen og feilfilene og S3 gir deg en URL hvor du kan se filen.
Bruk
aws s3 website <S3_URI> [--options]
Eksempel:
Konfigurer statisk hosting for en S3-bøtte og spesifiser indeks- og feilfilene
aws s3 website s3://bucket_name --index-document index.html --error-document error.html
Konklusjon
Jeg håper ovenstående gir deg en ide om noen av de ofte brukte AWS S3-kommandoene for å administrere bøtter. Hvis du er interessert i å lære mer, kan du sjekke ut AWS-sertifiseringsdetaljer.