Erste Schritte mit Amazon S3 mit AWS CLI
Sie können mit Amazon S3 beginnen, indem Sie die AWS Command Line Interface (AWS CLI) verwenden, um mit Allzweck-Buckets und Objekten zu arbeiten. Ein Bucket ist ein Container für Objekte. Ein Objekt ist eine Datei und alle Metadaten, die diese Datei beschreiben.
Um ein Objekt in Amazon S3 zu speichern, erstellen Sie einen Bucket und laden das Objekt dann in den Bucket hoch. Wenn sich das Objekt im Bucket befindet, können Sie es öffnen, herunterladen und verschieben. Wenn Sie ein Objekt oder einen Bucket nicht mehr benötigen, können Sie Ihre Ressourcen aufräumen.
Mit Amazon S3 zahlen Sie nur für das, was Sie tatsächlich nutzen. Weitere Informationen zu den Funktionen und Preisen von Amazon S3 finden Sie unter Amazon S3
Anmerkung
Weitere Informationen zur Verwendung der Speicherklasse Amazon S3 Express One Zone mit Verzeichnis-Buckets finden Sie unter Tutorial: Erste Schritte mit S3 Express One Zone und Arbeiten mit Verzeichnis-Buckets.
Einrichtung
Stellen Sie vor dem Beginn der Verwendung AWS CLI mit Amazon S3 sicher, dass Sie über Folgendes verfügen:
-
Für ein AWS-Konto registriert. Detaillierte Anweisungen finden Sie unter Einrichten von Amazon S3.
-
Einen
s3:*-Benutzer ohne Berechtigungen erstellt. Detaillierte Anweisungen finden Sie unter Einrichten von Amazon S3. -
Installation und Konfiguration der AWS CLI. Weitere Anweisungen finden Sie unter Installation oder Aktualisierung der aktuellen Version der AWS CLI im Benutzerhandbuch zu AWS Command Line Interface.
Um zu überprüfen, ob die AWS CLI ordnungsgemäß konfiguriert ist, führen Sie bitte den folgenden Befehl aus:
aws sts get-caller-identity
Weitere Informationen finden Sie unter get-caller-identity in der AWS CLI-Befehlsreferenz.
Dieser Befehl zeigt eine Liste der verfügbaren Amazon S3-Befehle an, sofern AWS CLI ordnungsgemäß installiert und konfiguriert ist.
Schritt 1: Erstellen Sie Ihren ersten S3-Bucket
Nachdem Sie die AWS CLI eingerichtet haben, können Sie einen Bucket in Amazon S3 erstellen. Alle Objekte in Amazon S3 werden in einem Bucket gespeichert. Bevor Sie Daten in Amazon S3 speichern können, müssen Sie einen Bucket erstellen.
Anmerkung
Für das Erstellen eines Buckets werden Ihnen keine Gebühren in Rechnung gestellt. Es fallen nur Gebühren für das Speichern von Objekten im Bucket und für die Übertragung von Objekten in den und aus dem Bucket an. Die Gebühren, die beim Durcharbeiten der Beispiele in diesem Handbuch anfallen, sind minimal (weniger als 1,0 USD). Weitere Information zu Speicherkosten finden Sie unter Amazon S3 – Preise
So erstellen Sie einen Bucket
-
Erstellen Sie ein Quell-Bundle mit dem Befehl
s3api create-bucket.Ersetzen Sie es durch einen eindeutigen Bucket-Namen undamzn-s3-demo-bucketus-east-1durch Ihre gewünschte Region:aws s3api create-bucket --bucketamzn-s3-demo-bucket--regionus-east-1Für andere Regionen als us-east-1 müssen Sie die Standortbeschränkung angeben:
aws s3api create-bucket --bucketamzn-s3-demo-bucket--regionus-west-2--create-bucket-configuration LocationConstraint=us-west-2Anmerkung
-
Die Region einmal erstellter Buckets kann nicht nachträglich geändert werden.
-
Wählen Sie eine Region in der Nähe aus, um Latenz und Kosten gering zu halten und behördliche Vorschriften zu erfüllen. In einer Region gespeicherte Objekte verbleiben so lange in der Region, bis sie explizit in eine andere Region verschoben werden. Eine Liste der Amazon-S3-AWS-Regionen finden Sie unter AWS-Service-Endpunkte im Allgemeine Amazon Web Services-Referenz.
-
Der Bucket-Name ...:
-
Muss innerhalb einer Partition einzigartig sein. Eine Partition ist eine Gruppierung von Regionen. AWS verfügt derzeit über drei Partitionen:
aws(kommerzielle Regionen),aws-cn(China-Regionen) undaws-us-gov(AWS GovCloud (US)-Regionen). -
Muss zwischen 3 und 63 Zeichen lang sein.
-
Darf nur aus Kleinbuchstaben, Zahlen, Punkten (.) und Bindestrichen (-) bestehen. Aus Gründen der besten Kompatibilität empfehlen wir, Punkte (.) in Bucket-Namen zu vermeiden, mit Ausnahme von Buckets, die nur für statisches Website-Hosting verwendet werden.
-
Muss mit einer Zahl oder einem Buchstaben beginnen und enden.
-
-
Der Name eines einmal erstellten Buckets kann nicht nachträglich geändert werden.
-
Geben Sie im Bucket-Namen keine sensiblen Informationen an. Der Bucket-Name wird in der URL angezeigt, die auf die Objekte im Bucket verweist.
-
-
Stellen Sie sicher, dass Ihr Bucket erstellt wurde, indem Sie alle Buckets auflisten:
aws s3 ls -
Für die Objekteigentümerschaft können Sie ACLs deaktivieren oder aktivieren und die Eigentümerschaft von Objekten steuern, die in Ihren Bucket hochgeladen werden.
Deaktivierte ACLs
Bucket-Eigentümer als erzwungen festlegen (Standard) – ACLs sind deaktiviert und der Bucket-Eigentümer besitzt automatisch jedes Objekt im Allzweck-Bucket und hat die volle Kontrolle darüber.
aws s3api put-bucket-ownership-controls --bucketamzn-s3-demo-bucket--ownership-controls="Rules=[{ObjectOwnership=BucketOwnerEnforced}]"Anmerkung
Standardmäßig sind ACLs deaktiviert. Die meisten modernen Anwendungsfälle in Amazon S3 erfordern keine ACLs mehr. Wir empfehlen Ihnen daher, ACLs zu deaktivieren, außer unter Umständen, in denen Sie den Zugriff für jedes Objekt einzeln steuern müssen. Weitere Informationen finden Sie unter Weitere Informationen finden Sie unter Steuern des Eigentums an Objekten und Deaktivieren von ACLs für Ihren Bucket..
Aktivierte ACLs
-
Bucket-Besitzer als bevorzugt festlegen – Der Bucket-Besitzer besitzt und hat die vollständige Kontrolle über neue Objekte, die andere Konten mit der vordefinierten ACL „
bucket-owner-full-control“ in den Bucket schreiben:aws s3api put-bucket-ownership-controls --bucketamzn-s3-demo-bucket--ownership-controls="Rules=[{ObjectOwnership=BucketOwnerPreferred}]"Wenn Sie die Einstellung Bucket-Eigentümer bevorzugt anwenden, damit alle Amazon-S3-Uploads die von
bucket-owner-full-controlvordefinierte ACL enthalten, können Sie Erfordert die ACL für Amazon-S3-PUT-Vorgänge mit voller Kontrolle des Bucket-Eigentümers (Bucket-Eigentümer bevorzugt), die nur Objekt-Uploads zulässt, die diese ACL verwenden. -
Objekt-Writer festlegen – Das AWS-Konto, das ein Objekt hochlädt, besitzt das Objekt, hat die volle Kontrolle darüber und kann anderen Benutzern über ACLs Zugriff darauf gewähren.
aws s3api put-bucket-ownership-controls --bucketamzn-s3-demo-bucket--ownership-controls="Rules=[{ObjectOwnership=ObjectWriter}]"
Anmerkung
Die Standardeinstellung ist Bucket-Eigentümer erzwungen. Um die Standardeinstellung anzuwenden und ACLs deaktiviert zu lassen, ist nur die
s3:CreateBucket-Berechtigung erforderlich. Sie müssen über dies3:PutBucketOwnershipControls-Berechtigung verfügen, um ACLs zu aktivieren.So überprüfen Sie die aktuelle Einstellung „Objekteigentum“ für Ihren Bucket:
aws s3api get-bucket-ownership-controls --bucketamzn-s3-demo-bucket -
-
So überprüfen Sie, ob Block Public Access aktiviert ist (für neue Buckets ist diese Option standardmäßig aktiviert):
aws s3api get-public-access-block --bucketamzn-s3-demo-bucketDie vier Einstellungen Blockieren jeglichen öffentlichen Zugriffs sind für neue Buckets standardmäßig aktiviert. Es wird empfohlen, alle Einstellungen aktiviert zu lassen, es sei denn, Sie wissen, dass Sie eine oder mehrere dieser Einstellungen für Ihren Anwendungsfall deaktivieren müssen. Weitere Informationen zum Blockieren des öffentlichen Zugriffs finden Sie unter Blockieren des öffentlichen Zugriffs auf Ihren Amazon-S3-Speicher.
Wenn Sie Block Public Access aktivieren müssen, verwenden Sie den folgenden Befehl:
aws s3api put-public-access-block --bucketamzn-s3-demo-bucket--public-access-block-configuration "BlockPublicAcls=true,IgnorePublicAcls=true,BlockPublicPolicy=true,RestrictPublicBuckets=true"Anmerkung
Zum Aktivieren aller Einstellungen zum Blockieren des öffentlichen Zugriffs ist nur die
s3:CreateBucket-Berechtigung erforderlich. Wenn Sie eine der Einstellungen zum Blockieren des öffentlichen Zugriffs deaktivieren möchten, benötigen Sie dies3:PutBucketPublicAccessBlock-Berechtigung. -
So aktivieren Sie die Versionsverwaltung für Ihren Bucket:
aws s3api put-bucket-versioning --bucketamzn-s3-demo-bucket--versioning-configuration Status=EnabledFür einen neuen Bucket ist die Versionsverwaltung standardmäßig deaktiviert. Das Versioning ermöglicht Ihnen, mehrere Versionen eines Objekts im selben Bucket aufzubewahren. Sie können Versioning verwenden, um sämtliche Versionen aller Objekte in Ihrem Bucket zu speichern, abzurufen oder wiederherzustellen. Daten lassen sich dank Versioning nach unbeabsichtigten Benutzeraktionen und Anwendungsfehlern leichter wiederherstellen. Weitere Informationen über das Versioning finden Sie unter Beibehalten mehrerer Versionen von Objekten mit der S3-Versionsverwaltung.
-
Amazon S3 Object Lock schützt neue Objekte vor dem Löschen oder Überschreiben. Weitere Informationen finden Sie unter Sperren von Objekten mit Object Lock. Um zu aktivieren Sperren von Objekten mit Object Lock (erfordert Bucket-Versionsverwaltung):
Für einen neuen Bucket:
aws s3api create-bucket --bucketamzn-s3-demo-bucket--regionus-east-1--object-lock-enabled-for-bucketFür einen vorhandenen Bucket:
aws s3api put-object-lock-configuration --bucketamzn-s3-demo-bucket--object-lock-configuration '{"ObjectLockEnabled": "Enabled"}'Wenn Sie Sperren von Objekten mit Object Lock neben der Aktivierung von Object Lock auch einen Standard festlegen möchten, können Sie Folgendes verwenden:
aws s3api put-object-lock-configuration --bucketamzn-s3-demo-bucket--object-lock-configuration '{"ObjectLockEnabled":"Enabled","Rule":{"DefaultRetention":{"Mode":"COMPLIANCE","Days":30}}}'Sie können ihn
"COMPLIANCE"durch"GOVERNANCE"einen weniger restriktiven Modus ersetzen und die Anzahl der Tage nach Bedarf anpassen.Anmerkung
Wenn Sie einen Bucket mit aktivierter Object Lock erstellen möchten, benötigen Sie die folgenden Berechtigungen:
s3:CreateBucket,s3:PutBucketVersioningunds3:PutBucketObjectLockConfiguration. -
Sie können Ihrem Bucket Tags hinzufügen. Mit der AWS-Kostenzuordnung können Sie Bucket-Tags verwenden, um Kommentare zur Rechnungsstellung für Ihre Verwendung eines Buckets anzubringen. Ein Tag ist ein Schlüssel-Wert-Paar, das eine Bezeichnung repräsentiert, die Sie einem Bucket zuweisen. Weitere Informationen finden Sie unter Verwenden von Kostenzuordnungs-Markierungen für S3-Buckets.
So fügen Sie Ihrem Bucket Tags hinzu:
aws s3api put-bucket-tagging --bucketamzn-s3-demo-bucket--tagging 'TagSet=[{Key=Purpose,Value=Testing},{Key=Environment,Value=Development}]' -
Buckets und neue Objekte werden mit serverseitiger Verschlüsselung verschlüsselt. Dabei sind von Amazon S3 verwaltete Schlüssel (
SSE-S3) die Grundebene der Verschlüsselungskonfiguration. Verwenden Sie den folgenden Befehl, um die Standardverschlüsselung Ihres Buckets zu überprüfen:aws s3api get-bucket-encryption --bucketamzn-s3-demo-bucketSie können auch serverseitige Verschlüsselung mit AWS KMS Schlüsseln (
SSE-KMS) und serverseitige Dual-Layer-Verschlüsselung mit AWS KMS Schlüsseln (DSSE-KMS) für Ihren Bucket konfigurieren. Sowohl der AWS-verwaltete Schlüssel (aws/s3) als auch Ihre kundenseitig verwalteten Schlüssel können als AWS KMS-Schlüssel fürSSE-KMS- undDSSE-KMS-Verschlüsselungskonfiguration verwendet werden. Weitere Informationen über vom Kunden verwaltete Schlüssel finden Sie unter Kundenschlüssel und AWS-Schlüssel im Entwicklerhandbuch zu AWS Key Management Service. Weitere Informationen zum Erstellen von AWS KMS-Schlüsseln finden Sie unter Erstellen von Schlüsseln im AWS Key Management Service-Entwicklerhandbuch.Wichtig
Der AWS KMS-Schlüssel muss sich in derselben AWS-Region wie Ihr Amazon S3-Bucket befinden. Regionsübergreifende KMS-Schlüssel werden für die Amazon S3-Bucket-Verschlüsselung nicht unterstützt.
Wenn Sie Ihren Bucket für die Verwendung der Standardverschlüsselung mit SSE-KMS konfigurieren, können Sie auch Amazon S3-Bucket-Schlüssel aktivieren. Amazon S3-Bucket-Schlüssel verringern den Anforderungsverkehr von Amazon S3 zu AWS KMS und senken die Verschlüsselungskosten. Weitere Informationen finden Sie unter Reduzieren des Preises von SSE-KMS mit Amazon-S3-Bucket-Schlüsseln. Amazon S3-Bucket-Schlüssel werden für DSSE-KMS nicht unterstützt. In der AWS CLI sind Amazon S3-Bucket-Schlüssel NICHT standardmäßig aktiviert, wenn ein neuer Bucket erstellt wird. Dies unterscheidet sich vom Verhalten der Konsole, bei dem sie standardmäßig aktiviert sind.
So konfigurieren
SSE-KMSund aktivieren Sie die Amazon S3-Bucket-Schlüssel:aws s3api put-bucket-encryption --bucketamzn-s3-demo-bucket--server-side-encryption-configuration "{\"Rules\":[{\"ApplyServerSideEncryptionByDefault\":{\"SSEAlgorithm\":\"aws:kms\",\"KMSMasterKeyID\":\"YOUR-KMS-KEY-ARN\"},\"BucketKeyEnabled\":true}]}"Um zu überprüfen, ob Amazon S3-Bucket-Schlüssel für einen Bucket aktiviert sind:
aws s3api get-bucket-encryption --bucketamzn-s3-demo-bucketDie Ausgabe wird ein
BucketKeyEnabledFeld enthalten, das entweder auftrueoder gesetzt istfalse.Um
DSSE-KMSzu konfigurieren, verwenden Sie folgenden Befehl:aws s3api put-bucket-encryption --bucketamzn-s3-demo-bucket--server-side-encryption-configuration '{"Rules":[{"ApplyServerSideEncryptionByDefault":{"SSEAlgorithm":"aws:kms:dsse","KMSMasterKeyID":"YOUR-KMS-KEY-ARN"}}]}'Weitere Informationen zur Standard-Verschlüsselung finden Sie unter Einstellen des Verhaltens der serverseitigen Verschlüsselung für Amazon S3-Buckets. Weitere Informationen zu SSE-S3 finden Sie unter Verwenden serverseitiger Verschlüsselung mit von Amazon S3 verwalteten Schlüsseln (SSE-S3).
Wichtig
Wenn Sie die Option SSE-KMS oder DSSE-KMS für die Standardverschlüsselungskonfiguration verwenden, unterliegen Sie dem Kontingent der Anforderungen pro Sekunde (RPS) von AWS KMS. Sie können KMS-API-Aufrufe reduzieren, indem Sie Amazon S3-Bucket-Schlüssel aktivieren, wodurch die Anzahl der gesendeten Anfragen verringert wirdAWS KMS. Weitere Informationen zu AWS KMS-Kontingenten und zum Anfordern einer Kontingenterhöhung finden Sie unter Kontingente im Entwicklerhandbuch zu AWS Key Management Service.
Sie haben einen Bucket in Amazon S3 erstellt. Der nächste Schritt besteht darin, ein Objekt in Ihren Bucket hochzuladen.
Schritt 2: Hochladen eines Objekts in Ihren Bucket
Nachdem Sie in Amazon S3 einen Bucket erstellt haben, können Sie ein Objekt hochladen. Ein Objekt kann eine beliebige Datei sein: eine Textdatei, ein Foto, ein Video usw.
Ein Objekt in einen Bucket hochladen
-
Erstellen Sie eine einfache Textdatei: Sie können einen beliebigen Texteditor verwenden oder den folgenden Befehl ausführen:
echo 'Hello, Amazon S3!' > example.txt -
Laden Sie die Datei mit dem Befehl s3 cp in Ihren Bucket hoch:
aws s3 cp example.txt s3://amzn-s3-demo-bucket/Wenn der Upload erfolgreich ausgeführt wurde, sehen Sie eine Ausgabe ähnlich der Folgenden:
upload: ./example.txt to s3://amzn-s3-demo-bucket/example.txt -
Stellen Sie sicher, dass das Objekt hochgeladen wurde, indem Sie den Inhalt Ihres Buckets auflisten:
aws s3 ls s3://amzn-s3-demo-bucket/
Sie haben erfolgreich ein Objekt zu Ihrem Bucket hochgeladen. Der nächste Schritt besteht darin, ein Objekt herunterzuladen.
Schritt 3: Herunterladen eines Objekts
Nachdem Sie ein Objekt in einen Bucket hochgeladen haben, können Sie Informationen über Ihr Objekt anzeigen und das Objekt auf Ihren lokalen Computer herunterladen.
Ein Objekt von einem S3-Bucket herunterladen
-
So erhalten Sie Informationen zu Ihrem Objekt:
aws s3api head-object --bucketamzn-s3-demo-bucket--key example.txtDieser Befehl gibt Metadaten über das Objekt zurück, einschließlich seines Inhaltstyps, seiner Inhaltslänge und des Datums der letzten Änderung.
-
Laden Sie das Objekt auf Ihren lokalen Computer herunter:
aws s3 cp s3://amzn-s3-demo-bucket/example.txt downloaded-example.txtWenn der Download erfolgreich ausgeführt wurde, wird eine Ausgabe ähnlich der Folgenden angezeigt:
download: s3://amzn-s3-demo-bucket/example.txt to ./downloaded-example.txt -
Überprüfen des Inhalts der heruntergeladenen Datei:
cat downloaded-example.txt
Anmerkung
-
Im Gegensatz zur Konsole AWS CLI kann sie mithilfe von Platzhaltern oder dem
--recursiveFlag mehrere Objekte gleichzeitig herunterladen. -
Beim Herunterladen von Objekten mit AWS CLI Punkten (.) am Ende von Objektschlüsselnamen bleiben erhalten, anders als in der Konsole, wo sie entfernt wurden. Dies ist wichtig, wenn Ihre Objektschlüssel mit Punkten enden.
Beispiel für das Herunterladen mehrerer Objekte:
Um mehrere Objekte aus einem Amazon S3-Bucket mit bestimmten Dateierweiterungen herunterzuladen, verwenden Sie den rekursiven Kopierbefehl mit exclude und include filtern, wie im Beispiel gezeigt.
aws s3 cp s3://amzn-s3-demo-bucket/ . --recursive --exclude "*" --include "*.txt"
Sie haben Ihr Objekt erfolgreich heruntergeladen. Der nächste Schritt besteht darin, Ihr Objekt in einen Ordner zu kopieren.
Schritt 4: Kopieren Ihres Objekts in einen Ordner
Sie haben einem Bucket bereits ein Objekt hinzugefügt und das Objekt heruntergeladen. Jetzt erstellen Sie einen Ordner, kopieren das Objekt und fügen es in den Ordner ein.
So kopieren Sie ein Objekt in einen Ordner
-
In Amazon S3 werden Ordner als Präfixe dargestellt, die im Namen des Objektschlüssels angezeigt werden. Erstellen Sie einen „Ordner“, indem Sie ein Objekt mit einem Präfix kopieren:
aws s3 cp s3://amzn-s3-demo-source-bucket/example.txt s3://amzn-s3-demo-destination-bucket/favorite-files/example.txtWenn der Kopiervorgang erfolgreich ausgeführt wurde, wird eine Ausgabe ähnlich der Folgenden angezeigt:
copy: s3://amzn-s3-demo-source-bucket/example.txt to s3://amzn-s3-demo-destination-bucket/favorite-files/example.txt -
Stellen Sie sicher, dass das Objekt kopiert wurde, indem Sie den Inhalt des Ordners auflisten:
aws s3 ls s3://amzn-s3-demo-destination-bucket/favorite-files/
Sie haben Ihr Objekt erfolgreich in einen Ordner kopiert. Der nächste Schritt besteht darin, Ihre Objekte und Ihren Bucket zu löschen.
Schritt 5: Löschen Ihrer Objekte und Buckets
Wenn Sie ein Objekt oder einen Bucket mehr benötigen, sollten Sie diese löschen, um weitere Gebühren zu vermeiden. Wenn Sie diesen Walkthrough für die ersten Schritte zur Übung durchgeführt haben und Ihren Bucket oder Ihre Objekte nicht verwenden möchten, sollten Sie den Bucket und die Objekte löschen, damit keine weiteren Gebühren anfallen.
Bevor Sie Ihren Bucket löschen, leeren Sie den Bucket oder löschen Sie die Objekte im Bucket. Nachdem Sie Ihre Objekte und Ihren Bucket gelöscht haben, sind die Objekte und der Bucket nicht mehr verfügbar.
Wenn Sie denselben Bucket-Namen weiter verwenden möchten, sollten Sie die Objekte löschen oder den Bucket leeren, den Bucket selbst jedoch nicht löschen. Wenn Sie einen Bucket gelöscht haben, können Sie den Namen wiederverwenden. Ein anderes AWS-Konto kann jedoch einen Bucket mit demselben Namen erstellen, bevor Sie eine Chance hatten, den Namen wiederzuverwenden.
Löschen eines Objekts
Wenn Sie nur bestimmte Objekte löschen möchten, ohne alle Objekte im Bucket zu löschen, können Sie ein Objekt löschen.
Löschen eines bestimmten Objekts:
aws s3 rm s3://amzn-s3-demo-bucket/example.txt
Wenn der Löschvorgang erfolgreich ausgeführt wurde, wird eine Ausgabe ähnlich der Folgenden angezeigt:
delete: s3://amzn-s3-demo-bucket/example.txt
Leeren des Buckets
Wenn Sie Ihren Bucket löschen möchten, müssen Sie zuerst den Bucket leeren, um alle Objekte im Bucket zu löschen.
So leeren Sie einen Bucket
Wichtig
Das Leeren des Buckets kann nicht rückgängig gemacht werden. Dem Bucket während der Löschaktion hinzugefügte Objekte werden gelöscht.
-
Option 1: Verwenden Sie für kleinere Buckets den
rmBefehl mit dem--recursiveFlag, um alle Objekte im Bucket zu löschen:aws s3 rm s3://amzn-s3-demo-bucket--recursiveDieser Befehl löscht alle Objekte im Bucket, einschließlich der Objekte in Ordnern.
Anmerkung
Wenn Ihr Bucket viele oder große Objekte enthält, kann es bei diesem Befehl zu einem Timeout kommen. Verwenden Sie für Buckets mit großen Datenmengen die Amazon S3-Lebenszyklusregel, um Objekte in den Buckets ablaufen zu lassen.
Option 2: Verwenden Sie die Amazon S3-Lebenszyklusregeln (empfohlen für große Buckets)
Verwenden Sie für Buckets mit vielen Objekten oder großen Objekten eine Amazon S3-Lebenszyklusregel, um alle Objekte automatisch ablaufen zu lassen und zu löschen. Warten Sie, bis die Lebenszyklusregel verarbeitet wurde (dies kann bis zu 24 Stunden dauern). Weitere Informationen finden Sie unter Wie leere ich einen Amazon-S3-Bucket mithilfe einer Lebenszykluskonfigurationsregel?
. -
Stellen Sie sicher, dass der Bucket leer ist:
aws s3 ls s3://amzn-s3-demo-bucket -
Wenn für Ihren Bucket die Versionsverwaltung aktiviert ist, verwenden Sie die folgenden Befehle, um versionierte Objekte und Markierungen zu löschen.
Versionierte Objekte entfernen:
aws s3api delete-objects --bucketamzn-s3-demo-bucket--delete "$(aws s3api list-object-versions --bucketamzn-s3-demo-bucket--output json --query='{Objects: Versions[].{Key:Key,VersionId:VersionId}}')"So entfernen Sie Löschmarkierungen:
aws s3api delete-objects --bucketamzn-s3-demo-bucket--delete "$(aws s3api list-object-versions --bucketamzn-s3-demo-bucket--output json --query='{Objects: DeleteMarkers[].{Key:Key,VersionId:VersionId}}')" -
Stellen Sie sicher, dass der Bucket keine Objektversionen enthält, und löschen Sie die Markierungen:
aws s3api list-object-versions --bucketamzn-s3-demo-bucketIn der Ausgabe sollten keine Versionen oder verbleibenden Löschmarkierungen angezeigt werden.
Löschen des Buckets
Nachdem Sie den Bucket geleert oder alle Objekte aus dem Bucket gelöscht haben, können Sie den Bucket löschen.
Wichtig
Das Löschen eines Buckets kann nicht rückgängig gemacht werden. Bucket-Namen sind eindeutig. Wenn Sie Ihren Bucket löschen, kann ein anderer AWS-Benutzer den Namen verwenden. Wenn Sie denselben Bucket-Namen weiter verwenden möchten, sollten Sie den Bucket nicht löschen. Sie sollten den Bucket stattdessen leeren und behalten.
Löschen Ihres Buckets
-
Löschen Ihren Bucket:
aws s3api delete-bucket --bucketamzn-s3-demo-bucket -
Stellen Sie sicher, dass der Bucket gelöscht wurde, indem Sie alle Ihre Buckets auflisten:
aws s3 ls
Nächste Schritte
In den vorangegangenen Beispielen haben Sie gelernt, wie Sie einige grundlegende Amazon S3-Aufgaben mit AWS CLI ausführen können.
Die folgenden Themen erklären die Lernpfade, die Sie benutzen können, um sich ein vertieftes Wissen über Amazon S3 zu verschaffen, sodass Sie es in Ihren Anwendungen implementieren können.
Die folgende Liste zeigt die häufigsten AWS CLI Befehle für Amazon S3:
-
cp – Kopiert Dateien oder Objekte zwischen Ihrem lokalen Dateisystem und Amazon S3 oder zwischen Amazon S3-Speicherorten
-
ls – Listet Amazon S3-Objekte und allgemeine Präfixe unter einem bestimmten Bucket und Präfix auf
-
mb – Erstellt einen Amazon-S3-Bucket
-
mv – Verschiebt Dateien oder Objekte zwischen Ihrem lokalen Dateisystem und Amazon S3 oder zwischen Amazon S3-Speicherorten
-
presign – Generiert eine vorsignierte URL für ein Amazon-S3-Objekt, das einen temporären Zugriff ohne Anmeldeinformationen ermöglicht AWS
-
rb – Löschen eines leeren Amazon-S3-Buckets. Sie können das
--forceFlag verwenden, um einen Bucket mit Inhalt in einem einzigen Befehl automatisch zu leeren und zu löschen. Diese Aktion kann nicht mehr rückgängig gemacht werden. -
rm – Löscht Objekte aus Amazon S3
-
sync – Synchronisiert Verzeichnisse und Amazon S3-Präfixe, indem neue und aktualisierte Dateien rekursiv aus dem Quellverzeichnis in das Ziel kopiert werden.
-
Website – Konfigurieren eines Buckets als statische Website
Weitere Informationen zu den AWS CLI Befehlen für Amazon S3 finden Sie in den folgenden Ressourcen: