In diesem Blog werden einige grundlegende Befehle besprochen. In diesem Artikel werden wir die folgenden Operationen diskutieren, die auf S3 ausgeführt werden können.
Bevor Sie dieses Blog starten, müssen Sie zunächst AWS -Anmeldeinformationen so konfigurieren, dass die Befehlszeilenschnittstelle auf Ihrem System verwendet wird. Besuchen Sie den folgenden Blog, um mehr über die Konfiguration von AWS -Befehlszeilenanmeldeinformationen auf Ihrem System zu erfahren.
https: // linuxHint.com/configure-aws-cli-kredite/
Erstellen eines S3 -Eimers
Der erste Schritt zur Verwaltung der S3 -Bucket -Operationen mithilfe der AWS -Befehlszeilenschnittstelle besteht darin, den S3 -Bucket zu erstellen. Du kannst den ... benutzen mb Methode der S3 Befehl zum Erstellen des S3 -Eimers auf AWS. Im Folgenden finden Sie die Syntax, um die zu verwenden mb Methode von S3 So erstellen Sie den S3 -Eimer mit AWS CLI.
Ubuntu@Ubuntu: ~ $ aws s3 mbDer Bucket -Name ist universell eindeutig. Stellen Sie vor dem Erstellen eines S3 -Eimers sicher, dass er noch von keinem anderen AWS -Konto übernommen wird. Der folgende Befehl erstellt den benannten S3 -Eimer LinuxHint-Demo-S3-Bucket.
Ubuntu@Ubuntu: ~ $ AWS S3 MB \Der obige Befehl erzeugt einen S3-Eimer in der Region US-West-2-Region.
Verwenden Sie nach dem Erstellen des S3 -Eimers nun die ls Methode der S3 Um sicherzustellen, ob der Eimer erstellt wird oder nicht.
Ubuntu@Ubuntu: ~ $ aws s3 lsSie erhalten den folgenden Fehler am Terminal, wenn Sie versuchen, einen bereits vorhandenen Eimernamen zu verwenden.
Einfügen von Daten in den S3 -Eimer
Nach dem Erstellen des S3 -Eimers ist es jetzt Zeit, einige Daten in den S3 -Eimer zu setzen. Um Daten in den S3 -Bucket zu verschieben, sind die folgenden Befehle verfügbar.
Der CP Der Befehl wird verwendet, um die Daten aus dem lokalen System in den S3 -Eimer zu kopieren und umgekehrt mit AWS CLI. Es kann auch verwendet werden, um die Daten von einem Quell -S3 -Bucket zu einem anderen Ziel S3 -Eimer zu kopieren. Die Syntax zum Kopieren der Daten in und vom S3 -Eimer ist wie unten.
Ubuntu@Ubuntu: ~ $ AWS S3 CP \Der MV Methode der S3 wird verwendet, um die Daten vom lokalen System auf den S3 -Eimer zu verschieben oder umgekehrt mit der AWS CLI. Genau wie das CP Befehl, wir können die verwenden MV Befehl zum Verschieben von Daten von einem S3 -Bucket in einen anderen S3 -Eimer. Im Folgenden finden Sie die Syntax, um die zu verwenden MV Befehl mit AWS CLI.
Ubuntu@Ubuntu: ~ $ AWS S3 MV \Der Synchronisation Der Befehl in der AWS S3 -Befehlszeilenschnittstelle wird verwendet, um ein lokales Verzeichnis und S3 -Eimer oder zwei S3 -Eimer zu synchronisieren. Der Synchronisation Der Befehl überprüft zuerst das Ziel und kopiert dann nur die Dateien, die im Ziel nicht vorhanden sind. im Gegensatz zu den Synchronisation Befehl, der CP Und MV Befehle verschieben die Daten von Quelle zum Ziel, auch wenn die Datei mit demselben Namen bereits am Ziel vorhanden ist.
Ubuntu@Ubuntu: ~ $ aws s3 sync \Der obige Befehl synchronisiert alle Daten aus dem lokalen Verzeichnis mit dem S3 -Bucket und kopiert nur die Dateien, die nicht im Ziel S3 -Bucket vorhanden sind.
Jetzt werden wir den S3 -Eimer mit dem lokalen Verzeichnis mit dem synchronisieren Synchronisation Befehl mit der AWS -Befehlszeilenschnittstelle.
Ubuntu@Ubuntu: ~ $ aws s3 sync \Der obige Befehl synchronisiert alle Daten aus dem S3 -Bucket in das lokale Verzeichnis und kopiert nur die Dateien, die im Ziel nicht vorhanden sind, da wir den S3 -Bucket und das lokale Verzeichnis bereits synchronisiert haben.
Daten aus dem S3 -Eimer löschen
Im vorherigen Abschnitt haben wir verschiedene Methoden zum Einfügen der Daten in den AWS S3 -Eimer mithilfe von Diskussionen erörtert CP, MV, Und Synchronisation Befehle. In diesem Abschnitt werden wir nun verschiedene Methoden und Parameter diskutieren, um die Daten aus dem S3 -Bucket mit AWS CLI zu löschen.
Um eine Datei aus einem S3 -Eimer zu löschen, die rm Befehl wird verwendet. Im Folgenden finden Sie die Syntax, um die zu verwenden rm Befehl zum Entfernen des S3 -Objekts (eine Datei) mithilfe der AWS -Befehlszeilenschnittstelle.
Ubuntu@Ubuntu: ~ $ aws s3 rm \Durch Ausführen des obigen Befehls löscht nur eine einzige Datei im S3 -Bucket. Um einen vollständigen Ordner zu löschen, der mehrere Dateien enthält, ist die -rekursiv Die Option wird mit diesem Befehl verwendet.
Um einen Ordner namens zu löschen Dateien Dies kann mehrere Dateien darin enthalten, der folgende Befehl kann verwendet werden.
Ubuntu@Ubuntu: ~ $ aws s3 rm \Im obigen Befehl werden zuerst alle Dateien aus allen Ordnern im S3 -Eimer entfernt und dann die Ordner entfernen. Ebenso können wir die verwenden -rekursiv Option zusammen mit dem S3 RM Methode, um einen ganzen S3 -Eimer zu leeren.
Ubuntu@Ubuntu: ~ $ aws s3 rm \Löschen eines S3 -Eimers
In diesem Abschnitt des Artikels werden wir diskutieren, wie wir einen S3 -Bucket auf AWS löschen können, indem wir die Befehlszeilenschnittstelle verwenden. Der rb Funktion wird verwendet, um den S3 -Bucket zu löschen, der den S3 -Eimer -Namen als Parameter akzeptiert. Bevor Sie den S3 -Bucket entfernen, sollten Sie zuerst den S3 -Eimer leeren, indem Sie alle Daten mithilfe der Daten entfernen rm Methode. Wenn Sie einen S3 -Eimer löschen, kann der Bucket -Name für andere verwendet werden.
Entfernen Sie vor dem Löschen des Eimers den S3 -Eimer, indem Sie alle Daten mithilfe der Daten entfernen rm Methode der S3.
Ubuntu@Ubuntu: ~ $ aws s3 rm \Nach dem Entleeren des S3 -Eimers können Sie die verwenden rb Methode der S3 Befehl zum Löschen des S3 -Eimers.
Ubuntu@Ubuntu: ~ $ AWS S3 RB \Bucket Versioning
Um die mehrfachen Varianten eines S3 -Objekts in S3 zu halten, kann der S3 -Bucket -Versioning aktiviert werden. Wenn Bucket Versioning aktiviert ist, können Sie die Änderungen, die Sie an einem S3 -Bucket -Objekt vorgenommen haben, verfolgen. In diesem Abschnitt werden wir die AWS CLI verwenden, um die S3 -Bucket -Versionierung zu konfigurieren.
Überprüfen Sie zunächst den Bucket -Versionsstatus Ihres S3 -Bucket mit dem folgenden Befehl.
Ubuntu@Ubuntu: ~ $ aws s3api ret-bucket-versioning \Da der Bucket -Versioning nicht aktiviert ist, hat der obige Befehl keine Ausgabe generiert.
Aktivieren Sie nach Überprüfung des S3 -Bucket -Versioningstatus den Bucket -Versioning nun mithilfe des folgenden Befehls im Terminal. Beachten Sie vor dem Aktivieren der Versionierung, dass die Versionierung nach Aktivierung nicht deaktiviert werden kann, aber Sie können sie suspendieren.
Ubuntu@Ubuntu: ~ $ AWS S3API Put-Bucket-Version \Dieser Befehl generiert keine Ausgabe und aktiviert die S3 -Bucket -Version erfolgreich.
Überprüfen Sie nun den Status des S3 -Bucket -Versioning Ihres S3 -Bucket mit dem folgenden Befehl.
Ubuntu@Ubuntu: ~ $ aws s3api ret-bucket-versioning \Wenn der Bucket -Versioning aktiviert ist, kann er mit dem folgenden Befehl im Terminal ausgesetzt werden.
Ubuntu@Ubuntu: ~ $ AWS S3API Put-Bucket-Version \Nach der Suspendierung des S3 -Bucket -Versioning kann der folgende Befehl verwendet werden, um den Status der Bucket Versioning erneut zu überprüfen.
Ubuntu@Ubuntu: ~ $ aws s3api ret-bucket-versioning \Standardverschlüsselung
Um sicherzustellen, dass jedes Objekt im S3 -Eimer verschlüsselt ist, kann die Standardverschlüsselung in S3 aktiviert werden. Nachdem Sie die Standardverschlüsselung aktiviert haben, wird es dann automatisch verschlüsselt, wenn Sie ein Objekt in den Eimer einfügen, automatisch verschlüsselt. In diesem Abschnitt des Blogs werden wir die AWS -CLI verwenden, um die Standardverschlüsselung auf einem S3 -Bucket zu konfigurieren.
Überprüfen Sie zunächst den Status der Standardverschlüsselung Ihres S3 -Eimers mit dem Trefferschleifer Methode der S3API. Wenn die Bucket -Standardverschlüsselung nicht aktiviert ist, wird er geworfen ServersideCryptionConfigurationNotFoundError Ausnahme.
Ubuntu@Ubuntu: ~ $ AWS S3API Get-Bucket-Decryption \Um nun die Standardverschlüsselung zu aktivieren, die Put-Bucket-Decryption Methode wird verwendet.
Ubuntu@Ubuntu: ~ $ AWS S3API Put-Bucket-Decryption \-Server-Seite-Decryption-Konfiguration '"Regeln": ["ApplyServersideEncryptyDefault": "SSEAlgorithmus": "AES256"] "
Der obige Befehl ermöglicht die Standardverschlüsselung, und jedes Objekt wird mit der AES-256 serverseitigen Verschlüsselung verschlüsselt, wenn sie in den S3-Bucket eingegeben werden.
Überprüfen Sie nach der Aktivierung der Standardverschlüsselung nun erneut den Status der Standardverschlüsselung mit dem folgenden Befehl.
Wenn die Standardverschlüsselung aktiviert ist, können Sie die Standardverschlüsselung deaktivieren, indem Sie den folgenden Befehl im Terminal verwenden.
Ubuntu@Ubuntu: ~ $ AWS S3API DELETE-BUCKET-DECRYPTION \Wenn Sie nun den Standardverschlüsselungsstatus erneut überprüfen, werfen Sie die Werte der ServersideCryptionConfigurationNotFoundError Ausnahme.
S3 Bucket Policy
Die S3 -Bucket -Richtlinie wird verwendet, um anderen AWS -Diensten innerhalb oder über die Konten auf den S3 -Bucket zugreifen zu können. Es wird verwendet, um die Erlaubnis des S3 -Eimers zu verwalten. In diesem Abschnitt des Blogs werden wir die AWS CLI verwenden, um die S3 -Bucket -Berechtigungen zu konfigurieren, indem wir die S3 -Bucket -Richtlinie anwenden.
Überprüfen Sie zunächst die S3 -Bucket -Richtlinie, um festzustellen, ob sie auf einem bestimmten S3 -Bucket vorhanden ist oder nicht, indem Sie den folgenden Befehl im Terminal befinden.
Ubuntu@Ubuntu: ~ $ AWS S3API Get-Bucket-Policy \Wenn der S3 -Eimer keine mit dem Eimer verbundene Eimer -Richtlinie hat, wird der obige Fehler auf das Terminal geworfen.
Jetzt konfigurieren wir die S3 -Bucket -Richtlinie mit dem vorhandenen S3 -Eimer. Zuerst müssen wir eine Datei erstellen, die die Richtlinie im JSON -Format enthält. Erstellen Sie eine Datei mit dem Namen Politik.JSON und fügen Sie dort den folgenden Inhalt ein. Ändern Sie die Richtlinie und setzen Sie Ihren S3 -Bucket -Namen vor, bevor Sie sie verwenden.
Führen Sie nun den folgenden Befehl im Terminal aus, um diese Richtlinie auf den S3 -Eimer anzuwenden.
Ubuntu@Ubuntu: ~ $ AWS S3API Put-Bucket-Policy \Überprüfen Sie nach der Anwendung der Richtlinie nun den Status der Bucket -Richtlinie, indem Sie den folgenden Befehl im Terminal ausführen.
Ubuntu@Ubuntu: ~ $ AWS S3API Get-Bucket-Policy \Um die an den S3 -Bucket angehängten S3 -Bucket -Richtlinie zu löschen, kann der folgende Befehl im Terminal ausgeführt werden.
Ubuntu@Ubuntu: ~ $ AWS S3API Delete-Bucket-Policy \Serverzugriffsprotokollierung
Um alle Anforderungen an einen S3 -Bucket in einem anderen S3 -Bucket zu protokollieren, muss die Protokollierung des Serverzugriffs für einen S3 -Bucket aktiviert werden. In diesem Abschnitt des Blogs werden wir diskutieren, wie wir die Anmeldung des Serverzugriffs an und S3 -Bucket über die AWS -Befehlszeilenschnittstelle konfigurieren können.
Erzielen Sie zunächst den aktuellen Status der Serverzugriffs -Protokollierung für einen S3 -Bucket, indem Sie den folgenden Befehl im Terminal verwenden.
Ubuntu@Ubuntu: ~ $ AWS S3API Get-Bucket-Logging \Wenn die Protokollierung des Serverzugriffs nicht aktiviert ist.
Nachdem wir den Status der Protokollierung überprüft haben, versuchen wir nun, die Protokollierung am S3 -Bucket zu aktivieren, um Protokolle in einen anderen Ziel S3 -Eimer zu setzen. Stellen Sie vor dem Aktivieren der Protokollierung sicher, dass der Zielbucket eine Richtlinie enthält, mit der der Quellbucket Daten einfügen kann.
Erstellen Sie zunächst eine Datei mit dem Namen Protokollierung.JSON und fügen Sie dort den folgenden Inhalt ein und ersetzen Sie das TargetBucket durch den Namen des Ziels S3 -Eimer.
Verwenden Sie nun den folgenden Befehl, um die Protokollierung auf einem S3 -Eimer zu aktivieren.
Ubuntu@Ubuntu: ~ $ AWS S3API Put-Bucket-Logging \Nachdem Sie die Protokollierung des Serverzugriffs auf dem S3 -Bucket aktiviert haben, können Sie den Status der S3 -Protokollierung erneut über den folgenden Befehl überprüfen.
Ubuntu@Ubuntu: ~ $ AWS S3API Get-Bucket-Logging \Ereignisbenachrichtigung
AWS S3 stellt uns eine Eigenschaft zur Verfügung, um eine Benachrichtigung auszulösen, wenn ein bestimmtes Ereignis dem S3 eintritt. Wir können S3 -Ereignisbenachrichtigungen verwenden, um SNS -Themen, eine Lambda -Funktion oder eine SQS -Warteschlange auszulösen. In diesem Abschnitt sehen wir, wie wir die S3 -Ereignisbenachrichtigungen mithilfe der AWS -Befehlszeilenschnittstelle konfigurieren können.
Verwenden Sie zunächst die There-Bucket-Notification-Configuration Methode der S3API Um den Status der Ereignisbenachrichtigung auf einem bestimmten Eimer zu erhalten.
Ubuntu@ubuntu: ~ $ aws s3api tritt-bucket-Notification-Configuration \Wenn der S3 -Bucket keine Ereignisbenachrichtigung hat, generiert er keine Ausgabe am Terminal.
Um eine Ereignisbenachrichtigung zu ermöglichen, um das SNS -Thema auszulösen, müssen Sie zunächst eine Richtlinie an das SNS -Thema anschließen. Danach müssen Sie eine Datei namens erstellen Benachrichtigung.JSON, Dies enthält die Details des SNS -Themas und des S3 -Ereignisses. Eine Datei erstellen Benachrichtigung.JSON und fügen Sie dort den folgenden Inhalt ein.
Gemäß der obigen Konfiguration wird das S3 -Eimer, wenn Sie ein neues Objekt in den S3 -Eimer einfügen, das in der Datei definierte SNS -Thema ausgelöst.
Erstellen Sie nach dem Erstellen der Datei nun die S3 -Ereignisbenachrichtigung in Ihrem spezifischen S3 -Bucket mit dem folgenden Befehl.
Ubuntu@ubuntu: ~ $ aws s3api putbucket-notification-Configuration \Der obige Befehl erstellt eine S3 -Ereignisbenachrichtigung mit den bereitgestellten Konfigurationen in der Benachrichtigung.JSON Datei.
Nach dem Erstellen der S3 -Ereignisbenachrichtigung finden Sie jetzt erneut alle Ereignisbenachrichtigungen mit dem folgenden AWS CLI -Befehl.
Ubuntu@ubuntu: ~ $ aws s3api tritt-bucket-Notification-Configuration \In diesem Befehl wird die oben genannte Ereignisbenachrichtigung in der Konsolenausgabe aufgeführt. In ähnlicher Weise können Sie einem einzelnen S3 -Eimer mehrere Ereignisbenachrichtigungen hinzufügen.
Lebenszyklusregeln
Der S3 -Bucket bietet Lebenszyklusregeln, um den Lebenszyklus der im S3 -Bucket gespeicherten Objekte zu verwalten. Diese Funktion kann verwendet werden, um den Lebenszyklus der verschiedenen Versionen von S3 -Objekten anzugeben. Die S3 -Objekte können in verschiedene Speicherklassen verschoben oder nach einem bestimmten Zeitraum gelöscht werden. In diesem Abschnitt des Blogs sehen wir, wie wir die Lebenszyklusregeln mithilfe der Befehlszeilenschnittstelle konfigurieren können.
Holen Sie sich zunächst alle S3 Bucket Lifecycle -Regeln in einem Eimer mit dem folgenden Befehl konfiguriert.
Ubuntu@Ubuntu: ~ $ AWS S3API GET-BUCKET-LIFECYCLE \Wenn die Lebenszyklusregeln nicht mit dem S3 -Eimer konfiguriert sind, erhalten Sie die NoSuchlifecycleconfiguration Ausnahme als Antwort.
Lassen Sie uns nun eine Lebenszyklus -Regelkonfiguration mit der Befehlszeile erstellen. Der Put-Bucket-LIFECYCLE Methode kann verwendet werden, um die Lebenszykluskonfigurationsregel zu erstellen.
Erstellen Sie zunächst eine Regeln.JSON Datei, die die Lebenszyklusregeln im JSON -Format enthält.
Erstellen Sie nach dem Erstellen der Datei mit Regeln im JSON -Format nun die Lifecycle -Konfigurationsregel mit dem folgenden Befehl.
Ubuntu@Ubuntu: ~ $ AWS S3API Put-Bucket-lifecycle \Der obige Befehl erstellt erfolgreich eine Lebenszyklus -Konfiguration und Sie können die Lebenszykluskonfiguration mithilfe des Keilet-Lifecycle Methode.
Ubuntu@Ubuntu: ~ $ AWS S3API GET-BUCKET-LIFECYCLE \Im obigen Befehl werden alle für den Lebenszyklus erstellten Konfigurationsregeln aufgeführt. In ähnlicher Weise können Sie die Lifecycle -Konfigurationsregel verwenden, indem Sie die Löschen von Bucket-LIFECYCLE Methode.
Ubuntu@ubuntu: ~ $ aws s3api Delete-bucket-lifecycle \Der obige Befehl löscht die S3 Bucket Lifecycle -Konfigurationen erfolgreich.
Replikationsregeln
Replikationsregeln in S3 -Eimer werden verwendet, um bestimmte Objekte aus einem Quell -S3 -Bucket zu einem Ziel -S3 -Eimer innerhalb desselben oder anderen Kontos zu kopieren. Außerdem können Sie die Option Zielspeicherklasse und Verschlüsselung in der Replikationsregelkonfiguration angeben. In diesem Abschnitt werden wir die Replikationsregel auf einem S3 -Bucket über die Befehlszeilenschnittstelle anwenden.
Lassen Sie zunächst alle Replikationsregeln auf einem S3 -Bucket mit dem konfigurieren Ret-Bucket-Replikation Methode.
Ubuntu@Ubuntu: ~ $ AWS S3API Get-Bucket-Replikation \Wenn keine Replikationsregel mit einem S3 -Eimer konfiguriert ist, wirft der Befehl das aus ReplicationConfigurationNotFoundError Ausnahme.
Um eine neue Replikationsregel mit der Befehlszeilenschnittstelle zu erstellen, müssen Sie zunächst die Versionierung sowohl auf dem Quell- als auch auf dem Ziel S3 -Bucket aktivieren. Das Aktivieren der Versionierung wurde früher in diesem Blog erörtert.
Nachdem Sie die S3 -Bucket -Versionierung sowohl auf dem Quell- als auch auf dem Zielbuckel aktiviert haben, erstellen Sie nun a Reproduzieren.JSON Datei. Diese Datei enthält die Konfiguration der Replikationsregeln im JSON -Format. Ersetze das Iam_role_arn Und Destination_bucket_arn In der folgenden Konfiguration vor dem Erstellen der Replikationsregel.
Nach dem Erstellen der Reproduzieren.JSON Datei erstellen Sie nun die Replikationsregel mit dem folgenden Befehl.
Ubuntu@Ubuntu: ~ $ AWS S3API Put-Bucket-Replikation \Nachdem Sie den obigen Befehl ausgeführt haben, wird im Quell S3 -Bucket eine Replikationsregel erstellt, mit der die Daten automatisch in den in der angegebenen Ziel S3 -Bucket kopiert werden Reproduzieren.JSON Datei.
In ähnlicher Weise können Sie die S3 -Bucket -Replikationsregel verwenden, indem Sie die Löschen-Bucket-Replikation Methode in der Befehlszeilenschnittstelle.
Ubuntu@Ubuntu: ~ $ AWS S3API Delete-Bucket-Replikation \Abschluss
In diesem Blog werden beschrieben und Lebenszykluskonfigurationen. Diese Vorgänge können automatisiert werden, indem die Befehle für die Befehlszeilenschnittstellen der AWS -Linien in Ihren Skripten verwendet werden und daher die Automatisierung des Systems helfen.