Dans mon instance Amazon EC2, j'ai un dossier nommé uploads
. Dans ce dossier, j'ai 1000 images. Maintenant, je veux copier toutes les images dans mon nouveau compartiment S3. Comment puis-je faire ceci?
Utilisez s3cmd
s3cmd get s3://AWS_S3_Bucket/dir/file
Jetez un coup d’œil à cette documentation s3cmd
si vous êtes sur Linux, lancez ceci sur la ligne de commande:
Sudo apt-get install s3cmd
ou Centos, Fedore.
yum install s3cmd
Exemple d'utilisation:
s3cmd put my.file s3://pactsRamun/folderExample/fileExample
Utilisation de Cli d'Amazon
Comme @ tedder42 a déclaré dans les commentaires, au lieu d'utiliser cp
, utilisez sync
.
Regardez la syntaxe suivante:
aws s3 sync <source> <target> [--options]
Exemple:
aws s3 sync . s3://my-bucket/MyFolder
Plus d'informations et d'exemples disponibles sur Gestion des objets à l'aide de commandes de haut niveau s3 avec l'interface de ligne de commande AWS
aws s3 sync your-dir-name s3://your-s3-bucket-name/folder-name
ou, vous pouvez utiliser la commande suivante pour un fichier sélectionné.
aws s3 sync your-dir-name/file-name s3://your-s3-bucket-name/folder-name/file-name
ou vous pouvez avec un caractère sauvage pour tout sélectionner. Notez que cela va copier votre répertoire dans son ensemble et également générer des métadonnées et les enregistrer dans votre dossier de compartiment s3.
aws s3 sync . s3://your-s3-bucket-name/folder-name
Voir l'intégralité de mon blog sur Comment se connecter à S3 Bucket à partir d'une instance EC2 - Aide AWS
Notez également que lors de la synchronisation avec s3, aws cli est multithread et télécharge plusieurs parties d'un fichier à la fois. Le nombre de threads n'est toutefois pas configurable pour le moment.
aws s3 mv /home/inbound/ s3://test/ --recursive --region us-west-2
Nous avons une fonctionnalité DryRun disponible pour les tests.