
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.
Innehållsförteckning
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
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.