Ich bin ein wenig neu bei S3. Ich frage mich, ob es eine gute Idee, öffentlich/Bilder in S3 Bucket setzen und wenn ja, gibt es eine einfache Möglichkeit, den Umzug zu tun?
Antworten
Zu viele Anzeigen?Wenn Sie in config/environments/production.rb nachsehen, finden Sie die folgende Codezeile (auskommentiert):
config.action_controller.asset_host = "http://assets.example.com"
Wenn Sie Ihre Assets (Bilder, Stylesheets usw.) auf S3 aufbewahren möchten, geben Sie dort einfach die korrekte Url ein. Dies könnte Sie bei Amazon interessieren:
http://developer.amazonwebservices.com/connect/message.jspa?messageID=159916
und dies in der Rails-API:
http://api.rubyonrails.org/classes/ActionView/Helpers/AssetTagHelper.html
Asset-Hosts sind gut, wenn Sie eine Reihe von statischen Assets anbieten oder umfangreiche Assets auf teuren Servern speichern. Wenn Sie ein geringes Volumen haben oder kleine Assets bereitstellen, ist S3 möglicherweise nicht sinnvoll. Paperclip versteht übrigens S3 und ist damit ein natürliches Juwel für die Handhabung von Anlagen für diese Art von Dingen.
Es sei denn, Sie speichern sehr große oder extrem häufig genutzte Assets in public/
gibt es keinen Grund, sie auf einen externen Asset-Host zu legen. Das würde die Komplexität Ihrer Anwendung nur unnötig erhöhen.
Wenn Sie große oder häufig genutzte Inhalte haben, sollten Sie zusätzlich zu S3 das Amazon CloudFront-Netzwerk für die Verteilung von Inhalten nutzen.
Steve Ross' Antwort ist gut für die Rails-Seite How-to.