{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.
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.
på sidan Lägg till användare anger du användarnamnet och åtkomsttypen som 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.
granska din 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.
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
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
du kan verifiera den nyskapade S3-skopan med AWS-konsolen. Som visas nedan laddas upp i US East (N. Virginia).
för att lista den befintliga S3-hinken med AWS CLI, kör kommandot-aws s3 ls
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:
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.
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.
vi kan se alla uppladdade filer med rekursiva parametrar i S3-skopan i följande figur:
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
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.
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
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.
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