

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Abrufen von Objektversionen aus einem versioning-fähigen Bucket
<a name="RetrievingObjectVersions"></a>

Das Versioning in Amazon S3 ist eine Möglichkeit, mehrere Varianten eines Objekts im selben Bucket zu behalten. Eine einfache `GET`-Anforderung ruft die aktuelle Version eines Objekts ab. Die folgende Abbildung zeigt, wie `GET` die aktuelle Version des Objekts zurückgibt, `photo.gif`.

![\[Abbildung, die zeigt, wie GET die aktuelle Version des Objekts zurückgibt.\]](http://docs.aws.amazon.com/de_de/AmazonS3/latest/userguide/images/versioning_GET_NoVersionID.png)


Um eine spezifische Version abzurufen, müssen Sie ihre Versions-ID angeben. Die folgende Abbildung zeigt, dass eine `GET versionId`-Anforderung die angegebene Version des Objekts zurückgibt (nicht unbedingt die aktuelle).

![\[Abbildung, die zeigt, wie eine GET versionId-Anforderung die angegebene Version des Objekts abruft.\]](http://docs.aws.amazon.com/de_de/AmazonS3/latest/userguide/images/versioning_GET_Versioned.png)


Sie können Objektversionen in Amazon S3 mithilfe der Konsole oder der REST-API abrufen. AWS SDKs

**Anmerkung**  
 Um auf Objektversionen zuzugreifen, die älter als 300 Versionen sind, müssen Sie die AWS CLI oder die URL des Objekts verwenden.

## Verwenden der S3-Konsole
<a name="retrieving-object-versions"></a>

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die Amazon S3 S3-Konsole unter [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Wählen Sie in der Liste **Buckets** den Namen des Buckets aus, der das Objekt enthält.

1. Wählen Sie in der Liste **Objects (Objekte)** den Namen des Objekts aus.

1. Wählen Sie **Versions (Versionen)**.

   Amazon S3 zeigt alle Versionen für das Objekt an.

1. Aktivieren Sie das Kontrollkästchen neben der **Version ID (Versions-ID)** für die Versionen, die Sie abrufen möchten.

1. Wählen Sie **Actions (Aktionen)**, wählen Sie **Download (Herunterladen)** und speichern Sie das Objekt.

Objektversionen können auch in der Objektübersicht angezeigt, heruntergeladen und gelöscht werden. Weitere Informationen finden Sie unter [Anzeigen von Objekteigenschaften in der Amazon-S3-Konsole](view-object-properties.md).

**Wichtig**  
Sie können den Löschvorgang für ein Objekt nur rückgängig machen, wenn seine aktuelle Version gelöscht wurde. Es ist nicht möglich, das Löschen einer vorherigen Version eines Objekts rückgängig zu machen, das gelöscht wurde. Weitere Informationen finden Sie unter [Beibehalten mehrerer Versionen von Objekten mit der S3-Versionsverwaltung](Versioning.md).

## Verwenden Sie den AWS SDKs
<a name="retrieve-obj-version-sdks"></a>

Die Beispiele für das Hochladen von Objekten in nicht versioning-fähigen und versioning-fähigen Buckets sind dieselben. Für versioning-fähige Buckets weist Amazon S3 jedoch eine Versionsnummer zu. Andernfalls ist die Versionsnummer null.

Beispiele für das Herunterladen von Objekten mithilfe AWS SDKs von Java, .NET und PHP finden Sie unter [Objekte herunterladen](https://docs.aws.amazon.com/AmazonS3/latest/userguide/download-objects.html).

Beispiele für das Auflisten der Version von Objekten, die AWS SDKs für.NET und Rust verwenden, finden Sie unter [Auflisten der Version von Objekten in einem Amazon S3 S3-Bucket](https://docs.aws.amazon.com/code-library/latest/ug/s3_example_s3_ListObjectVersions_section.html).

## Verwenden der REST-API
<a name="retrieve-obj-version-rest"></a>

**Abrufen einer spezifischen Objektversion**

1. Setzen Sie den Parameter `versionId` auf die ID der Version des Objekts, die Sie abrufen wollen.

1. Senden Sie eine `GET Object versionId`-Anforderung.

**Example – Abrufen eines versionierten Objekts**  
Die folgende Anforderung ruft die Version `L4kqtJlcpXroDTDmpUMLUo` von ab `my-image.jpg`.  

```
1. GET /my-image.jpg?versionId=L4kqtJlcpXroDTDmpUMLUo HTTP/1.1
2. Host: bucket.s3.amazonaws.com
3. Date: Wed, 28 Oct 2009 22:32:00 GMT
4. Authorization: AWS AKIAIOSFODNN7EXAMPLE:0RQf4/cRonhpaBX5sCYVf1bNRuU=
```

Sie können nur die Metadaten eines Objekts (nicht den Inhalt) abrufen. Weitere Informationen finden Sie unter [Abrufen der Metadaten einer Objektversion](RetMetaOfObjVersion.md).

Informationen zum Wiederherstellen einer früheren Objektversion finden Sie unter [Wiederherstellen früherer Versionen](RestoringPreviousVersions.md).

# Abrufen der Metadaten einer Objektversion
<a name="RetMetaOfObjVersion"></a>

Wenn Sie nur die Metadaten eines Objekts abrufen wollen (nicht seinen Inhalt), verwenden Sie die `HEAD`-Operation. Standardmäßig erhalten Sie die Metadaten der aktuellsten Version. Um die Metadaten einer spezifischen Objektversion abzurufen, müssen Sie ihre Versions-ID angeben.

**Abruf der Metadaten einer Objektversion**

1. Setzen Sie den Parameter `versionId` auf die ID der Version des Objekts, dessen Metadaten Sie abrufen wollen.

1. Senden Sie eine `HEAD Object versionId`-Anforderung.

**Example – Abrufen der Metadaten eines versionierten Objekts**  
Die folgende Anforderung ruft die Metadaten der Version `3HL4kqCxf3vjVBH40Nrjfkd` von `my-image.jpg` ab.  

```
1. HEAD /my-image.jpg?versionId=3HL4kqCxf3vjVBH40Nrjfkd HTTP/1.1
2. Host: bucket.s3.amazonaws.com
3. Date: Wed, 28 Oct 2009 22:32:00 GMT
4. Authorization: AWS AKIAIOSFODNN7EXAMPLE:0RQf4/cRonhpaBX5sCYVf1bNRuU=
```

Nachfolgend ist eine Beispielantwort angezeigt.

```
 1. HTTP/1.1 200 OK
 2. x-amz-id-2: ef8yU9AS1ed4OpIszj7UDNEHGran
 3. x-amz-request-id: 318BC8BC143432E5
 4. x-amz-version-id: 3HL4kqtJlcpXroDTDmjVBH40Nrjfkd
 5. Date: Wed, 28 Oct 2009 22:32:00 GMT
 6. Last-Modified: Sun, 1 Jan 2006 12:00:00 GMT
 7. ETag: "fba9dede5f27731c9771645a39863328"
 8. Content-Length: 434234
 9. Content-Type: text/plain
10. Connection: close
11. Server: AmazonS3
```

# Wiederherstellen früherer Versionen
<a name="RestoringPreviousVersions"></a>

Sie können Versioning verwenden, um frühere Versionen eines Objekts abzurufen. Hierfür gibt es zwei Ansätze:
+ Kopieren einer vorhergehenden Version des Objekts in denselben Bucket.

  Das kopierte Objekt wird zur aktuellen Version dieses Objekts, und alle Objektversionen werden beibehalten.
+ Dauerhaftes Löschen der aktuellen Version des Objekts

  Wenn Sie die aktuelle Objektversion löschen, wandeln Sie letztlich die nicht vorherige Version in die aktuelle Version dieses Objekts um.

Alle Objektversionen werden aufbewahrt, deshalb können Sie eine frühere Version zur aktuellen Version machen, indem Sie eine spezifische Version des Objekts in denselben Bucket kopieren. In der folgenden Abbildung wird das Quellobjekt (ID = 111111) in denselben Bucket kopiert. Amazon S3 stellt eine neue ID (88778877) bereit und diese wird zur aktuellen Version des Objekts. Der Bucket enthält jetzt also die ursprüngliche Objektversion (111111) und kopiert seine Kopie (88778877). Weitere Informationen zum Abrufen einer früheren Version und zum anschließenden Hochladen, um sie zur aktuellen Version zu machen, finden Sie unter [Objektversionen aus einem versionsfähigen Bucket abrufen](https://docs.aws.amazon.com/AmazonS3/latest/userguide/RetrievingObjectVersions.html) und [Objekte hochladen](https://docs.aws.amazon.com/AmazonS3/latest/userguide/upload-objects.html).

![\[Abbildung, die zeigt, wie eine bestimmte Version eines Objekts in denselben Bucket kopiert wird, um daraus die aktuelle Version zu machen.\]](http://docs.aws.amazon.com/de_de/AmazonS3/latest/userguide/images/versioning_COPY2.png)


Eine nachfolgende `GET`-Operation ruft Version 88778877 ab.

Die folgende Abbildung zeigt, wie die aktuelle Version (121212) eines Objekts gelöscht wird, sodass die vorhergehende Version (111111) zum aktuellen Objekt wird. Weitere Informationen zum Löschen eines Objekts finden Sie unter [Löschen eines einzelnen Objekts](https://docs.aws.amazon.com/AmazonS3/latest/userguide/delete-objects.html).

![\[Abbildung, die zeigt, dass durch das Löschen der aktuellen Version eines Objekts die vorhergehende Version zum aktuellen Objekt wird.\]](http://docs.aws.amazon.com/de_de/AmazonS3/latest/userguide/images/versioning_COPY_delete2.png)


Ein weiterer `GET` ruft die Version 111111 ab.

**Anmerkung**  
Wenn Sie Objektversionen in Batches wiederherstellen möchten, können Sie [die `CopyObject`-Operation](https://docs.aws.amazon.com/AmazonS3/latest/userguide/batch-ops-copy-object.html) verwenden. Die `CopyObject`-Operation kopiert jedes im Manifest angegebene Objekt. Objekte werden jedoch nicht zwingend in derselben Reihenfolge kopiert, in der sie im Manifest erscheinen. Wenn für versionierte Buckets die Beibehaltung der aktuellen/nicht aktuellen Versionsreihenfolge wichtig ist, sollten Sie zuerst alle nicht aktuellen Versionen kopieren. Kopieren Sie dann, nachdem der erste Auftrag abgeschlossen ist, die aktuellen Versionen in einen nachfolgenden Auftrag.

## So stellen Sie frühere Objektversionen wieder her
<a name="restoring-obj-version-version-enabled-bucket-examples"></a>

Weitere Anleitungen zur Wiederherstellung gelöschter Objekte finden Sie unter [Wie kann ich ein Amazon S3 S3-Objekt abrufen, das in einem Bucket mit Versionierung gelöscht wurde?](https://repost.aws/knowledge-center/s3-undelete-configuration) im AWS re:Post Knowledge Center.

### Verwenden der S3-Konsole
<a name="retrieving-object-versions"></a>

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die Amazon S3 S3-Konsole unter [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/).

1. Wählen Sie in der Liste **Buckets** den Namen des Buckets aus, der das Objekt enthält.

1. Wählen Sie in der Liste **Objects (Objekte)** den Namen des Objekts aus.

1. Wählen Sie **Versions (Versionen)**.

   Amazon S3 zeigt alle Versionen für das Objekt an.

1. Aktivieren Sie das Kontrollkästchen neben der **Version ID (Versions-ID)** für die Versionen, die Sie abrufen möchten.

1. Wählen Sie **Actions (Aktionen)**, wählen Sie **Download (Herunterladen)** und speichern Sie das Objekt.

Objektversionen können auch in der Objektübersicht angezeigt, heruntergeladen und gelöscht werden. Weitere Informationen finden Sie unter [Anzeigen von Objekteigenschaften in der Amazon-S3-Konsole](view-object-properties.md).

**Wichtig**  
Sie können den Löschvorgang für ein Objekt nur rückgängig machen, wenn seine aktuelle Version gelöscht wurde. Es ist nicht möglich, das Löschen einer vorherigen Version eines Objekts rückgängig zu machen, das gelöscht wurde. Weitere Informationen finden Sie unter [Beibehalten mehrerer Versionen von Objekten mit der S3-Versionsverwaltung](Versioning.md).

### Verwenden Sie den AWS SDKs
<a name="restoring-obj-version-version-enabled-bucket-sdks"></a>

Informationen zur Verwendung von anderen AWS SDKs finden Sie im [AWS Developer Center](https://aws.amazon.com/code/). 

------
#### [ Python ]

Im folgenden Python-Codebeispiel wird die vorherige Version eines versionierten Objekts wiederhergestellt, indem alle Versionen gelöscht werden, die nach der angegebenen Rollback-Version aufgetreten sind.

```
def rollback_object(bucket, object_key, version_id):
    """
    Rolls back an object to an earlier version by deleting all versions that
    occurred after the specified rollback version.

    Usage is shown in the usage_demo_single_object function at the end of this module.

    :param bucket: The bucket that holds the object to roll back.
    :param object_key: The object to roll back.
    :param version_id: The version ID to roll back to.
    """
    # Versions must be sorted by last_modified date because delete markers are
    # at the end of the list even when they are interspersed in time.
    versions = sorted(
        bucket.object_versions.filter(Prefix=object_key),
        key=attrgetter("last_modified"),
        reverse=True,
    )

    logger.debug(
        "Got versions:\n%s",
        "\n".join(
            [
                f"\t{version.version_id}, last modified {version.last_modified}"
                for version in versions
            ]
        ),
    )

    if version_id in [ver.version_id for ver in versions]:
        print(f"Rolling back to version {version_id}")
        for version in versions:
            if version.version_id != version_id:
                version.delete()
                print(f"Deleted version {version.version_id}")
            else:
                break

        print(f"Active version is now {bucket.Object(object_key).version_id}")
    else:
        raise KeyError(
            f"{version_id} was not found in the list of versions for " f"{object_key}."
        )
```

------