9 AWS S3-kommandon med exempel för att hantera hink och data

Kontroll och hantering av data kan vara en ansträngande uppgift. Dessa AWS S3-kommandon hjälper dig att snabbt och effektivt hantera dina AWS S3-hinkar och data.

AWS S3 är objektlagringstjänsten som tillhandahålls av AWS. Det är den mest använda lagringstjänsten från AWS som praktiskt taget kan hålla en oändlig mängd data. Det är mycket tillgängligt, hållbart och lätt att integrera med flera andra AWS-tjänster.

AWS S3 kan användas av personer med alla krav som lagring av mobil/webbapplikationer, stordatalagring, maskininlärningsdatalagring, värd för statiska webbplatser och många fler.

Om du har använt S3 i ditt projekt skulle du veta att med tanke på den stora mängden lagringskapacitet kan hanteringen av 100-tals hinkar och terabyte med data i dessa hinkar vara ett krävande jobb. Vi har en lista med AWS S3-kommandon med exempel som du kan använda för att hantera dina AWS S3-hinkar och data effektivt.

AWS CLI-installation

När du har laddat ner och installerat AWS CLI måste du konfigurera AWS-referenser för att kunna komma åt ditt AWS-konto och tjänster. Låt oss snabbt gå igenom hur du kan konfigurera AWS CLI.

Det första steget är att skapa en användare med programmatisk åtkomst till AWS-kontot. Kom ihåg att markera den här rutan när du skapar en användare för AWS CLI.

Ge behörigheterna och skapa en användare. På den sista skärmen efter att du har skapat den här användaren, kopiera åtkomstnyckel-ID och hemlig åtkomstnyckel för denna användare. Vi kommer att använda dessa referenser för att logga in via AWS CLI.

Gå nu till den terminal du väljer och kör följande kommando.

aws configure 

Ange åtkomstnyckel-ID och hemlig åtkomstnyckel när du uppmanas. Välj valfri AWS-region och kommandots utdataformat. Jag personligen föredrar att använda JSON-formatet. Det här är ingen stor sak, du kan alltid ändra dessa värden senare.

Du kan nu köra vilket AWS CLI-kommando som helst i konsolen. Låt oss nu gå igenom AWS S3-kommandona.

cp

Kommandot cp kopierar helt enkelt data till och från S3-hinkar. Den kan användas för att kopiera filer från lokal till S3, från S3 till lokal och mellan två S3-hinkar. Det finns många andra parametrar som du kan tillhandahålla med kommandona.

Till exempel -dryrun parameter för att testa kommandot, -storage-class parameter för att specificera lagringsklassen för dina data i S3, andra parametrar för att ställa in kryptering och mycket mer. De cp kommando ger dig fullständig kontroll över hur du konfigurerar din datasäkerhet i S3.

Användande

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

Exempel

Kopiera data från lokal till S3

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

Kopiera data från S3 till lokal

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

Kopiera data mellan S3-hinkar

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

Kopiera data från lokal till S3 – IA

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

Kopiera all data från en lokal mapp till S3

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

ls

De ls kommando används för att lista hinkarna eller innehållet i hinkarna. Så om du bara vill se information om dina hinkar eller data i dessa hinkar kan du använda kommandot ls.

Användande:

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

Exempel

Lista alla segment i kontot

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

Det här kommandot listar alla segment i ditt konto med datum för skapande av segment.

Lista alla objekt på högsta nivån i en hink

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

Detta kommando listar alla objekt på högsta nivån i en S3-hink. Observera här att objekten med prefixet samplePrefix/ inte visas här bara objekten på översta nivån.

Lista alla föremål i en hink

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

Detta kommando listar alla objekt i en S3-hink. Observera här att objekten med prefixet samplePrefix/ och alla underprefix också visas.

mb

De mb kommando används helt enkelt för att skapa nya S3-skopor. Detta är ett ganska enkelt kommando, men för att skapa nya hinkar bör namnet på den nya hinken vara unikt för alla S3-hinkar.

Användande

aws s3 mb <BUCKET_NAME>

Exempel

Skapa en ny hink i en specifik region

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

mv

De mv kommando flyttar helt enkelt data till och från S3-hinkar. Precis som cp-kommandot används mv-kommandot för att flytta data från lokal till S3, S3 till lokal eller mellan två S3-hinkar.

Den enda skillnaden mellan kommandot mv och cp är att när du använder kommandot mv raderas filen från källan. AWS flyttar den här filen till destinationen. Det finns många alternativ som du kan ange med kommandot.

Användande

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

Exempel

Flytta data från lokal till S3

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

Flytta data från S3 till lokal

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

Flytta data mellan S3-hinkar

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

Flytta data från lokal till S3 – IA

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

Flytta all data från ett prefix i S3 till en lokal mapp.

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

presigna

Presign-kommandot genererar en försignerad URL för en nyckel i S3-hinken. Du kan använda det här kommandot för att generera webbadresser som kan användas av andra för att komma åt en fil i den angivna S3-bucket-nyckeln.

Användande

aws s3 presign – går ut om

Exempel

Generera en försignerad URL som är giltig i 1 timme för ett objekt i hinken.

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

Kommandot rb används helt enkelt för att ta bort S3-hinkar.

Användande

aws rb <BUCKET_NAME>

Exempel

Ta bort en S3-hink.

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

Ta bort en S3-bucket tillsammans med data i S3-bucket.

aws s3 mb myBucketName --force

rm

Kommandot rm används helt enkelt för att ta bort objekten i S3-hinkar.

Användande

aws s3 rm <S3Uri_To_The_File>

Exempel

Ta bort en fil från S3-hinken.

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

Ta bort alla filer med ett specifikt prefix i en S3-bucket.

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

Ta bort alla filer i en S3-bucket.

aws s3 rm s3://bucket_name --recursive

synkronisera

Synkroniseringskommandot kopierar och uppdaterar filer från källan till destinationen precis som kommandot cp. Det är viktigt att vi förstår skillnaden mellan cp och sync-kommandot. När du använder cp kopierar den data från källa till destination även om data redan finns i destinationen.

Det kommer inte heller att radera filer från destinationen om de tas bort från källan. Synkronisering tittar dock på destinationen innan du kopierar dina data och kopierar bara de nya och uppdaterade filerna. De sync kommando liknar att begå och driva ändringar till en fjärrgren i git. Synkroniseringskommandot erbjuder många alternativ för att anpassa kommandot.

Användande

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

Exempel

Synkronisera lokal mapp till S3

aws s3 sync ./local_folder s3://bucket_name

Synkronisera S3-data till en lokal mapp

aws s3 sync s3://bucket_name ./local_folder

Synkronisera data mellan två S3-hinkar

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

Flytta data mellan två S3-buckets exklusive alla .txt-filer

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

hemsida

Du kan använda S3-hinkar för att vara värd för statiska webbplatser. Webbplatskommandot används för att konfigurera S3 statiska webbhotell för din hink.

Du anger index och felfiler och S3 ger dig en URL där du kan se filen.

Användande

aws s3 website <S3_URI> [--options]

Exempel:

Konfigurera statisk värd för en S3-bucket och ange index- och felfiler

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

Slutsats

Jag hoppas att ovanstående ger dig en uppfattning om några av de ofta använda AWS S3-kommandona för att hantera hinkar. Om du är intresserad av att lära dig mer kan du kolla in AWS-certifieringsdetaljer.