Comment puis-je copier les fichiers de plus de 5 GO dans Amazon S3?
Amazon S3 API REST dit qu'il y a une limite de taille de 5 go pour les transférer dans une opération de placement. Les fichiers de plus de qui doivent être téléchargés à l'aide de plusieurs parties. Des beaux.
Cependant, ce dont j'ai besoin, en substance, est de renommer les fichiers qui pourraient être plus grands que cela. Autant que je sache, il n'y a pas de renommer ou de déplacer l'opération, j'ai donc copier le fichier vers le nouvel emplacement et supprimer l'ancien. Comment exactement ce qui est fait avec les fichiers de plus de 5 go? Je dois faire un multipart télécharger à partir du seau à lui-même? Dans ce cas, comment le fait de séparer le fichier en pièces détachées?
De lecture boto source il ne semble pas comme il ne fait rien de tout cela automatiquement pour les fichiers de plus de 5 go. Est-il intégré dans l'appui que j'ai raté?
- Notez que l'utilisation de la norme copie de ressource --
s3.meta.client.copy(copy_source, 'otherbucket', 'otherkey')
maintenant utilise automatiquement un multipart télécharger si le fichier est plus grand que 5 GO
Vous devez vous connecter pour publier un commentaire.
C'est correct, c'est assez facile à faire pour les objets/les fichiers de taille inférieure à 5 GO par le biais d'un METTRE l'Objet de Copie opération, suivie par une SUPPRIMER l'Objet opération (qui sont tous deux pris en charge dans boto bien sûr, voir copy_key() et delete_key()):
Cependant, c'est en effet pas possible pour les objets/les fichiers de plus de 5 GO:
Boto pendant ce temps prend en charge ce, aussi bien par le biais de la copy_part_from_key() méthode; malheureusement, l'approche nécessaire n'est pas documenté à l'extérieur de l'respectives tirez sur demande n ° 425 (permettre la multi-commandes de copie) (je n'ai pas essayé moi-même mais tout de même):
Vous pourriez vouloir étudier les échantillons respectifs sur la façon d'atteindre cet objectif en Java ou en .NET finalement, ce qui pourrait fournir plus de perspicacité dans l'approche générale, voir La copie d'Objets à l'Aide de la Multipart Télécharger API.
Bonne chance!
Annexe
S'il vous plaît être conscient de ce qui suit particularité concernant la copie en général, ce qui est facilement négligés:
Ci-dessus a été très proche de travail, malheureusement, devrait avoir terminé avec
mp.complete_upload()
au lieu de la typo
upload_complete()
!J'ai ajouté un travail boto s3 multipart script de copie ici, en fonction de l'AWS exemple Java et testé avec des fichiers de plus de 5 GiB:
https://gist.github.com/joshuadfranklin/5130355
J'ai trouvé cette méthode pour télécharger des fichiers de plus de 5gigs et modifié pour qu'il fonctionne avec un Boto procédure de copie.
voici l'original: http://boto.cloudhackers.com/en/latest/s3_tut.html