I denne bloggen vil vi diskutere noen grunnleggende kommandoer som brukes til å administrere S3 -bøttene ved å bruke kommandolinjegrensesnittet. I denne artikkelen vil vi diskutere følgende operasjoner som kan utføres på S3.
Før du starter denne bloggen, må du først konfigurere AWS -legitimasjon for å bruke kommandolinjegrensesnittet på systemet ditt. Besøk følgende blogg for å lære mer om konfigurering av AWS -kommandolinjeopplysning på systemet ditt.
https: // linuxhint.com/configure-aws-cli-credentials/
Opprette en S3 -bøtte
Det første trinnet for å administrere S3 Bucket Operations ved hjelp av AWS -kommandolinjegrensesnittet er å lage S3 -bøtta. Du kan bruke MB metode for S3 kommando for å opprette S3 -bøtta på AWS. Følgende er syntaksen for å bruke MB Metode av S3 For å lage S3 -bøtta ved hjelp av AWS CLI.
ubuntu@ubuntu: ~ $ aws s3 mbBøttenavnet er universelt unikt, så før du oppretter en S3 -bøtte, må du sørge for at den ikke allerede er tatt av noen annen AWS -konto. Følgende kommando vil opprette S3 -bøtta som er navngitt Linuxhint-Demo-S3-Bucket.
ubuntu@ubuntu: ~ $ aws s3 mb \Kommandoen ovenfor vil opprette en S3-bøtte i USA-West-2-regionen.
Etter å ha opprettet S3 -bøtta, bruk nå ls metode for S3 For å sikre om bøtta er opprettet eller ikke.
ubuntu@ubuntu: ~ $ aws s3 lsDu vil få følgende feil på terminalen hvis du prøver å bruke et bøtte -navn som allerede eksisterer.
Sette inn data i S3 -bøtta
Etter å ha opprettet S3 -bøtta, er det nå på tide å legge noen data i S3 -bøtta. For å flytte data inn i S3 -bøtta, er følgende kommandoer tilgjengelige.
De CP Kommando brukes til å kopiere dataene fra det lokale systemet til S3 -bøtta og omvendt ved hjelp av AWS CLI. Den kan også brukes til å kopiere dataene fra en kilde S3 -bøtte til en annen destinasjon S3 -bøtte. Syntaksen for å kopiere dataene til og fra S3 -bøtta er som nedenfor.
ubuntu@ubuntu: ~ $ aws s3 cp \De mv metode for S3 brukes til å flytte dataene fra det lokale systemet til S3 -bøtta eller omvendt ved hjelp av AWS CLI. Akkurat som CP Kommando, vi kan bruke mv Kommando for å flytte data fra en S3 -bøtte til en annen S3 -bøtte. Følgende er syntaksen for å bruke mv Kommando med AWS CLI.
ubuntu@ubuntu: ~ $ aws s3 mv \De synkronisering Kommando i AWS S3 -kommandolinjegrensesnittet brukes til å synkronisere en lokal katalog og S3 -bøtte eller to S3 -bøtter. De synkronisering Kommando sjekker først destinasjonen og kopierer bare filene som ikke eksisterer på destinasjonen. i motsetning til synkronisering Kommando, The CP og mv Kommandoer flytter dataene fra kilde til destinasjon, selv om filen med samme navn allerede eksisterer på destinasjonen.
ubuntu@ubuntu: ~ $ aws s3 sync \Kommandoen ovenfor vil synkronisere alle dataene fra den lokale katalogen til S3 -bøtta og vil bare kopiere filene som ikke er til stede i destinasjonen S3 -bøtta.
Nå vil vi synkronisere S3 -bøtta med den lokale katalogen ved å bruke synkronisering Kommando med AWS -kommandolinjegrensesnittet.
ubuntu@ubuntu: ~ $ aws s3 sync \Kommandoen ovenfor vil synkronisere alle dataene fra S3 -bøtta til den lokale katalogen og vil bare kopiere filene som ikke eksisterer i destinasjonen, da vi allerede har synkronisert S3 -bøtta og den lokale katalogen, så ingen data ble kopiert denne gangen.
Slette data fra S3 -bøtta
I forrige seksjon diskuterte vi forskjellige metoder for å sette inn dataene i AWS S3 -bøtta ved hjelp av CP, mv, og synkronisering kommandoer. Nå i denne delen vil vi diskutere forskjellige metoder og parametere for å slette dataene fra S3 -bøtta ved hjelp av AWS CLI.
For å slette en fil fra en S3 -bøtte, rm Kommando brukes. Følgende er syntaksen for å bruke rm Kommando for å fjerne S3 -objektet (en fil) ved hjelp av AWS -kommandolinjegrensesnittet.
ubuntu@ubuntu: ~ $ aws s3 rm \Kjører kommandoen ovenfor vil bare slette en enkelt fil i S3 -bøtta. For å slette en komplett mappe som inneholder flere filer, er -tilbakevendende Alternativet brukes med denne kommandoen.
For å slette en mappe som er navngitt filer som inneholder flere filer inne i, kan følgende kommando brukes.
ubuntu@ubuntu: ~ $ aws s3 rm \Kommandoen ovenfor vil først fjerne alle filene fra alle mappene i S3 -bøtta og deretter fjerne mappene. Tilsvarende kan vi bruke -tilbakevendende alternativ sammen med S3 RM metode for å tømme en hel S3 -bøtte.
ubuntu@ubuntu: ~ $ aws s3 rm \Slette en S3 -bøtte
I denne delen av artikkelen vil vi diskutere hvordan vi kan slette en S3 -bøtte på AWS ved å bruke kommandolinjegrensesnittet. De RB Funksjon brukes til å slette S3 -bøtta, som godtar S3 -bøtte -navnet som en parameter. Før du fjerner S3 -bøtta, bør du først tømme S3 -bøtta ved å fjerne alle dataene ved å bruke rm metode. Når du sletter en S3 -bøtte, er bøttaavnet tilgjengelig for andre.
Før du sletter bøtta, kan du tømme S3 -bøtta ved å fjerne alle dataene ved å bruke rm metode for S3.
ubuntu@ubuntu: ~ $ aws s3 rm \Etter å ha tømt S3 -bøtta, kan du bruke RB metode for S3 Kommando for å slette S3 -bøtta.
ubuntu@ubuntu: ~ $ aws s3 rb \Bøtteversjonering
For å holde flere varianter av et S3 -objekt i S3, kan S3 -bøtteversjonen aktiveres. Når bøtteversjonering er aktivert, kan du følge med på endringer du har gjort til et S3 -bøtteobjekt. I denne delen vil vi bruke AWS CLI til å konfigurere S3 -bøtteversjonen.
Først må du sjekke bøtteversjonsstatusen til S3 -bøtta med følgende kommando.
ubuntu@ubuntu: ~ $ aws s3api get-bucket-versjonering \Ettersom bøtteversjonen ikke er aktivert, genererte ikke ovennevnte kommando noen utdata.
Etter å ha sjekket S3 Bucket Versioning Status, må du nå aktivere bøtteversjonen ved å bruke følgende kommando i terminalen. Før du aktiverer versjonering, må du huske at versjonen ikke kan deaktiveres etter å ha aktivert den, men du kan suspendere den.
ubuntu@ubuntu: ~ $ aws s3api put-bucket-versjonering \Denne kommandoen vil ikke generere noen utdata og vil aktivere S3 Bucket -versjonen.
Nå igjen, sjekk statusen til S3 -bøtteversjonen av S3 -bøtta med følgende kommando.
ubuntu@ubuntu: ~ $ aws s3api get-bucket-versjonering \Hvis bøtteversjonen er aktivert, kan den suspenderes ved hjelp av følgende kommando i terminalen.
ubuntu@ubuntu: ~ $ aws s3api put-bucket-versjonering \Etter å ha suspendert S3 Bucket -versjonen, kan følgende kommando brukes til å sjekke statusen til bøtteversjonen igjen.
ubuntu@ubuntu: ~ $ aws s3api get-bucket-versjonering \Standard kryptering
For å sikre at hvert objekt i S3 -bøtta er kryptert, kan standardkrypteringen aktiveres i S3. Etter å ha aktivert standardkrypteringen, vil den automatisk bli kryptert når du legger et objekt i bøtta. I denne delen av bloggen vil vi bruke AWS CLI til å konfigurere standardkrypteringen på en S3 -bøtte.
Først må du sjekke statusen til standardkryptering av S3 -bøtta ved å bruke Get-Bucket-Cryption metode for S3API. Hvis bøtta standardkryptering ikke er aktivert, vil den kaste ServersideencryptionConfigurationnotfoundError unntak.
ubuntu@ubuntu: ~ $ aws s3api get-bucket-kryptering \Nå for å aktivere standardkryptering, Put-bucket-kryptering Metoden vil bli brukt.
ubuntu@ubuntu: ~ $ aws s3api put-bucket-kryptering \-Server-side-krypteringskonfigurasjon '“Regler”: [“ApplyServerSideEnCryptionByDefault”: “Ssealgoritm”: “AES256”]'
Kommandoen ovenfor vil aktivere standardkrypteringen, og hvert objekt vil bli kryptert ved hjelp av AES-256-kryptering av serversiden når du blir satt i S3-bøtta.
Etter å ha aktivert standardkryptering, sjekk nå statusen til standardkrypteringen ved å bruke følgende kommando.
Hvis standardkrypteringen er aktivert, kan du deaktivere standardkrypteringen ved å bruke følgende kommando i terminalen.
ubuntu@ubuntu: ~ $ aws s3api slett-bucket-kryptering \Nå, hvis du sjekker standardkrypteringsstatusen igjen, vil den kaste ServersideencryptionConfigurationnotfoundError unntak.
S3 Bucket Policy
S3 Bucket Policy brukes til å tillate andre AWS -tjenester innen eller på tvers av kontoene for å få tilgang til S3 -bøtta. Det brukes til å administrere tillatelsen fra S3 -bøtta. I denne delen av bloggen vil vi bruke AWS CLI til å konfigurere S3 Bucket -tillatelsene ved å bruke S3 Bucket Policy.
Først må du sjekke S3 Bucket Policy for å se om den eksisterer eller ikke på noen spesifikk S3 -bøtte ved å bruke følgende kommando i terminalen.
ubuntu@ubuntu: ~ $ aws s3api get-bucket-policy \Hvis S3 -bøtta ikke har noen bøttepolitikk tilknyttet bøtta, vil den kaste feilen ovenfor på terminalen.
Nå skal vi konfigurere S3 Bucket Policy til den eksisterende S3 -bøtta. For dette må vi først opprette en fil som inneholder policyen i JSON -format. Lag en fil som heter Politikk.JSON og lim inn følgende innhold der inne. Endre policyen og legg S3 -bøtte -navnet ditt før du bruker den.
Nå utfør følgende kommando i terminalen for å anvende denne policyen på S3 -bøtta.
ubuntu@ubuntu: ~ $ aws s3api put-bucket-policy \Etter å ha brukt policyen, må du nå sjekke statusen til bøttepolitikken ved å utføre følgende kommando i terminalen.
ubuntu@ubuntu: ~ $ aws s3api get-bucket-policy \For å slette S3 -bøttepolitikken som er knyttet til S3 -bøtta, kan følgende kommando utføres i terminalen.
ubuntu@ubuntu: ~ $ aws s3api slett-bucket-policy \Servertilgangslogging
For å logge alle forespørslene som er fremsatt til en S3 -bøtte til en annen S3 -bøtte, må servertilgangsloggingen være aktivert for en S3 -bøtte. I denne delen av bloggen vil vi diskutere hvordan vi kan konfigurere servertilgangsloggen på og S3 -bøtta ved hjelp av AWS -kommandolinjegrensesnittet.
Først må du få gjeldende status for servertilgangsloggingen for en S3 -bøtte ved å bruke følgende kommando i terminalen.
ubuntu@ubuntu: ~ $ aws s3api get-bucket-logging \Når logging av servertilgang ikke er aktivert, vil ikke kommandoen ovenfor kaste noen utdata i terminalen.
Etter å ha sjekket statusen til loggingen, prøver vi nå å aktivere loggingen på S3 -bøtta for å sette logger i en annen destinasjon S3 -bøtte. Før du aktiverer loggingen, må du sørge for at destinasjonsbøtten har en vedlagt policy som lar kildebøtten legge data i den.
Først må du lage en fil som heter hogst.JSON og lim inn følgende innhold der inne og erstatt Targetbucket med navnet på Target S3 -bøtta.
Bruk nå følgende kommando for å aktivere logging på en S3 -bøtte.
ubuntu@ubuntu: ~ $ aws s3api put-bucket-logging \Etter å ha aktivert servertilgangslogging på S3 -bøtta, kan du igjen sjekke statusen til S3 -loggingen ved å bruke følgende kommando.
ubuntu@ubuntu: ~ $ aws s3api get-bucket-logging \Hendelsesvarsling
AWS S3 gir oss en eiendom for å utløse et varsel når en spesifikk hendelse inntreffer S3. Vi kan bruke S3 -varsler om hendelser for å utløse SNS -emner, en Lambda -funksjon eller en SQS -kø. I denne delen vil vi se hvordan vi kan konfigurere S3 -hendelsesvarsler ved hjelp av AWS -kommandolinjegrensesnittet.
Først av alt, bruk Get-Bucket-Notification-Configuration metode for S3API For å få status for hendelsesvarslingen på en bestemt bøtte.
ubuntu@ubuntu: ~ $ aws s3api get-bucket-notification-configuration \Hvis S3 -bøtta ikke har noen hendelsesvarsling som er konfigurert, vil den ikke generere noen utdata på terminalen.
For å muliggjøre en begivenhetsvarsel for å utløse SNS -emnet, må du først knytte en policy til SNS -emnet som lar S3 -bøtta utløse den. Etter dette må du opprette en fil som heter melding.JSON, som inkluderer detaljene i SNS -emnet og S3 -arrangementet. Opprett en fil melding.JSON og lim inn følgende innhold der inne.
I henhold til konfigurasjonen ovenfor, vil den når du legger et nytt objekt i S3 -bøtta, utløse SNS -emnet definert i filen.
Etter å ha opprettet filen, må du nå opprette S3 -arrangementsvarslingen på din spesifikke S3 -bøtte med følgende kommando.
ubuntu@ubuntu: ~ $ aws s3api put-bucket-notification-configuration \Kommandoen ovenfor vil opprette en S3 -hendelsesvarsel med de medfølgende konfigurasjonene i melding.JSON fil.
Etter å ha opprettet S3 Event -varselet, oppgi nå igjen alle hendelsesvarsler ved hjelp av følgende AWS CLI -kommando.
ubuntu@ubuntu: ~ $ aws s3api get-bucket-notification-configuration \Denne kommandoen vil liste opp ovennevnte hendelsesvarsling i konsollutgangen. Tilsvarende kan du legge til flere hendelsesvarsler i en enkelt S3 -bøtte.
Livssyklusregler
S3 -bøtta gir livssyklusregler for å administrere livssyklusen til gjenstandene som er lagret i S3 -bøtta. Denne funksjonen kan brukes til å spesifisere livssyklusen til de forskjellige versjonene av S3 -objekter. S3 -objektene kan flyttes til forskjellige lagringsklasser eller kan slettes etter en bestemt tidsperiode. I denne delen av bloggen vil vi se hvordan vi kan konfigurere livssyklusreglene ved å bruke kommandolinjegrensesnittet.
Først av alt, få alle S3 Bucket Lifecycle -regler konfigurert i en bøtte ved hjelp av følgende kommando.
ubuntu@ubuntu: ~ $ aws s3api get-bucket-lifecycle \Hvis livssyklusreglene ikke er konfigurert med S3 -bøtta, vil du få Nosuchlifecycleconfiguration unntak som svar.
La oss nå opprette en livssyklusregelkonfigurasjon ved hjelp av kommandolinjen. De Put-Bucket-Lifecycle Metode kan brukes til å lage livssykluskonfigurasjonsregelen.
Først av alt, lage en regler.JSON fil som inkluderer livssyklusreglene i JSON -format.
Etter å ha opprettet filen med regler i JSON -format, oppretter du nå livssykluskonfigurasjonsregelen ved å bruke følgende kommando.
ubuntu@ubuntu: ~ $ aws s3api put-bucket-lifecycle \Kommandoen ovenfor vil opprette en livssykluskonfigurasjon, og du kan få livssykluskonfigurasjonen ved å bruke Get-Bucket-Lifecycle metode.
ubuntu@ubuntu: ~ $ aws s3api get-bucket-lifecycle \Kommandoen ovenfor vil liste opp alle konfigurasjonsreglene som er opprettet for livssyklusen. Tilsvarende kan du slette livssykluskonfigurasjonsregelen ved å bruke Slett-bøtte-livssyklus metode.
ubuntu@ubuntu: ~ $ aws s3api slett-bucket-lifecycle \Kommandoen ovenfor vil slette S3 Bucket Lifecycle -konfigurasjonene.
Replikasjonsregler
Replikasjonsregler i S3 -bøtter brukes til å kopiere spesifikke objekter fra en kilde S3 -bøtte til en destinasjon S3 -bøtte innenfor samme eller forskjellige konto. Du kan også spesifisere destinasjonslagringsklassen og krypteringsalternativet i replikasjonsregelkonfigurasjonen. I dette avsnittet vil vi bruke replikasjonsregelen på en S3 -bøtte ved å bruke kommandolinjegrensesnittet.
Først må du få alle replikasjonsreglene konfigurert på en S3 -bøtte ved å bruke få-bucket-replication metode.
ubuntu@Ubuntu: ~ $ aws s3api get-bucket-replication \Hvis det ikke er noen replikasjonsregel konfigurert med en S3 -bøtte, vil kommandoen kaste ReplicationConfigurationnotfoundError unntak.
For å lage en ny replikasjonsregel ved hjelp av kommandolinjegrensesnittet, må du først aktivere versjonering på både kilden og destinasjon S3 -bøtta. Aktivering av versjonering har blitt diskutert tidligere i denne bloggen.
Etter å ha aktivert S3 -bøtteversjonen på både kilde- og destinasjonsbøtta, må du nå opprette en Replikering.JSON fil. Denne filen inneholder konfigurasjonen av replikasjonsregler i JSON -format. Bytt ut Iam_role_arn og Destination_bucket_arn I den følgende konfigurasjonen før du oppretter replikasjonsregelen.
Etter å ha opprettet Replikering.JSON fil, oppretter nå replikasjonsregelen ved å bruke følgende kommando.
ubuntu@Ubuntu: ~ $ aws s3api put-bucket-replication \Etter at du har utført kommandoen ovenfor, vil den opprette en replikasjonsregel i kilden S3 -bøtta som automatisk vil kopiere dataene til destinasjon S3 -bøtta som er spesifisert i Replikering.JSON fil.
Tilsvarende kan du slette S3 Bucket Replication -regelen ved å bruke Slett-bøtte-replikasjon Metode i kommandolinjegrensesnittet.
Ubuntu@Ubuntu: ~ $ aws S3api Delete-Bucket-Replication \Konklusjon
Denne bloggen beskriver hvordan vi kan bruke AWS -kommandolinjegrensesnittet til å utføre BASIC for avanserte operasjoner som å lage og slette en S3 -bøtte, sette inn og slette data fra S3 -bøtta, aktivere standardkryptering, versjonering, servertilgangslogging, hendelsesvarsling, replikasjonsregler , og livssykluskonfigurasjoner. Disse operasjonene kan automatiseres ved å bruke AWS -kommandolinje -grensesnittkommandoer i skriptene dine, og dermed bidra til å automatisere systemet.