Objekte in einen anderen Bucket in Object Storage kopieren
Kopieren Sie ein Objekt in einen anderen Bucket in Object Storage.
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.
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
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:
Sie müssen für den Mandanten eine Region abonniert haben, um ein Objekt in einen Bucket in dieser Region kopieren zu können.oci os object copy --bucket-name photos --source-object-name hummingbird.jpg --destination-bucket UK_photos --destination-region uk-london-1
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:
Weitere Informationen finden Sie unter Namespaces.oci os object copy --bucket-name photos --source-object-name hummingbird.jpg --destination-bucket UK_photos --destination-namespace MyNamespace
Alternativer Name für das kopierte Objekt angeben
Nehmen Sie den Parameter
und den zugehörigen Wert auf, um einen alternativen Namen auf das kopierte Objekt anzuwenden.destination-object-name
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.