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.