Copie d'un objet vers un autre bucket dans Object Storage
Copiez un objet vers un autre bucket dans Object Storage.
La copie d'objets ne fonctionne pas si vous n'autorisez pas le service Object Storage à copier des objets en votre nom. Pour plus d'informations, reportez-vous à Droits d'accès du service.
Règles d'écrasement de copie d'objet
Utilisez des règles d'écrasement pour contrôler la copie des objets en fonction de leurs valeurs de balise d'entité (ETag).
-
Ecraser l'objet de destination : utilisez cette option si vous ne souhaitez pas limiter l'opération de copie par une valeur ETag. Il s'agit de l'option par défaut. Cette option peut être utilisée pour toute opération de copie, qu'elle implique ou non l'écrasement d'un objet existant.
-
N'écraser aucun objet de destination : utilisez cette option pour empêcher l'écrasement d'une copie existante d'un objet dans l'emplacement de destination, quelle que soit la valeur ETag de l'objet de destination.
-
Ecraser l'objet de destination uniquement s'il correspond à la valeur ETag indiquée : utilisez cette option pour empêcher l'écriture accidentelle d'un objet qui ne contient pas la valeur ETag indiquée, dans l'emplacement de destination. Lorsque vous utilisez cette option, l'opération de copie réussit uniquement si la valeur ETag que vous indiquez lors du démarrage de la demande de copie correspond à la valeur ETag de l'objet de destination.
-
Copier l'objet uniquement si la source correspond à la valeur ETag indiquée : utilisez cette option pour que l'opération de copie réussisse uniquement si la valeur ETag que vous indiquez lors du démarrage de la demande de copie correspond à la valeur ETag de l'objet source. Pour les objets qui sont mis à jour et écrasés intentionnellement lors de l'activité de gestion des données, cette option garantit que seule la version indiquée de l'objet (par la valeur ETag) est autorisée à être copiée. Si la valeur ETag de l'objet est modifiée après la création de la demande de travail de copie, mais avant l'exécution de l'opération de copie, l'opération n'est pas terminée.
Si vous écrasez un objet, l'opération ne peut pas être annulée.
Portée et contraintes
-
Les objets ne peuvent pas être copiés directement à partir d'Archive Storage. Pour copier des objets qui se trouvent dans Archive Storage, vous devez d'abord les restaurer vers le niveau Object Storage Standard. Les objets peuvent être copiés directement vers les buckets de niveau Archive à partir du niveau Standard ou Accès rare. Lorsque vous copiez des objets dans un bucket Archive Storage, la copie des objets est immédiatement archivée.
-
Indiquez un bucket cible existant pour la demande de copie. L'opération de copie ne crée pas automatiquement de bucket.
-
Lorsqu'un objet est copié, l'objet de destination reçoit une nouvelle valeur ETag.
-
Si vous renommez, écrasez ou supprimez un objet source lors d'une opération de copie, cette opération échoue et l'objet de destination n'est ni créé ni écrasé.
-
La copie en masse n'est pas prise en charge. Identifiez un seul objet dans la demande de copie.
Droits d'accès du service
Comme Object Storage est un service régional, vous devez autoriser le service Object Storage pour chaque région effectuant des opérations de copie en votre nom. Par exemple, vous pouvez autoriser le service Object Storage dans la région Est des Etats-Unis (Ashburn) à gérer des objets en votre nom. Après avoir autorisé le service Object Storage, vous pouvez copier un objet stocké dans un bucket Est des Etats-Unis (Ashburn) vers un bucket d'une autre région.
Pour déterminer la valeur de l'identificateur d'une région Oracle Cloud Infrastructure, reportez-vous à Régions et domaines de disponibilité.
Pour les administrateurs :
Pour activer la copie d'objet, vous devez autoriser le service à gérer des objets en votre nom :
-
Vous pouvez créer une stratégie autorisant le service dans la région indiquée à gérer les espaces de noms Object Storage, les buckets et les objets associés dans tous les compartiments de la location :
Allow service objectstorage-<region_identifier> to manage object-family in tenancy
-
Au lieu d'utiliser le verbe de stratégie
manage
, vous pouvez créer une stratégie qui réduit la portée de l'accès à l'aide de l'une des instructions suivantes :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'}
Copie d'un objet
La boîte de dialogue Détails de la demande de travail apparaît et confirme que la demande de copie a été soumise et suit le statut de la demande.
Utilisez la commande oci os object copy et les paramètres requis pour copier un objet vers un autre bucket :
oci os object copy --bucket-name source_bucket_name --source-object-name source_object_name --destination-bucket destination_bucket_name [OPTIONS]
Par exemple :
oci os object copy --bucket-name photos --source-object-name hummingbird.jpg --destination-namespace ansh8lvru1zp --destination-bucket UK_photos
Copie d'un objet vers une autre région
Incluez le paramètre
destination-region
et l'identificateur de région pour indiquer dans la région un bucket cible autre que celui dans lequel réside l'objet de destination.Par exemple :
Votre location doit être abonnée à une région pour que vous puissiez copier un objet vers un bucket dans cette région.oci os object copy --bucket-name photos --source-object-name hummingbird.jpg --destination-bucket UK_photos --destination-region uk-london-1
Copie vers un autre niveau de stockage de destination
Incluez le paramètre
destination-object-storage-tier
et une valeur de niveau de stockage pris en charge pour copier l'objet vers un autre niveau de stockage sur le bucket de destination que le niveau dans lequel il réside sur la source.Par exemple :
oci os object copy --bucket-name photos --source-object-name hummingbird.jpg --destination-bucket UK_photos --destination-object-storage-tier Archive
Les valeurs prises en charge sont les suivantes :
-
Standard
(par défaut) -
InfrequentAccess
-
Archive
-
Si vous n'indiquez pas de niveau de stockage de destination, l'objet est stocké dans le même niveau de stockage que le bucket. Pour plus d'informations, reportez-vous à Niveaux Object Storage.
Spécification de l'espace de noms de l'objet copié
Incluez le paramètre
destination-namespace
et sa valeur pour indiquer l'espace de noms de destination vers lequel l'objet est copié.Par exemple :
Pour plus d'informations, reportez-vous à Présentation des espaces de noms.oci os object copy --bucket-name photos --source-object-name hummingbird.jpg --destination-bucket UK_photos --destination-namespace MyNamespace
Indiquer un autre nom pour l'objet copié
Incluez le paramètre
et sa valeur pour appliquer un autre nom à l'objet copié.destination-object-name
Par exemple :
oci os object copy --bucket-name photos --source-object-name hummingbird.jpg --destination-bucket UK_photos --destination-object-name hummingbird_brochure.jpg
Par défaut, le nom est identique à celui de l'objet que vous copiez.
Pour obtenir la liste complète des paramètres et des valeurs des commandes d'interface de ligne de commande, reportez-vous à Référence de commande d'interface de ligne de commande.
-
Exécutez l'opération CopyObject pour copier un objet vers un autre bucket.