{coding}Sight

introduktion

Amazon Web Service, aka AWS, är en ledande leverantör av molninfrastruktur för att lagra dina servrar, applikationer, databaser, nätverk, domänkontrollanter och aktiva kataloger i en utbredd molnarkitektur. AWS tillhandahåller en enkel lagringstjänst (S3) för att lagra dina objekt eller data med (119 s) data hållbarhet. AWS S3 är kompatibel med PCI-DSS, HIPAA / HITECH, FedRAMP, EU: s dataskyddsdirektiv och FISMA som hjälper till att uppfylla lagstadgade krav.

när du loggar in på AWS-portalen navigerar du till S3-hinken, väljer önskad hink och laddar ner eller laddar upp filerna. Att göra det manuellt på portalen är en ganska tidskrävande uppgift. Istället kan du använda AWS Command Line Interface (CLI) som fungerar bäst för massfiloperationer med lättanvända skript. Du kan schemalägga utförandet av dessa skript för en obevakad objekt nedladdning/uppladdning.

konfigurera AWS CLI

ladda ner AWS CLI och installera AWS Command Line Interface V2 på Windows, macOS eller Linux operativsystem.

AWS CLI-konfiguration

du kan följa installationsguiden för en snabb installation.

skapa en iam-användare

för att komma åt AWS S3-hinken med kommandoradsgränssnittet måste vi ställa in en iam-användare. I AWS-portalen navigerar du till identitets-och åtkomsthantering (iam) och klickar på Lägg till användare.

ställa in en iam-användare

på sidan Lägg till användare anger du användarnamnet och åtkomsttypen som programmatisk åtkomst.

programmatisk åtkomst

därefter ger vi behörigheter till iam-användaren med befintliga policyer. För den här artikeln har vi valt från AWS managed policies.

ge behörigheter till iam-användaren med befintliga policyer

granska din iam-Användarkonfiguration och klicka på Skapa användare.

granska iam-Användarkonfiguration och klicka på Skapa användare

när AWS iam-användaren har skapats ger den åtkomstnyckeln ID och hemlig åtkomstnyckel för att ansluta med AWS CLI.

notera: Du bör kopiera och spara dessa referenser. AWS tillåter dig inte att hämta dem i ett senare skede.

iam-användare skapades framgångsrikt.

konfigurera AWS-profil på din dator

för att arbeta med AWS CLI på Amazon web service-resurser, starta PowerShell och kör följande kommando.

>aws configure

det kräver följande användaringångar:

  • iam-användaråtkomstnyckel ID
  • AWS hemlig åtkomstnyckel
  • standard AWS-regionnamn
  • Standardutmatningsformat
AWS profil konfiguration

skapa S3-hink med AWS CLI

för att lagra filerna eller objekten behöver vi en S3-hink. Vi kan skapa det med både AWS-portalen och AWS CLI.

följande CLI-kommando skapar en hink som heter i us-east-1-regionen. Frågan returnerar skopans namn i utmatningen, som visas nedan.

>aws s3api create-bucket --bucket mys3bucket-testupload1 --region us-east-1
skapa S3 hink med AWS CLI

du kan verifiera den nyskapade S3-skopan med AWS-konsolen. Som visas nedan laddas upp i US East (N. Virginia).

verifiera den nyskapade S3-skopan med AWS-konsolen

för att lista den befintliga S3-hinken med AWS CLI, kör kommandot-aws s3 ls

lista den befintliga S3-skopan med AWS CLI

Ladda upp objekt i S3-hinken med AWS CLI

vi kan ladda upp en enda fil eller flera filer tillsammans i AWS S3-hinken med kommandot AWS CLI. Antag att vi har en enda fil att ladda upp. Filen lagras lokalt i C:\S3Files med namnet script1.txt.

för att ladda upp den enskilda filen, använd följande CLI-skript.

>aws s3 cp C:\S3Files\Script1.txt s3://mys3bucket-testupload1/

den laddar upp filen och returnerar sökvägarna för källdestination i utdata:

Ladda upp objekt i S3-skopan med AWS CLI

tiden att ladda upp på S3-skopan beror på filstorleken och nätverksbandbredden. För demo ändamål, jag använde en liten fil av några KBs.

du kan uppdatera S3-skopan och visa filen som är lagrad i den.

uppdatera S3-skopan

på samma sätt kan vi använda samma CLI-skript med en liten modifiering. Den laddar upp alla filer från källan till destinationen S3 hink. Här använder vi parametern-rekursiv för att ladda upp flera filer tillsammans:

>aws s3 cp c:\s3files s3://mys3bucket-testupload1/ --recursive

som visas nedan laddar den upp alla filer som lagras i den lokala katalogen c:\S3Files till S3-skopan. Du får framstegen för varje uppladdning i konsolen.

 framsteg för varje uppladdning

vi kan se alla uppladdade filer med rekursiva parametrar i S3-skopan i följande figur:

alla uppladdade filer

om du inte vill gå till AWS-portalen för att verifiera den uppladdade listan, kör CLI-skriptet, returnera alla filer och ladda upp tidsstämplar.

>aws s3 ls s3://mys3bucket-testupload1
kör CLI-skriptet, returnera alla filer och ladda upp tidsstämplar.

Antag att vi bara vill ladda upp filer med ett specifikt tillägg till den separata mappen i AWS S3. Du kan också göra objektfiltreringen med CLI-skriptet. För detta ändamål inkluderar och utesluter skriptet nyckelord.

till exempel kontrollerar frågan nedan filer i källkatalogen (c:\s3bucket), filtrerar filer med .sql-förlängning, och laddar upp dem till SQL/ mapp i S3-hinken. Här angav vi tillägget med hjälp av nyckelordet inkludera:

>aws s3 cp C:\S3Files s3://mys3bucket-testupload1/ --recursive --exclude * --include *.sql

i skriptet utgång, kan du kontrollera att filer med .sql-tillägg har bara laddats upp.

kontrollera att filer med .sql-tillägg har bara laddats upp
kontrollera att filer med .sql-tillägg har bara laddats upp

på samma sätt laddar ned skriptet filer med .CSV-förlängning i S3-skopan.

>aws s3 cp C:\S3Files s3://mys3bucket-testupload1/ --recursive --exclude * --include *.csv
 script laddar upp filer med .CSV-förlängning i S3-skopan

Ladda upp nya eller ändrade filer från källmappen till S3 Bucket

anta att du använder en S3 bucket för att flytta säkerhetskopior av databastransaktionsloggen.

för detta ändamål använder vi synkroniseringsnyckelordet. Det kopierar rekursivt nya, modifierade filer från källkatalogen till destinationen S3 hink.

>aws s3 sync C:\S3Files s3://mys3bucket-testupload1/ --recursive --exclude * --include *.sql

som visas nedan laddade den upp en fil som saknades i S3-skopan. På samma sätt, om du ändrar någon befintlig fil i källmappen, kommer CLI-skriptet att välja den och ladda upp den till S3-hinken.

Ladda upp nya eller modifierade filer från källmappen till S3 Bucket
Ladda upp nya eller modifierade filer från källmappen till S3 Bucket

sammanfattning

AWS CLI-skriptet kan göra ditt arbete enklare för att lagra filer i S3-skopan. Du kan använda den för att ladda upp eller synkronisera filer mellan lokala mappar och S3-skopan. Det är ett snabbt sätt att distribuera och arbeta med objekt i AWS-molnet.

taggar: AWS, aws cli, aws s3, molnplattform senast ändrad: 16 September 2021

Leave a Reply