Je recherche toutes les méthodes pour déplacer/copier les données d'un dossier à un autre dans le compartiment AWS S3.Déplacer/copier des données d'un dossier à un autre sur AWS S3
Méthode 1: Via AWS CLI (plus facile)
Téléchargez et installez awscli sur ur par exemple, je me sers ici fenêtres (64-bit link), et lancer "configure ASW" pour remplir votre configuration et il suffit d'exécuter cette commande unique sur cmd
aws s3 cp s3://from-source/ s3://to-destination/ --recursive
ici cp pour copier et récursive de copier tous les fichiers
Méthode 2: Via AWS CLI en utilisant python
import os
import awscli
if os.environ.get('LC_CTYPE', '') == 'UTF-8':
os.environ['LC_CTYPE'] = 'en_US.UTF-8'
from awscli.clidriver import create_clidriver
driver = create_clidriver()
driver.main('s3 mv s3://staging/AwsTesting/research/ s3://staging/AwsTesting/research_archive/ --recursive'.split())
Même cela a fonctionné pour moi parfaitement
Méthode 3: Via Boto en utilisant python
import boto3
s3 = boto3.resource('s3')
copy_source = {
'Bucket': 's3://staging/',
'Key': 'AwsTesting/research/'
}
s3.meta.client.copy(copy_source, ''s3://staging/'', 'AwsTesting/research_archive/')
Avec ma compréhension, je suppose ed la « clé » pour seau est juste le préfixe du dossier, donc je l'ai mentionné le chemin du dossier ici
Erreur:
Invalid bucket name "s3://staging": Bucket name must match the regex "^[a-zA-Z0-9.-_]{1,255}$"
Même je l'ai changé au nom simple seau comme « mise en scène », mais sans succès.
Comment puis-je comprendre la connectivité de seau via boto et le concept de cette clé?
Je ne vois aucune raison dans les docs de croire que 's3.meta.client.copy' copie autre chose qu'un seul objet. * "Copier un objet d'un emplacement S3 à un autre C'est un transfert géré qui effectuera une copie en plusieurs parties dans plusieurs threads si nécessaire." * Une "copie en plusieurs parties" ne signifie pas plusieurs objets. Cela signifie qu'un seul objet est copié à l'aide de plusieurs transactions HTTP, chacune gérant des plages d'octets différentes. –