Die Kontrolle und Verwaltung von Daten kann eine anstrengende Aufgabe sein. Diese AWS S3-Befehle helfen Ihnen, Ihre AWS S3-Buckets und -Daten schnell und effizient zu verwalten.

AWS S3 ist Objektspeicher von AWS bereitgestellter Dienst. Es ist der am weitesten verbreitete Speicherdienst von AWS, der praktisch unendlich viele Daten speichern kann. Es ist hochverfügbar, langlebig und einfach in mehrere andere AWS-Services zu integrieren.  

AWS S3 kann von Personen mit allen Anforderungen verwendet werden, wie z. statische Websites hostenund viele mehr.

Wenn Sie S3 in Ihrem Projekt verwendet haben, wissen Sie, dass angesichts der enormen Menge an Speicherkapazität die Verwaltung von Hunderten von Buckets und Terabytes an Daten in diesen Buckets eine anspruchsvolle Aufgabe sein kann. Wir haben eine Liste von AWS S100-Befehlen mit Beispielen, die Sie verwenden können, um Ihre AWS S3-Buckets und -Daten effizient zu verwalten.

AWS CLI-Setup

Nach erfolgreichem Download und Installation der AWS-CLImüssen Sie AWS-Anmeldeinformationen konfigurieren, um auf Ihr AWS-Konto und Ihre Services zugreifen zu können. Lassen Sie uns kurz durchgehen, wie Sie AWS CLI konfigurieren können.

Der erste Schritt besteht darin, einen Benutzer mit programmgesteuertem Zugriff auf das AWS-Konto zu erstellen. Denken Sie daran, dieses Kontrollkästchen zu aktivieren, wenn Sie einen Benutzer für AWS CLI erstellen.

Geben Sie die Berechtigungen und erstellen Sie einen Benutzer. Kopieren Sie auf dem letzten Bildschirm, nachdem Sie diesen Benutzer erfolgreich erstellt haben, die Zugriffsschlüssel-ID und den geheimen Zugriffsschlüssel für diesen Benutzer. Wir verwenden diese Anmeldeinformationen, um uns über die AWS CLI anzumelden.

Gehen Sie nun zum Terminal Ihrer Wahl und führen Sie den folgenden Befehl aus.

aws konfigurieren 

Geben Sie die Zugriffsschlüssel-ID und den geheimen Zugriffsschlüssel ein, wenn Sie dazu aufgefordert werden. Wählen Sie eine beliebige AWS-Region Ihrer Wahl und das Befehlsausgabeformat aus. Ich persönlich bevorzuge das JSON-Format. Dies ist keine große Sache, Sie können diese Werte später jederzeit ändern.

Sie können jetzt jeden AWS CLI-Befehl in der Konsole ausführen. Lassen Sie uns nun die AWS S3-Befehle durchgehen.

cp

Der cp-Befehl kopiert einfach die Daten in und aus S3-Buckets. Es kann verwendet werden, um Dateien von lokal nach S3, von S3 nach lokal und zwischen zwei S3-Buckets zu kopieren. Es gibt viele andere Parameter, die Sie mit den Befehlen angeben können.

Beispielsweise der Parameter -dryrun zum Testen des Befehls, der Parameter –storage-class zum Angeben der Speicherklasse Ihrer Daten in S3, andere Parameter zum Festlegen der Verschlüsselung und vieles mehr. Die Befehl cp gibt Ihnen die vollständige Kontrolle darüber, wie Sie Ihre konfigurieren Datensicherheit in S3.

Anwendungsbereich

aws s3 vergl [--Optionen]

Beispiele

Kopieren Sie Daten von lokal nach S3

aws s3 cp file_name.txt s3://bucket_name/file_name_2.txt

Daten von S3 auf lokal kopieren

aws s3 cp s3://bucket_name/file_name_2.txt file_name.txt

Kopieren Sie Daten zwischen S3-Buckets

aws s3 cp s3://Bucket_Name/Dateiname.txt s3://Bucket_Name_2/Dateiname_2.txt

Kopieren Sie Daten von lokal nach S3 – IA

aws s3 cp file_name.txt s3://bucket_name/file_name_2.txt --storage-class STANDARD_IA 

Kopieren Sie alle Daten aus einem lokalen Ordner nach S3

aws s3 cp ./local_folder s3://bucket_name --recursive

ls

Die ls Befehl wird verwendet, um die Buckets oder den Inhalt der Buckets aufzulisten. Wenn Sie also einfach nur Informationen zu Ihren Buckets oder den Daten in diesen Buckets anzeigen möchten, können Sie den Befehl ls verwenden.

Verwendung:

aws s3 ls NONE oder [--Optionen]

Beispiele

Alle Buckets im Konto auflisten

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

Dieser Befehl listet alle Buckets in Ihrem Konto mit dem Bucket-Erstellungsdatum auf.

Alle Objekte der obersten Ebene in einem Bucket auflisten

aws s3 ls BUCKET_NAME_1 oder s3://BUCKET_NAME_1 Ausgabe: 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

Dieser Befehl listet alle Objekte der obersten Ebene in einem S3-Bucket auf. Beachten Sie hier, dass die Objekte mit dem Präfix samplePrefix/ hier nicht angezeigt werden, sondern nur die Objekte der obersten Ebene.

Alle Objekte in einem Bucket auflisten

aws s3 ls BUCKET_NAME_1 oder 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

Dieser Befehl listet alle Objekte in einem S3-Bucket auf. Beachten Sie hier, dass die Objekte mit dem Präfix samplePrefix/ und allen Unterpräfixen ebenfalls angezeigt werden.

mb

Die mb-Befehl wird einfach verwendet, um neue S3-Buckets zu erstellen. Dies ist ein ziemlich einfacher Befehl, aber um neue Buckets zu erstellen, sollte der Name des neuen Buckets für alle S3-Buckets eindeutig sein.

Anwendungsbereich

aws s3mb

Beispiel

Erstellen Sie einen neuen Bucket in einer bestimmten Region

aws s3 mb myUniqueBucketName --region eu-west-1

mv

Die Befehl mv verschiebt die Daten einfach in und aus S3-Buckets. Genau wie der Befehl cp wird der Befehl mv verwendet, um Daten von lokal nach S3, von S3 nach lokal oder zwischen zwei S3-Buckets zu verschieben.

Der einzige Unterschied zwischen dem mv- und dem cp-Befehl besteht darin, dass bei Verwendung des mv-Befehls die Datei aus der Quelle gelöscht wird. AWS bewegt sich diese Datei an das Ziel. Es gibt viele Optionen, die Sie mit dem Befehl angeben können.

Anwendungsbereich

aws s3 mv [--Optionen]

Beispiele

Verschieben Sie Daten von lokal nach S3

aws s3 mv file_name.txt s3://bucket_name/file_name_2.txt

Verschieben Sie Daten von S3 auf lokal

aws s3 mv s3://Bucket_Name/Dateiname_2.txt Dateiname.txt

Verschieben Sie Daten zwischen S3-Buckets

aws s3 mv s3://Bucket_Name/Dateiname.txt s3://Bucket_Name_2/Dateiname_2.txt

Verschieben Sie Daten von lokal nach S3 – IA

aws s3 mv file_name.txt s3://bucket_name/file_name_2.txt --storage-class STANDARD_IA 

Verschieben Sie alle Daten von einem Präfix in S3 in einen lokalen Ordner.

aws s3 mv s3://bucket_name/somePrefix ./localFolder --recursive

presign

Der Presign-Befehl generiert eine vorsignierte URL für einen Schlüssel im S3-Bucket. Sie können diesen Befehl verwenden, um URLs zu generieren, die von anderen verwendet werden können, um auf eine Datei im angegebenen S3-Bucket-Schlüssel zuzugreifen.

Anwendungsbereich

aws s3 vorzeichen -Läuft ab in

Beispiel

Generieren Sie für ein Objekt im Bucket eine vorsignierte URL, die 1 Stunde lang gültig ist.

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

Der rb-Befehl wird einfach verwendet, um S3-Buckets zu löschen.

Anwendungsbereich

aws rb

Beispiel

Löschen Sie einen S3-Bucket.

aws s3 mb myBucketName # Dieser Befehl schlägt fehl, wenn sich Daten in diesem Bucket befinden.

Löschen Sie einen S3-Bucket zusammen mit den Daten im S3-Bucket.

aws s3 mb myBucketName --force

rm

Der Befehl rm wird einfach verwendet, um die Objekte in S3-Buckets zu löschen.

Anwendungsbereich

aws s3 rm

Beispiele

Löschen Sie eine Datei aus dem S3-Bucket.

aws s3 rm s3://bucket_name/sample_prefix/file_name_2.txt

Löschen Sie alle Dateien mit einem bestimmten Präfix in einem S3-Bucket.

aws s3 rm s3://bucket_name/sample_prefix --recursive

Löschen Sie alle Dateien in einem S3-Bucket.

aws s3 rm s3://bucket_name --rekursiv

sync

Der sync-Befehl kopiert und aktualisiert Dateien von der Quelle zum Ziel, genau wie der cp-Befehl. Es ist wichtig, dass wir den Unterschied zwischen dem cp- und dem sync-Befehl verstehen. Wenn Sie cp verwenden, werden Daten von der Quelle zum Ziel kopiert, selbst wenn die Daten bereits am Ziel vorhanden sind.

Es werden auch keine Dateien vom Ziel gelöscht, wenn sie von der Quelle gelöscht werden. Die Synchronisierung sieht sich jedoch das Ziel an, bevor Sie Ihre Daten kopieren, und kopiert nur die neuen und aktualisierten Dateien. Die Sync-Befehl ähnelt dem Festschreiben und Übertragen von Änderungen an einen Remote-Zweig in Git. Der Sync-Befehl bietet viele Optionen, um den Befehl anzupassen.

Anwendungsbereich

aws s3 synchronisieren [--Optionen]

Beispiele

Lokalen Ordner mit S3 synchronisieren

aws s3 sync ./local_folder s3://bucket_name

Synchronisieren Sie S3-Daten mit einem lokalen Ordner

aws s3 sync s3://bucket_name ./local_folder

Daten zwischen zwei S3-Buckets synchronisieren

aws s3 sync s3://bucket_name s3://bucket_name_2

Verschieben Sie Daten zwischen zwei S3-Buckets mit Ausnahme aller .txt-Dateien

aws s3 sync s3://bucket_name s3://bucket_name_2 --exclude "*.txt

website

Sie können S3-Buckets verwenden, um statische Websites zu hosten. Der website-Befehl wird verwendet, um das statische S3-Website-Hosting für Ihren Bucket zu konfigurieren.

Sie geben den Index und die Fehlerdateien an und der S3 gibt Ihnen eine URL, wo Sie die Datei anzeigen können.

Anwendungsbereich

aws s3-Website [--Optionen]

Beispiel:

Konfigurieren Sie das statische Hosting für einen S3-Bucket und geben Sie die Index- und Fehlerdateien an

aws s3-Website s3://bucket_name --index-document index.html --error-document error.html

Fazit

Ich hoffe, das Obige gibt Ihnen eine Vorstellung von einigen der häufig verwendeten AWS S3-Befehle zum Verwalten von Buckets. Wenn Sie daran interessiert sind, mehr zu erfahren, können Sie vorbeischauen AWS-Zertifizierungsdetails.