En téléchargeant le fichier ZIP à S3, utilisez EC2 pour Décompresser
J'ai un Codeigniter application web pour télécharger de nombreux petits fichiers à chaque heure de Amazon S3, qui est à l'origine de mon S3 de frais de demande de tirer très rapidement. Une façon de surmonter ce sera pour compresser le fichier, téléchargez le fichier zip sur S3, puis décompressez-le quand il est sur S3.
Cela peut être fait en utilisant EC2? Ou est-il une meilleure méthode pour y parvenir? Merci!!!!!
EDIT: Si je devais utiliser EC2, dois-je utiliser PHP pour déclencher la création d'une instance EC2, téléchargez le fichier PHP nécessaire pour décompresser les fichiers zip, copier le fichier décompressé S3, puis de détruire l'instance EC2?
Je veux l'individu fichiers décompressés à être disponible sur S3. Raison de la compression (100 petits fichiers dans 1 fichier zip) est de réduire le nombre de
PUT
demandes, ce qui augmente les coûts de S3 utilisation de manière significative.Le téléchargement des fichiers ZIP en S3 et ouvrant sur EC2 pour réduire vos coûts n'aide pas: il vaut encore vous coûter une demande pour chaque fichier décompressé venir S3 à partir de l'EC2.
J'ai vérifié que dans le forums.aws.amazon.com/message.jspa?messageID=243519 et il semble que la demande de COPIE de EC2, S3 est gratuit. Quelqu'un peut-il confirmer cela?
Je pense qu'ils sont en discutant il y a des frais de transfert. Vous êtes facturé séparément pour le nombre réel de demandes que vous faites, et je ne pense pas que ces demandes sont libres, même s'ils sont venus de l'EC2 🙂 quelqu'un Peut-il confirmer?
OriginalL'auteur Nyxynyx | 2012-03-15
Vous devez vous connecter pour publier un commentaire.
Si vous avez un EC2 machine dans la même région, je vous suggère de le télécharger, il zippée et puis il chute à s3 à partir de là décompressé. S3 impossible de le décompresser sur sa propre comme toutes statique.
Theres aucun frais entre ec2 et s3 afin ec2 peut gérer la décompression et puis les écrire dans votre compartiment s3 sans autres frais de transfert.
Cher @Akshat, merci de partager le lien ou le code à écrire un dossier (qui a juste décompressé ) dans S3 à partir de EC2, si vous en avez, Il serait grandement apprécié
Pas besoin d'utiliser ec2 pour quelque chose de si simple. Utilisation Lambda. Le projet que Aman Garg lié à peut facilement être modifié pour récupérer le fichier à partir de S3 plutôt que de le recevoir comme un téléchargement. github.com/mehmetboraezer/aws-lambda-unzip
OriginalL'auteur Akshat
Vous pouvez écrire du code dans un lambda pour décompresser un fichier d'un compartiment S3, vous avez juste à utiliser, AWS Lambda va le faire pour vous.
Referece:
OriginalL'auteur Aman Garg
S3 est juste de stockage. Quel que soit le fichier que vous téléchargez est le fichier qui est stocké. Vous ne pouvez pas télécharger un fichier zip puis d'en extraire une fois son S3. Si vous avez écrit la demande, la meilleure chose que je puisse dire, c'est d'essayer de re-conception de la façon dont vous stockez les fichiers. S3 demandes sont assez bon marché... vous devez faire beaucoup de demandes.
OriginalL'auteur bwight
J'ai été en utilisant ce service pour décompresser les fichiers plein de milliers de petits fichiers d'image, chaque zip-je télécharger est d'environ 4 GO, et coûte autour de $1 pour décompresser à l'aide de http://www.cloudzipinc.com/service/s3_unzip, peut-être que cela pourrait aider quelqu'un.
Après avoir dit que, vous trouverez peut-être plus facile à utiliser Python avec le nom de Boto bibliothèque. Que de travail beaucoup plus efficacement que PHP.
OriginalL'auteur Henry Cullen