9 AWS S3-kommandoer med eksempler for å administrere bøtte og data

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.

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.

  Hvordan lage og bruke Memoji og Animoji på en iPhone

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.

  5 grunnleggende Excel-funksjoner som gjør arbeidet uendelig mye enklere

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.

  Hvordan reaktiverer du den merkede kontoen din

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 – utløper om

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.