ruby on rails - type - Paperclip: migración del almacenamiento del sistema de archivos a Amazon S3
upload files to heroku (3)
Tengo un sitio web de RoR, donde los usuarios pueden subir fotos. Uso una gema de clip para cargar las fotos y almacenarlas en el servidor como archivos. Estoy planeando mudarme a Amazon S3 para almacenar las fotos. Necesito mover todas mis fotos existentes del servidor a Amazon S3. Alguien me puede decir la mejor manera de mover las fotos. Gracias !
Encontré este script que se encarga de mover las imágenes a Amazon S3 bucket utilizando la tarea de rake. https://gist.github.com/924617
Puede hacerlo fácilmente creando un cubo en Amazon S3 que tenga la misma estructura de carpetas que su directorio public
en su aplicación Rails.
Digamos, por ejemplo, que crea un nuevo grupo en Amazon S3 llamado MyBucket y tiene una carpeta llamada imágenes . Simplemente movería todas sus imágenes dentro de la carpeta de images
la aplicación Rails a la nueva carpeta de images
.
Luego, puede configurar su aplicación para que use un host de activos como el que se describe en esta respuesta: ¿ es bueno usar S3 para Rails "public / images" y hay una manera fácil de hacerlo?
Si está utilizando image_tag
u otros ayudantes de etiquetas (javascripts, hojas de estilo, etc.), entonces utilizará ese asset_host
para entornos de producción y generará adecuadamente la URL a su depósito S3.
Querrá iniciar sesión en su Consola AWS y crear una estructura de cubeta para facilitar sus imágenes. Ni S3 ni Paperclip tienen herramientas para migraciones masivas desde el sistema de archivos -> s3, para eso deberá usar la herramienta s3cmd . En particular, está interesado en el comando s3cmd sync , algo como:
s3cmd sync ./public/system/images/ s3://imagesbucket
Si tiene alguna URL de imagen codificada en su base de datos (como el código de markdown / template) esto podría ser un poco complicado. Una opción sería actualizar manualmente sus direcciones URL para que apunten al nuevo grupo. Alternativamente, puede rack-rewrite .