Zum Inhalt springen

Bucket-Versionierung

Weitere Informationen finden Sie in der offiziellen Dokumentation des AWS-Clients.

Sie können die Versionierung für einen Bucket mit der AWS CLI s3api unter Verwendung des Arguments „put-bucket-versioning“ aktivieren:

Terminal-Fenster
aws --endpoint-url https://object.storage.eu01.onstackit.cloud s3api put-bucket-versioning --bucket $BUCKET\_NAME --versioning-configuration Status=Enabled for example: aws --endpoint-url https://object.storage.eu01.onstackit.cloud s3api put-bucket-versioning --bucket versioning-testbucket --versioning-configuration Status=Enabled

Wenn Sie wissen möchten, ob die Bucket-Versionierung für einen Bucket aktiviert ist, können Sie einfach die AWS CLI s3api mit dem Argument „get-bucket-versioning“ verwenden:

Terminal-Fenster
aws --endpoint-url https://object.storage.eu01.onstackit.cloud s3api get-bucket-versioning --bucket $BUCKET\_NAME for example: aws --endpoint-url https://object.storage.eu01.onstackit.cloud s3api get-bucket-versioning --bucket versioning-testbucket { "Status": "Enabled" }

Sobald die Bucket-Versionierung aktiviert wurde, kann sie nicht mehr vollständig deaktiviert werden. Sie kann nur ausgesetzt werden.

Wenn Sie die Versionierung für einen Bucket aussetzen möchten, können Sie die AWS CLI s3api mit dem Argument “put-bucket-versioning —versioning-configuration Status=Suspended” verwenden:

Terminal-Fenster
aws --endpoint-url https://object.storage.eu01.onstackit.cloud s3api put-bucket-versioning --bucket $BUCKET\_NAME --versioning-configuration Status=Suspended for example: aws --endpoint-url https://object.storage.eu01.onstackit.cloud s3api put-bucket-versioning --bucket versioning-testbucket --versioning-configuration Status=Suspended check the status: aws --endpoint-url https://object.storage.eu01.onstackit.cloud s3api get-bucket-versioning --bucket versioning-testbucket { "Status": "Suspended" }

Sie können Objektversionen innerhalb eines bestimmten Buckets mit dem Argument „list-object-versions“ auflisten.

Dies gibt alle Versionen aller Objekte innerhalb Ihres Buckets zurück.

Jede Objektversion erhält eine eigene eindeutige ID, die als “VersionID” angezeigt wird.

Terminal-Fenster
aws --endpoint-url https://object.storage.eu01.onstackit.cloud s3api list-object-versions --bucket $BUCKETNAME for example: aws --endpoint-url https://object.storage.eu01.onstackit.cloud s3api list-object-versions --bucket versioning-testbucket { "Versions": [ { "ETag": "\\"1a6fcf50c1eafb9db3b1916c80131a8c\\"", "Size": 56, "StorageClass": "STANDARD", "Key": "testfile.txt", "VersionId": "NDM0ODQ5NEEtQTU0OC0xMUVDLTkyNEItOTFFRTAwQkU0RTEw", "IsLatest": true, "LastModified": "2022-03-16T16:43:52.668000+00:00", "Owner": { "DisplayName": "f1ba3206-eaf2-4f1d-b01a-5679c5e82dfd", "ID": "88612969136594181457" } }, { "ETag": "\\"1a6fcf50c1eafb9db3b1916c80131a8c\\"", "Size": 56, "StorageClass": "STANDARD", "Key": "testfile.txt", "VersionId": "NDBBRjA1NUMtQTU0OC0xMUVDLTk4MzMtNzM2NzAwQzEyQ0Yx", "IsLatest": false, "LastModified": "2022-03-16T16:43:48.308000+00:00", "Owner": { "DisplayName": "f1ba3206-eaf2-4f1d-b01a-5679c5e82dfd", "ID": "88612969136594181457" } }, { "ETag": "\\"caf69a19c1017882a0e33a22d72b30df\\"", "Size": 40, "StorageClass": "STANDARD", "Key": "testfile.txt", "VersionId": "MkQxQjY3MDYtQTU0OC0xMUVDLTlEOEMtMTU3QzAwQkU0RTEw", "IsLatest": false, "LastModified": "2022-03-16T16:43:15.464000+00:00", "Owner": { "DisplayName": "f1ba3206-eaf2-4f1d-b01a-5679c5e82dfd", "ID": "88612969136594181457" } } ] }

Sie können eine spezifische Objektversion herunterladen, indem Sie die Objektversion bei der Get-Anfrage angeben. Die Objektversions-ID wird angezeigt, wenn Sie die Objektversionen auflisten (siehe: “Objektversionen auflisten”).

Terminal-Fenster
aws --endpoint-url https://object.storage.eu01.onstackit.cloud s3api get-object --bucket $BUCKET\_NAME --key $OBJECT\_KEY --version-id $VERSION\_ID for example: aws --endpoint-url https://object.storage.eu01.onstackit.cloud s3api get-object --bucket versioning-test --key testfile.txt --version-id MkQxQjY3MDYtQTU0OC0xMUVDLTlEOEMtMTU3QzAw QkU0RTEw testfile\_new { "AcceptRanges": "bytes", "LastModified": "2022-03-16T16:43:15+00:00", "ContentLength": 40, "ETag": "\\"caf69a19c1017882a0e33a22d72b30df\\"", "VersionId": "MkQxQjY3MDYtQTU0OC0xMUVDLTlEOEMtMTU3QzAwQkU0RTEw", "ContentType": "binary/octet-stream", "ServerSideEncryption": "AES256", "Metadata": {} }

Um die Versionierung für einen STACKIT Object Storage Bucket mit s5cmd zu aktivieren, können Sie diese Schritte befolgen

Status der Bucket-Versionierung eines Buckets abrufen

Abschnitt betitelt „Status der Bucket-Versionierung eines Buckets abrufen“
Terminal-Fenster
s5cmd bucket-version s3://bucketname
Terminal-Fenster
s5cmd bucket-version --set Enabled s3://bucketname
Terminal-Fenster
s5cmd bucket-version --set Suspended s3://bucketname
Terminal-Fenster
s5cmd ls --all-versions s3://bucket/object

Alle Versionen aller Objekte auflisten, die mit einem Präfix im Bucket beginnen

Abschnitt betitelt „Alle Versionen aller Objekte auflisten, die mit einem Präfix im Bucket beginnen“
Terminal-Fenster
s5cmd ls --all-versions "s3://bucket/prefix*"
Terminal-Fenster
s5cmd ls --all-versions "s3://bucket/*"

Eine spezifische Version eines Remote-Objekts in das Arbeitsverzeichnis herunterladen

Abschnitt betitelt „Eine spezifische Version eines Remote-Objekts in das Arbeitsverzeichnis herunterladen“
Terminal-Fenster
s5cmd cp --version-id VERSION\_ID s3://bucket/prefix/object.

Eine spezifische Version des Inhalts eines Remote-Objekts nach stdout löschen

Abschnitt betitelt „Eine spezifische Version des Inhalts eines Remote-Objekts nach stdout löschen“
Terminal-Fenster
s5cmd rm --version-id VERSION\_ID s3://bucket/prefix/object
Terminal-Fenster
s5cmd rm --all-versions s3://bucket/object

Weitere Informationen finden Sie in der offiziellen Dokumentation des s5cmd-Clients.