es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Heroku almacenamiento activo S3 Seahorse::Client::NetworkingError (Net::OpenTimeout)

Estoy teniendo un problema muy extraño. Estamos utilizando la siguiente combinación:

  1. Rails 7.0.0 rama principal
  2. Heroku
  3. Active Storage
  4. Complemento Bucketeer
  5. Aplicación de pruebas
  6. Aplicación de producción

Tengo dos entornos, un entorno de pruebas y un entorno de producción. En el entorno de pruebas todo funciona bien, pero en el entorno de producción sigo encontrándome con el siguiente error: Seahorse::Client::NetworkingError (Net::OpenTimeout). Desafortunadamente, el soporte de Heroku no fue de mucha ayuda (valió la pena intentarlo), así que estoy preguntando aquí.

Si uso s3 directamente desde una consola de Rails, todo funciona bien. Puedo subir y descargar objetos de mi bucket, por lo que sé que las variables de entorno son válidas.

Sin embargo, si intento subir un avatar de usuario utilizando active storage, obtengo este mensaje de error: Seahorse::Client::NetworkingError (Net::OpenTimeout), lo cual me indica que hay un fallo completo en la conexión con S3.

He experimentado con diferentes tiempos de espera tanto para el archivo storage.yml de active storage como para la configuración global de Amazon, pero sin obtener resultados diferentes. El error parece ser devuelto más rápido que el tiempo de espera (el tiempo de espera abierto de 15 segundos debería esperar 15 segundos, pero no lo hace).

Se agradecen cualquier indicación en la dirección correcta.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Problema con Active Storage y Bucketeer en la aplicación Production

    Como experto en IT especializado en ruby-on-rails, amazon-s3, heroku y rails-activestorage, el problema que estás enfrentando parece estar relacionado con Active Storage y Bucketeer en la aplicación Production.

    El mensaje de error Seahorse::Client::NetworkingError (Net::OpenTimeout) indica una falla al conectar con S3. Sin embargo, mencionaste que puedes cargar y descargar objetos desde el bucket utilizando S3 directamente desde la consola de rails.

    Por lo tanto, parece que el problema está relacionado con la integración de Active Storage y Bucketeer en la aplicación Production.

    Has probado diferentes tiempos de espera para storage.yml de Active Storage y la configuración global de Amazon, pero el error se devuelve más rápido que el tiempo de espera.

    Es posible que el complemento Bucketeer en la aplicación Production no esté correctamente configurado o tenga problemas de conectividad.

    Quizás quieras investigar la configuración de Bucketeer y verificar si hay algún problema de conectividad con el bucket de S3 desde la aplicación Production. También vale la pena revisar los registros para obtener más información sobre el error.

    Quizás depurar tu aplicación con una herramienta como byebug o pry pueda ayudarte a identificar el problema y su causa raíz.

    En general, es probable que el problema esté relacionado con la integración de Active Storage y Bucketeer en la aplicación Production, y la solución de problemas de estos componentes puede ayudarte a identificar y resolver el problema.

Comments are closed.