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

By rik

Att övervaka och administrera data kan vara en utmanande uppgift. Följande AWS S3-kommandon underlättar snabb och effektiv hantering av dina AWS S3-lagringsplatser och data.

AWS S3 är en molnbaserad tjänst för objektlagring som tillhandahålls av Amazon Web Services. Det är en mycket populär lagringslösning som kan hantera nästan obegränsade mängder information. Denna tjänst kännetecknas av hög tillgänglighet, pålitlighet och smidig integrering med andra AWS-tjänster.

AWS S3 är flexibel och kan anpassas till en mängd olika behov, såsom lagring för mobil- och webbapplikationer, lagring av stordata, datahantering för maskininlärning, värd för statiska webbplatser och många andra användningsområden.

Om du har erfarenhet av att använda S3 i dina projekt, vet du säkert att hanteringen av hundratals lagringsplatser och terabyte av data kan vara en komplex och arbetsintensiv process. Därför har vi sammanställt en lista över praktiska AWS S3-kommandon tillsammans med exempel. Dessa kommandon kommer att hjälpa dig att hantera dina S3-lagringsplatser och data på ett effektivt sätt.

Installation av AWS CLI

Efter att ha laddat ner och installerat AWS CLI (Command Line Interface), behöver du konfigurera autentiseringsuppgifter för att få tillgång till ditt AWS-konto och dess tjänster. Här följer en snabb genomgång av hur du konfigurerar AWS CLI.

Först behöver du skapa en användare med programmatisk åtkomst till ditt AWS-konto. Se till att markera detta alternativ när du skapar en ny användare för AWS CLI.

Ge användaren nödvändiga behörigheter och slutför skapandet. På den sista skärmen, efter att användaren har skapats, kopiera åtkomstnyckel-ID och hemlig åtkomstnyckel. Dessa uppgifter kommer att användas för att logga in via AWS CLI.

Öppna nu önskad terminal och kör följande kommando:

aws configure

Du kommer nu att bli ombedd att ange åtkomstnyckel-ID och hemlig åtkomstnyckel. Välj sedan önskad AWS-region samt format för utdata. Jag föredrar personligen JSON-formatet, men det är inte avgörande och du kan ändra dessa inställningar senare.

Nu kan du använda valfritt AWS CLI-kommando via konsolen. Låt oss gå igenom några av de mest användbara AWS S3-kommandona.

cp

Kommandot cp används för att kopiera data till och från S3-lagringsplatser. Du kan använda det för att flytta filer från din lokala dator till S3, från S3 till lokal dator samt mellan olika S3-lagringsplatser. Det finns en mängd ytterligare parametrar som du kan ange med kommandot.

Till exempel, --dryrun för att testa kommandot utan att utföra det, --storage-class för att ange lagringsklass för dina data i S3, samt parametrar för att ställa in kryptering och mer. Kommandot cp ger dig fullständig kontroll över hur du konfigurerar datasäkerheten i S3.

Användning

aws s3 cp <KÄLLA> <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-lagringsplatser

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 (Infrequent Access)

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

Kommandot ls används för att lista lagringsplatser eller innehållet i dessa. Om du bara vill visa information om dina lagringsplatser eller data, kan du använda kommandot ls.

Användning:

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

Exempel

Lista alla lagringsplatser 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

Detta kommando listar alla lagringsplatser i ditt konto tillsammans med tidpunkten då de skapades.

Lista alla objekt på toppnivå i en lagringsplats

aws s3 ls BUCKET_NAME_1 eller 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 visar en lista över alla objekt som finns direkt i en S3-lagringsplats. Notera att objekten med prefixet samplePrefix/ inte visas i denna listan, endast de på toppnivå.

Lista alla objekt i en lagringsplats

aws s3 ls BUCKET_NAME_1 eller 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 samtliga objekt i en S3-lagringsplats, inklusive objekt med prefixet samplePrefix/ samt alla underprefix.

mb

Kommandot mb används för att skapa nya S3-lagringsplatser. Det är ett enkelt kommando, men för att skapa en ny lagringsplats måste dess namn vara unikt för alla S3-lagringsplatser.

Användning

aws s3 mb <BUCKET_NAME>

Exempel

Skapa en ny lagringsplats i en specifik region

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

mv

Kommandot mv används för att flytta data till och från S3-lagringsplatser. På samma sätt som cp används mv för att flytta data från lokal till S3, S3 till lokal, eller mellan två S3-lagringsplatser.

Den huvudsakliga skillnaden mellan kommandona mv och cp är att mv raderar filen från källplatsen efter att ha flyttat den till destinationen. Det finns flera tilläggsfunktioner du kan ställa in med kommandot.

Användning

aws s3 mv <KÄLLA> <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-lagringsplatser

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 (Infrequent Access)

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

presign

Kommandot presign genererar en försignerad URL för en specifik nyckel i en S3-lagringsplats. Det kan användas för att skapa webbadresser som ger andra tillgång till en fil i en given S3-lagringsplats.

Användning

aws s3 presign <OBJECT_KEY> –expires-in <TID_I_SEKUNDER>

Exempel

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

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 för att ta bort S3-lagringsplatser.

Användning

aws rb <BUCKET_NAME>

Exempel

Ta bort en S3-lagringsplats.

aws s3 mb myBucketName
# Kommandot kommer att misslyckas om det finns data i lagringsplatsen.

Ta bort en S3-lagringsplats inklusive dess data.

aws s3 mb myBucketName --force

rm

Kommandot rm används för att ta bort objekt i S3-lagringsplatser.

Användning

aws s3 rm <S3Uri_Till_Filen>

Exempel

Ta bort en fil från en S3-lagringsplats.

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

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

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

Ta bort alla filer i en S3-lagringsplats.

aws s3 rm s3://bucket_name --recursive

sync

Kommandot sync kopierar och uppdaterar filer från källan till destinationen, liknande kommandot cp. Det är viktigt att förstå skillnaden mellan de två. När cp används kopieras data från källan till destinationen oavsett om de redan finns på destinationen.

Det raderar inte heller filer från destinationen om de tas bort från källan. sync däremot, granskar destinationen innan kopiering och kopierar endast nya eller uppdaterade filer. Kommandot sync fungerar ungefär som att ”committa” och ”pusha” ändringar till en fjärrgren i Git. sync ger flera alternativ för anpassning.

Användning

aws s3 sync <KÄLLA> <DESTINATION> [--options]

Exempel

Synkronisera en lokal mapp till S3

aws s3 sync ./local_folder s3://bucket_name

Synkronisera data från S3 till en lokal mapp

aws s3 sync s3://bucket_name ./local_folder

Synkronisera data mellan två S3-lagringsplatser

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

Synkronisera data mellan två S3-lagringsplatser exklusive .txt-filer

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

website

Du kan använda S3-lagringsplatser för att hosta statiska webbplatser. Kommandot website används för att konfigurera statisk webbhosting för din lagringsplats.

Du anger index- och felfiler, och S3 ger dig en webbadress där du kan se sidan.

Användning

aws s3 website <S3_URI> [--options]

Exempel:

Konfigurera statisk webhosting för en S3-lagringsplats och ange index- och felfiler.

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

Slutsats

Förhoppningsvis har ovanstående gett dig en översikt över några av de mest använda AWS S3-kommandona för hantering av lagringsplatser. Om du är intresserad av att lära dig mer kan du ta en titt på information om AWS-certifieringar.