Objekte in einen anderen Bucket in Object Storage kopieren

Kopieren Sie ein Objekt in einen anderen Bucket in Object Storage.

Warnung

Das Kopieren von Objekten funktioniert nur, wenn Sie den Object Storage-Service autorisieren, Objekte in Ihrem Namen zu kopieren. Weitere Informationen finden Sie unter Serviceberechtigungen.

Überschreibregeln beim Kopieren von Objekten

Mit Überschreibregeln können Sie das Kopieren von Objekten basierend auf ihren Entitytag-(ETag-)Werten steuern.

  • Zielobjekt überschreiben: Verwenden Sie diese Option, wenn Sie einen Kopiervorgang nicht durch einen ETag-Wert einschränken möchten. Diese Option ist der Standardwert. Diese Option kann für jeden Kopiervorgang verwendet werden, unabhängig davon, ob ein vorhandenes Objekt überschrieben wird.

  • Keine Zielobjekte überschreiben: Verwenden Sie diese Option, um zu verhindern, dass eine im Zielverzeichnis vorhandene Kopie eines Objekts überschrieben wird, unabhängig vom ETag-Wert des Zielobjekts.

  • Zielobjekt nur überschreiben, wenn es mit dem angegebenen ETag übereinstimmt: Verwenden Sie diese Option, um das versehentliche Überschreiben eines Objekts im Zielverzeichnis zu verhindern, das nicht über das angegebene ETag verfügt. Wenn Sie diese Option verwenden, verläuft der Kopiervorgang nur erfolgreich, wenn das von Ihnen beim Starten der Kopieranforderung angegebene ETag mit dem ETag des Zielobjekts übereinstimmt.

  • Objekt nur kopieren, wenn die Quelle mit der angegebenen ETag übereinstimmt: Verwenden Sie diese Option, wenn der Kopiervorgang nur erfolgreich ausgeführt werden soll, wenn die von Ihnen beim Starten der Kopieranforderung angegebene ETag mit der ETag des Quellobjekts übereinstimmt. Bei Objekten, die im Rahmen einer Datenmanagementaktivität absichtlich aktualisiert und überschrieben werden, stellt diese Option sicher, dass nur die angegebene Version des Objekts (wie vom ETag angegeben) kopiert werden kann. Wenn sich der Wert ETag des Objekts nach dem Erstellen der Anforderung zum Kopieren des Objekts, jedoch vor Ausführung des Kopiervorgangs, ändert sich der Kopiervorgang nicht.

Achtung

Wenn Sie ein Objekt überschreiben, kann der Vorgang nicht rückgängig gemacht werden.

Geltungsbereich und Constraints

  • Objekte können nicht direkt aus Archive Storage kopiert werden. Um Objekte in Archive Storage zu kopieren, müssen Sie das Objekt zuerst in der Standard-Tier von Object Storage wiederherstellen. Objekte können direkt aus den Tiers "Standard" oder "Seltener Zugriff" in Archiv-Tier-Buckets kopiert werden. Wenn Sie Objekte in einen Archive Storage-Bucket kopieren, wird die Kopie des Objekts umgehend archiviert.

  • Geben Sie einen vorhandenen Ziel-Bucket für die Kopieranforderung an. Buckets werden beim Kopiervorgang nicht automatisch erstellt.

  • Wenn ein Objekt kopiert wird, erhält das Zielobjekt einen neuen ETag-Wert.

  • Wenn Sie ein Quellobjekt während eines Kopiervorgangs umbenennen, überschreiben oder löschen, verläuft der Kopiervorgang nicht erfolgreich, und das Zielobjekt wird nicht erstellt oder überschrieben.

  • Bulkkopiervorgänge werden nicht unterstützt. Geben Sie ein einzelnes Objekt in der Kopieranforderung an.

Serviceberechtigungen

Da Object Storage ein regionaler Service ist, müssen Sie den Service Object Storage für jede Region autorisieren, in der Kopiervorgänge in Ihrem Namen ausgeführt werden. Beispiel: Sie können den Service Object Storage in der Region US East (Ashburn) autorisieren, Objekte in Ihrem Namen zu verwalten. Nachdem Sie den Object Storage-Service autorisiert haben, können Sie ein in einem Bucket in US East (Ashburn) gespeichertes Objekt in einen Bucket in einer anderen Region kopieren.

Informationen zum Ermitteln des Wertes der Regions-ID einer Oracle Cloud Infrastructure-Region finden Sie unter Regionen und Availability-Domains.

Für Administratoren:

Um das Kopieren von Objekten zu aktivieren, müssen Sie den Service autorisieren, Objekte in Ihrem Namen zu verwalten:

  • Sie können eine Policy erstellen, die den Service in der angegebenen Region autorisiert, Object Storage-Namespaces, Buckets und die zugehörigen Objekte in allen Compartments im Mandanten zu verwalten:

    Allow service objectstorage-<region_identifier> to manage object-family in tenancy
  • Anstatt das Policy-Verb manage zu verwenden, können Sie eine Policy erstellen, die den Geltungsbereich für den Zugriff reduziert, indem Sie stattdessen eine der folgenden Anweisungen verwenden:

    Allow service objectstorage-<region_identifier> to manage object-family in tenancy where any {request.permission='OBJECT_READ', request.permission='OBJECT_INSPECT', request.permission='OBJECT_CREATE', request.permission='OBJECT_OVERWRITE', request.permission='OBJECT_DELETE'}
    Allow service objectstorage-<region_identifier> to manage object-family in compartment <compartment_name> where any {request.permission='OBJECT_READ', request.permission='OBJECT_INSPECT', request.permission='OBJECT_CREATE', request.permission='OBJECT_OVERWRITE', request.permission='OBJECT_DELETE'}

Objekte kopieren

    1. Wählen Sie auf der Listenseite Buckets den Objektspeicher-Bucket aus, mit dem Sie arbeiten möchten. Wenn Sie Hilfe bei der Suche nach der Listenseite oder dem Objektspeicher-Bucket benötigen, finden Sie weitere Informationen unter Buckets auflisten.
    2. Wählen Sie auf der Detailseite Objekte aus.
    3. Wählen Sie im Menü Aktionen für das gewünschte Objekt die Option Kopieren aus.

      Die Konsole prüft die vorhandenen IAM-Policys, um diese Aufgabe erfolgreich auszuführen. Wenn eine Warnung wegen einer fehlenden Policy angezeigt wird, können Sie über die Konsole versuchen, fehlende Policys zu erstellen, oder die fehlenden Policy-Details in die Zwischenablage kopieren, um Ihren Administrator per E-Mail zu benachrichtigen. Wenn Sie der Meinung sind, dass die erforderlichen Policys vorhanden sind, fahren Sie mit dem Kopiervorgang fort.

    4. Geben Sie folgende Informationen ein:
      • Ziel-Namespace: Geben Sie den Namespace des Ziel-Buckets für das kopierte Objekt ein. Die Namespace-Zeichenfolge Ihres Mandanten wird als Standardwert angegeben. Weitere Informationen finden Sie unter Namespaces.

      • Zielregion: Wählen Sie die OCI-Region aus der Liste aus, die den Ziel-Bucket für das kopierte Objekt enthält. Sie müssen für den Mandanten eine Region abonniert haben, um ein Objekt in einen Bucket in dieser Region kopieren zu können.

      • Ziel-Bucket: Geben Sie den Namen des Ziel-Buckets für das kopierte Objekt ein. Das Ziel muss ein vorhandener Bucket sein, auf den Sie Zugriff haben. Weitere Informationen zum Erstellen eines Buckets finden Sie unter Buckets.

      • Zielobjektname: (Optional) Geben Sie einen alternativen Namen für das zu kopierende Objekt ein, wenn Sie den ursprünglichen Namen nicht verwenden möchten. Standardmäßig ist der Name identisch mit dem Namen des Objekts, das Sie kopieren.

      • Destination Storage Tier: (Optional) Geben Sie die Storage Tier an, in die das Objekt hochgeladen werden soll, wenn es sich von der Quell-Storage Tier unterscheiden soll. Die folgenden Speicherebenen werden unterstützt:

        Wenn Sie keine Zielspeicherebene angeben, wird das Objekt in derselben Storage Tier wie der Bucket gespeichert. Weitere Informationen finden Sie unter Object Storage-Tiers.

      • Überschreibregel: Wählen Sie die für die Kopieranforderung geeignete Überschreibregel aus:

        • Zielobjekt überschreiben

        • Kein Zielobjekt überschreiben

        • Zielobjekt nur überschreiben, wenn es mit dem angegebenen ETag übereinstimmt

        • Objekt nur kopieren, wenn die Quelle mit dem angegebenen ETag übereinstimmt

        Beschreibungen der einzelnen Regeln finden Sie unter Überschreibregeln beim Kopieren von Objekten.

    5. Wählen Sie Objekt kopieren aus.

    Das Dialogfeld Arbeitsanforderungsdetails wird angezeigt und bestätigt, dass die Kopieranforderung erfolgreich weitergeleitet wurde. Außerdem wird der Status der Anforderung verfolgt.

  • Verwenden Sie den Befehl oci os object copy und die erforderlichen Parameter, um ein Objekt in einen anderen Bucket zu kopieren:

    oci os object copy --bucket-name source_bucket_name --source-object-name source_object_name --destination-bucket destination_bucket_name [OPTIONS]

    Beispiel:

    oci os object copy --bucket-name photos --source-object-name hummingbird.jpg --destination-namespace ansh8lvru1zp --destination-bucket UK_photos

    Objekt in eine andere Region kopieren

    Nehmen Sie den Parameter destination-region und die Regions-ID auf, um einen Ziel-Bucket in der Region anzugeben, in der sich das Zielobjekt befindet.

    Beispiel:

    oci os object copy --bucket-name photos --source-object-name hummingbird.jpg --destination-bucket UK_photos --destination-region uk-london-1
    Sie müssen für den Mandanten eine Region abonniert haben, um ein Objekt in einen Bucket in dieser Region kopieren zu können.

    In eine andere Ziel-Storage-Tier kopieren

    Nehmen Sie den Parameter destination-object-storage-tier und einen unterstützten Storage Tier-Wert auf, um das Objekt in eine andere Storage Tier im Ziel-Bucket zu kopieren als die Tier, in der es sich in der Quelle befindet.

    Beispiel:

    oci os object copy --bucket-name photos --source-object-name hummingbird.jpg --destination-bucket UK_photos --destination-object-storage-tier Archive

    Unterstützte Werte sind:

    • Standard (Standard)

    • InfrequentAccess

    • Archive

    • Wenn Sie keine Zielspeicherebene angeben, wird das Objekt in derselben Storage Tier wie der Bucket gespeichert. Weitere Informationen finden Sie unter Object Storage-Tiers.

    Namespace des kopierten Objekts angeben

    Nehmen Sie den Parameter destination-namespace und seinen Wert auf, um den Ziel-Namespace anzugeben, in den das Objekt kopiert wird.

    Beispiel:

    oci os object copy --bucket-name photos --source-object-name hummingbird.jpg --destination-bucket UK_photos --destination-namespace MyNamespace
    Weitere Informationen finden Sie unter Namespaces.

    Alternativer Name für das kopierte Objekt angeben

    Nehmen Sie den Parameter destination-object-name und den zugehörigen Wert auf, um einen alternativen Namen auf das kopierte Objekt anzuwenden.

    Beispiel:

    oci os object copy --bucket-name photos --source-object-name hummingbird.jpg --destination-bucket UK_photos --destination-object-name hummingbird_brochure.jpg

    Standardmäßig ist der Name identisch mit dem Namen des Objekts, das Sie kopieren.

    Eine vollständige Liste der Parameter und Werte für CLI-Befehle ist in der CLI-Befehlsreferenz enthalten.

  • Führen Sie den Vorgang CopyObject aus, um ein Objekt in einen anderen Bucket zu kopieren.