2011-03-18 5 views
0

Si j'ai un seau contenant des centaines de milliers d'images, est-ce que je peux rechercher chaque image que je souhaite afficher sur mon site via son ID ou y a-t-il un moyen plus efficace avoir plusieurs dossiers dans un seau peut-être)? Je pensais également à donner à chaque image un hachage unique ou quelque chose de similaire afin d'arrêter les noms en double dans le seau. Est-ce que cela semble être une bonne idée?Recherche dans un seau Amazon S3

Répondre

0

Vous venez de lier à chaque image en utilisant des URL normales. pour les fichiers publics les urls sont au format:

http://mybucket.s3.amazonaws.com/myimage.jpg 

Pour urls privé, vous devez générer une URL (qui est facile en utilisant l'un des sdks) au format:

http://mybucket.s3.amazonaws.com/myimage.jpg?AWSAccessKeyId=44CF9SAMPLEF252F707&Expires=1177363698&Signature=vjSAMPLENmGa%2ByT272YEAiv4%3D 

Il n'y a rien mal à stocker chaque fichier avec un nom unique. Si vous définissez les en-têtes appropriés sur le fichier, tous les téléchargements peuvent toujours avoir le nom d'origine. par exemple Content-Disposition: attachment; filename=myimage.jpg;


Pour la liste un contenu Seaux vous utiliseriez commande les API GetBucket. Je trouve plus facile d'utiliser le SDKs pour tout accès via l'API.

0

Il peut être difficile de chercher ou de faire des choses en parallèle sur des objets de type seau car amazon répertorie tout lexicographiquement (le seul moyen actuellement supporté). Le problème avec l'utilisation des ID aléatoires est que tout cela serait écrit dans le même bloc de stockage et que vous ne pouvez pas effectuer de recherche en parallèle pour optimiser.

Voici un article intéressant sur les améliorations de performances. Je l'utilise pour mon travail et je vois une différence significative en charge élevée. http://aws.typepad.com/aws/2012/03/amazon-s3-performance-tips-tricks-seattle-hiring-event.html