Mise à jour
Comme l'a souligné alberge (+1), aujourd'hui l'excellente Interface de Ligne de Commande AWS fournit le plus polyvalent approche pour interagir avec (presque) toutes les choses AWS - il pendant ce temps couvre la plupart des services " Api et également des fonctionnalités de plus haut niveau S3 commandes pour traiter votre cas d'utilisation, en particulier, consultez le AWS CLI de référence pour les S3:
-
sync - Synchronisation des répertoires et S3 préfixes. Votre cas est couvert par l'Exemple 2 (plus fine de l'utilisation avec
--exclude
, --include
et un préfixe de manutention etc. est également disponible):
La suite de la commande sync synchronise les objets sous un préfixe spécifié et un seau pour les objets sous un autre préfixe spécifié et un seau en copiant les objets s3. [...]
aws s3 sync s3://mybucket s3://mybucket2
Pour être complet, je vais mentionner que le niveau inférieur S3 commandes sont également toujours disponibles via le s3api sous commande, ce qui permettrait de traduire directement toute solution basée sur le SDK AWS CLI avant d'adopter son plus haut niveau de fonctionnalités par la suite.
Début De Réponse
Le déplacement de fichiers entre le S3 peut être atteint par des moyens de les METTRE l'Objet - Copie de l'API (suivi de SUPPRIMER l'Objet):
Cette mise en œuvre de l'opération crée une copie d'un objet
c'est déjà stockées dans Amazon S3. Une opération de copie est la même
le spectacle d'un OBTENEZ et d'un PUT. L'ajout de l'entête de la requête,
x-amz-copie-source, effectue l'opération de placement copie de l'objet source dans
la destination seau.
Il y a des échantillons respectifs pour tous les AWS Sdk disponibles, voir la Copie d'Objets en une Seule Opération. Naturellement, un script basé solution serait évidente de premier choix ici, donc, de Copier un Objet en Utilisant le SDK AWS pour Ruby pourrait être un bon point de départ; si vous préférez Python au lieu de cela, le même effet peut être obtenu via boto ainsi, bien sûr, voir la méthode copy_key()
dans boto du S3 documentation de l'API.
PUT Object
seulement des copies de fichiers, de sorte que vous devez explicitement supprimer un fichier via l' DELETE Object
encore après le succès de l'opération de copie, mais ce sera juste quelques lignes une fois que l'ensemble de la gestion de scripts le seau et les noms de fichiers est en place (il y a des respectives des exemples, voir, par exemple, de la Suppression d'Un Objet Par Demande).