Copie d'un objet vers un autre bucket dans Object Storage

Copiez un objet vers un autre bucket dans Object Storage.

Attention

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.

Attention

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

    1. Ouvrez le menu de navigation et cliquez sur Stockage. Sous Object Storage et Archive Storage, cliquez sur Buckets.
    2. Sélectionnez le compartiment dans la liste sous Portée de la liste. Tous les buckets de ce compartiment sont répertoriés dans un tableau.
    3. Cliquez sur le bucket contenant l'objet à copier. La page Détails du bucket apparaît.
    4. Cliquez sur Objets sous Ressources. La liste Objets apparaît. Tous les objets du bucket sont affichés sous forme de tableau.
    5. Cliquez sur le menu Actions (Menu Actions) en regard de l'objet à copier (objet source), puis sélectionnez Copier. La boîte de dialogue Copier l'objet apparaît.

      La console vérifie les stratégies IAM en place pour effectuer cette tâche. Si un avertissement indiquant qu'une stratégie est manquante apparaît, vous pouvez laisser la console essayer de créer la stratégie manquante ou copier les détails de la stratégie manquante dans le presse-papiers pour les envoyer par courriel à l'administrateur. Si vous pensez que les stratégies requises sont en place, continuez et essayez l'opération de copie.

    6. Renseignez les informations ci-dessous :
      • espace de noms de destination : entrez l'espace de noms du bucket de destination pour l'objet copié. La chaîne d'espace de noms de votre location est fournie en tant que valeur par défaut. Pour plus d'informations, reportez-vous à Présentation des espaces de noms.

      • Région de destination : sélectionnez dans la liste la région OCI contenant le bucket de destination de l'objet copié. Votre location doit être abonnée à une région pour que vous puissiez copier un objet vers un bucket dans cette région.

      • Bucket de destination : entrez le nom du bucket de destination de l'objet copié. La destination doit être un bucket existant auquel vous avez accès. Pour plus d'informations sur la création d'un bucket, reportez-vous à Buckets.

      • Nom de l'objet de destination : (facultatif) entrez un autre nom pour l'objet copié si vous ne voulez pas utiliser son nom d'origine. Par défaut, le nom est identique à celui de l'objet que vous copiez.

      • Niveau de stockage de destination : (facultatif) indiquez le niveau de stockage vers lequel télécharger l'objet si vous voulez qu'il soit différent du niveau de stockage source. Les niveaux de stockage suivants sont pris en charge :

        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.

      • Règle d'écriture : sélectionnez la règle d'écriture appropriée pour la demande de copie :

        • Remplacer l'objet de destination

        • Ne pas écraser d'objet de destination

        • Remplacer l'objet de destination uniquement s'il correspond à la valeur ETag indiquée

        • Copier l'objet uniquement si la source correspond à la valeur ETag indiquée

        Pour obtenir la description de chacune de ces règles, reportez-vous à Règles d'écriture de copie d'objet.

    7. Cliquez sur Copier l'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 :

    oci os object copy --bucket-name photos --source-object-name hummingbird.jpg --destination-bucket UK_photos --destination-region uk-london-1
    Votre location doit être abonnée à une région pour que vous puissiez copier un objet vers un bucket dans cette région.
    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 :

    oci os object copy --bucket-name photos --source-object-name hummingbird.jpg --destination-bucket UK_photos --destination-namespace MyNamespace
    Pour plus d'informations, reportez-vous à Présentation des espaces de noms.
    Indiquer un autre nom pour l'objet copié

    Incluez le paramètre destination-object-name et sa valeur pour appliquer un autre nom à l'objet copié.

    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.