Copier entre comptes S3
Pour copier entre emplacements S3, S3Client peut demander au service de copier les données côté serveur ou les faire passer par votre ordinateur. Dans ce second cas, il lit la source avec son compte et écrit la destination avec son compte ; le transfert utilise votre connexion et les ressources de votre ordinateur.
Préparer les permissions et les propriétés
La source doit être lisible et la destination accessible en écriture. Copier un dossier nécessite aussi son listage. Les tags, ACL explicites et clés KMS peuvent demander des permissions supplémentaires. Un objet archivé doit être disponible à la lecture. Un déplacement demande en plus la suppression de la source.
Pour une copie directe entre comptes, le compte signant la requête doit pouvoir lire la source et écrire la destination. Avoir ces droits séparément avec deux comptes permet un relais, mais ne garantit pas la copie directe. Les capacités et le domaine configurés ne créent aucun droit.
Une copie ordinaire conserve les métadonnées et utilise initialement Reuse source settings pour le chiffrement, mais applique la classe de stockage et l’ACL par défaut destination. Vérifiez les options de transfert, notamment si une clé KMS ne peut pas être réutilisée dans l’autre service ou si la source est SSE-C.
Configurer la copie directe
Le même domaine de copie doit désigner des comptes qui accèdent réellement aux mêmes buckets côté serveur. Si deux services indépendants partagent cet identifiant, une copie peut utiliser un autre objet portant la même clé.
- Ouvrez
File > Accounts.... - Sélectionnez le compte source et cliquez sur
Edit.... - Dans
Account, consultezDirect copies between accounts. - Cochez
Allow direct copies with other accountsuniquement si le service permet ces copies. - Renseignez
Server-side copy domainavec le même identifiant dans les comptes partageant réellement le même espace de noms de buckets côté serveur. - Dans
Regions, éditez la région concernée si elle exige un domaine distinct. SonServer-side copy domainnon vide remplace celui du compte ; un champ vide hérite du domaine du compte. - Validez le dialogue de région, puis le compte avec
OK. - Répétez les réglages pour le compte destination.
Quand aucun domaine effectif n’est renseigné, il reste propre au compte et ne permet pas d’établir un domaine commun entre deux comptes. Dans un même compte, la case de copie entre comptes n’est pas requise, mais les domaines effectifs des deux emplacements doivent être compatibles.
Dans Edit... > Capabilities, vérifiez également Multipart upload et Multipart server-side copy lorsque le service prend en charge UploadPartCopy. N’activez que les capacités réellement disponibles. Les politiques de chiffrement, ACL et stockage doivent permettre les requêtes requises ; les réglages multipart influencent leur choix.
Comprendre le mode de copie
| Situation | Chemin choisi |
|---|---|
| Même domaine effectif et copie entre comptes autorisée des deux côtés, si les comptes sont distincts | Une copie côté serveur peut être utilisée. |
| Domaines différents, ou copie directe désactivée pour l’un des comptes lorsque les comptes sont distincts | Les données passent par le poste. |
Taille et réglages demandant une copie multipart, avec UploadPartCopy utilisable et un chiffrement compatible | Les parties peuvent être copiées côté serveur. |
| Copie directe incompatible avec une contrainte du transfert | Un relais peut être nécessaire si l’envoi destination est pris en charge. |
Si les permissions empêchent la copie côté serveur avec un compte, S3Client peut essayer avec l’autre compte, puis faire passer les données par votre ordinateur. Ce relais exige les permissions de lecture de la source et d’écriture de la destination. Certaines erreurs arrêtent la copie sans relais.
Lancer et vérifier la copie
Une erreur ou une interruption laisse les copies déjà terminées en destination. Une écriture peut aussi réussir avant l’échec de sa vérification. En mode Move, la source est conservée dans ce cas ; si sa suppression échoue après un transfert réussi, les deux copies peuvent rester présentes. Vérifiez les deux emplacements avant de relancer. Consultez les conséquences du déplacement.
- Ouvrez la source S3 dans un panneau et la destination S3 dans l’autre, sous les comptes voulus.
- Sélectionnez les fichiers ou dossiers source et choisissez
Edit > Copy. - Activez le dossier destination et choisissez
Edit > Paste with options.... - Vérifiez
Source,Destination,Copy, la classe de stockage, l’ACL et le résuméDestination encryption. Pour changer le chiffrement, cliquez surChange encryption…, réglezNew encryption:et ses paramètres, puis cliquez surUse settings. Fournissez séparément la clé source avecSource decryption > SSE-C read key…si nécessaire. - Cliquez sur
Copyet répondez aux confirmations de conflit. - Attendez la fin, puis vérifiez les clés et propriétés en destination.
Pour identifier le chemin réellement utilisé, sélectionnez l’opération terminée et choisissez Show details si un journal est disponible. Les requêtes CopyObject ou UploadPartCopy indiquent une copie côté serveur ; des lectures source et envois destination indiquent un relais. Activez la journalisation avant l’opération si nécessaire ; voir le suivi des opérations.