2011-07-23 8 views
6

Je crée actuellement un ensemble de tables sur le service MySQL dans Amazon RDS. Plusieurs des tables ont besoin d'avoir des liens d'image. Ce que j'essaie de comprendre, c'est où est-ce que je mets les images? Est-ce qu'ils vont dans RDS quelque part? ou puis-je les mettre en S3 et les lier à RDS? Si ce dernier, comment je fais ça?Où stocker des images dans Amazon AWS pour une utilisation dans RDS

J'ai fait des recherches sur google, sans conclusion, donc toute aide serait super.

Répondre

1

Vous pouvez soit les stocker sous forme de données binaires dans une colonne dans RDS, soit vous pouvez utiliser S3. Si vous utilisez S3, vous stockez l'URL http dans l'image dans RDS, puis obtenez l'image sur http à partir de S3.

+0

Ok, j'ai mis en place un seau dans S3 et téléchargé une image, définir les autorisations et obtenu le lien http. Puis ajoutez le lien vers ma table dans RDS, comme ceci: INSERT INTO images_test VALUES (NULL, 'https://s3.amazonaws.com/images_pregcompanion/dog.jpg'); – BattlFrog

+0

J'ai ensuite écrit un script php pour récupérer l'image: BattlFrog

+0

La réponse du script PHP est 'ne peut pas afficher l'image car elle contient des erreurs. Je suis capable de cliquer sur le lien en S3 et voir l'image. Des idées? – BattlFrog

5

Selon les tailles d'image, les cas d'utilisation, etc, je stockerais probablement les images dans S3.

Vous pouvez stocker le chemin S3 en tant que champ de base de données. Vous pouvez créer un compartiment en tant que nom de domaine (par exemple, images.exemple.com) et pointer le CNAME vers le compartiment pour accéder directement aux images. Vous pouvez également utiliser les différentes bibliothèques S3 pour générer une URL signée limitée dans le temps si vous souhaitez inclure la sécurité.

Questions connexes