9 AWS S3-kommandoer med eksempler til håndtering af Bucket og Data

Kontrol og styring af data kan være en anstrengende opgave. Disse AWS S3-kommandoer hjælper dig med hurtigt og effektivt at administrere dine AWS S3-bøtter og data.

AWS S3 er objektlagringstjenesten leveret af AWS. Det er den mest udbredte lagertjeneste fra AWS, der praktisk talt kan rumme en uendelig mængde data. Det er meget tilgængeligt, holdbart og nemt at integrere med flere andre AWS-tjenester.

AWS S3 kan bruges af folk med alle krav som mobil-/webapplikationslagring, big data-lagring, maskinlæringsdatalagring, hosting af statiske websteder og mange flere.

Hvis du har brugt S3 i dit projekt, ville du vide, at i betragtning af den enorme mængde lagerkapacitet, kan håndteringen af ​​100-vis af buckets og terabytes af data i disse buckets være et krævende job. Vi har en liste over AWS S3-kommandoer med eksempler, som du kan bruge til at administrere dine AWS S3-bøtter og data effektivt.

AWS CLI opsætning

Når du har downloadet og installeret AWS CLI, skal du konfigurere AWS-legitimationsoplysninger for at få adgang til din AWS-konto og -tjenester. Lad os hurtigt gennemgå, hvordan du kan konfigurere AWS CLI.

  Hvad er Deep Fusion-kameraet på iPhone 11?

Det første trin er at oprette en bruger med programmatisk adgang til AWS-konto. Husk at markere dette felt, når du opretter en bruger til AWS CLI.

Giv tilladelserne og opret en bruger. På det sidste skærmbillede, efter at du har oprettet denne bruger, kopierer du adgangsnøgle-id’et og den hemmelige adgangsnøgle for denne bruger. Vi bruger disse legitimationsoplysninger til at logge ind via AWS CLI.

Gå nu til terminalen efter eget valg og kør følgende kommando.

aws configure 

Indtast adgangsnøgle-id og hemmelig adgangsnøgle, når du bliver bedt om det. Vælg en hvilken som helst AWS-region efter eget valg og kommandoens outputformat. Jeg foretrækker personligt at bruge JSON-formatet. Det er ikke så meget, du kan altid ændre disse værdier senere.

Du kan nu køre enhver AWS CLI-kommando i konsollen. Lad os nu gennemgå AWS S3-kommandoer.

cp

cp-kommandoen kopierer simpelthen dataene til og fra S3-bøtter. Den kan bruges til at kopiere filer fra lokal til S3, fra S3 til lokal og mellem to S3-bøtter. Der er en masse andre parametre, som du kan levere med kommandoerne.

For eksempel -dryrun-parameter til at teste kommandoen, -storage-class-parameter for at angive lagerklassen for dine data i S3, andre parametre til at indstille kryptering og meget mere. Det cp kommando giver dig fuld kontrol over, hvordan du konfigurerer din datasikkerhed i S3.

Brug

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 lokal

aws s3 cp s3://bucket_name/file_name_2.txt file_name.txt

Kopier data mellem S3 buckets

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 data fra en lokal mappe til S3

aws s3 cp ./local_folder s3://bucket_name --recursive

ls

Det ls kommando bruges til at liste spandene eller indholdet af spandene. Så hvis du blot ønsker at se information om dine buckets eller dataene i disse buckets, kan du bruge ls-kommandoen.

  Sådan bruger du et digitalkamera som et webkamera

Anvendelse:

aws s3 ls NONE or <BUCKET_NAME> [--options]

Eksempler

Liste alle buckets på 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 kommando viser alle buckets på din konto med buckets oprettelsesdato.

Liste alle objekter på øverste niveau 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 kommando viser alle objekter på øverste niveau i en S3-bøtte. Bemærk her, at objekterne med præfikset samplePrefix/ ikke er vist her kun objekterne på øverste niveau.

List alle genstande i en spand

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 kommando viser alle objekterne i en S3-bøtte. Bemærk her, at objekterne med præfikset samplePrefix/ og alle underpræfikser også vises.

mb

Det mb kommando bruges blot til at skabe nye S3-spande. Dette er en ret simpel kommando, men for at oprette nye spande skal navnet på den nye spand være unikt på tværs af alle S3 spande.

Brug

aws s3 mb <BUCKET_NAME>

Eksempel

Opret en ny bucket i en bestemt region

aws s3 mb myUniqueBucketName --region eu-west-1

mv

Det mv kommando flytter blot dataene til og fra S3 buckets. Ligesom cp-kommandoen bruges mv-kommandoen til at flytte data fra lokal til S3, S3 til lokal eller mellem to S3-bøtter.

Den eneste forskel mellem mv- og cp-kommandoen er, at når du bruger mv-kommandoen, slettes filen fra kilden. AWS flytter denne fil til destinationen. Der er mange muligheder, som du kan angive med kommandoen.

  Sådan opretter du tilpassede gradientbaggrunde til din iPhone

Brug

aws s3 mv <SOURCE> <DESTINATION> [--options]

Eksempler

Flyt data fra lokal til S3

aws s3 mv file_name.txt s3://bucket_name/file_name_2.txt

Flyt data fra S3 til lokal

aws s3 mv s3://bucket_name/file_name_2.txt file_name.txt

Flyt data mellem S3 buckets

aws s3 mv s3://bucket_name/file_name.txt s3://bucket_name_2/file_name_2.txt

Flyt data fra lokal til S3 – IA

aws s3 mv file_name.txt s3://bucket_name/file_name_2.txt --storage-class STANDARD_IA 

Flyt alle data fra et præfiks i S3 til en lokal mappe.

aws s3 mv s3://bucket_name/somePrefix ./localFolder --recursive

præsigne

Presign-kommandoen genererer en forudsigneret URL for en nøgle i S3-bøtten. Du kan bruge denne kommando til at generere URL’er, som kan bruges af andre til at få adgang til en fil i den angivne S3-bøttenøgle.

Brug

aws s3 presign –udløber om

Eksempel

Generer en forhåndssigneret URL, der er gyldig i 1 time for et objekt i bøtten.

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

Kommandoen rb bruges ganske enkelt til at slette S3 buckets.

Brug

aws rb <BUCKET_NAME>

Eksempel

Slet en S3-spand.

aws s3 mb myBucketName
# This command fails if there is any data in this bucket.

Slet en S3-bøtte sammen med dataene i S3-bøtten.

aws s3 mb myBucketName --force

rm

rm kommandoen bruges simpelthen til at slette objekterne i S3 buckets.

Brug

aws s3 rm <S3Uri_To_The_File>

Eksempler

Slet én fil fra S3-bøtten.

aws s3 rm s3://bucket_name/sample_prefix/file_name_2.txt

Slet alle filer med et specifikt præfiks i en S3-bøtte.

aws s3 rm s3://bucket_name/sample_prefix --recursive

Slet alle filer i en S3-bøtte.

aws s3 rm s3://bucket_name --recursive

synkronisere

Synkroniseringskommandoen kopierer og opdaterer filer fra kilden til destinationen ligesom cp-kommandoen. Det er vigtigt, at vi forstår forskellen mellem cp og sync-kommandoen. Når du bruger cp, kopierer den data fra kilde til destination, selvom dataene allerede findes i destinationen.

Det vil heller ikke slette filer fra destinationen, hvis de slettes fra kilden. Synkronisering ser dog på destinationen før kopiering af dine data og kopierer kun de nye og opdaterede filer. Det sync kommando svarer til at begå og skubbe ændringer til en ekstern gren i git. Synkroniseringskommandoen tilbyder en masse muligheder for at tilpasse kommandoen.

Brug

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 mellem to S3-bøtter

aws s3 sync s3://bucket_name s3://bucket_name_2

Flyt data mellem to S3-bøtter, undtagen alle .txt-filer

aws s3 sync s3://bucket_name s3://bucket_name_2 --exclude "*.txt

internet side

Du kan bruge S3 buckets til at være vært for statiske websteder. Webstedskommandoen bruges til at konfigurere S3 statiske webstedshosting til din bucket.

Du angiver indekset og fejlfilerne, og S3 giver dig en URL, hvor du kan se filen.

Brug

aws s3 website <S3_URI> [--options]

Eksempel:

Konfigurer statisk hosting for en S3-bøtte og angiv indeks- og fejlfiler

aws s3 website s3://bucket_name --index-document index.html --error-document error.html

Konklusion

Jeg håber, at ovenstående giver dig en idé om nogle af de hyppigt brugte AWS S3-kommandoer til at administrere buckets. Hvis du er interesseret i at lære mere, kan du tjekke AWS-certificeringsdetaljerne.