Tutoriales Prácticos
Pues aqui esta mi problema. Tengo una gran cantidad de datos y necesito que estén disponibles dinámicamente para ejecutar aplicaciones en mi tablero. ¿Suena familiar? Más específicamente, dirijo Philosophy Data Project, un sitio web que implementa herramientas basadas en datos para ayudar a las personas a explorar la historia de la filosofía. Así que tengo unas 330.000 frases filosóficas y las agrego todo el tiempo, y necesito que todo eso esté disponible dinámicamente para que las personas puedan navegar fácilmente por las aplicaciones en mi sitio.
simplemente no puedo DColoque una mesa gigante en Heroku; eso rompería el tamaño del caracol y sería increíblemente lento. Afortunadamente, Heroku es muy útil y le brinda un servidor Heroku Postgres gratuito para almacenar y acceder a sus datos.
Genial, pero resultó no ser tan fácil de configurar, y aunque definitivamente hubo algunas personas con excelentes tutoriales en línea, ninguna nos guió de principio a fin. Así que eso es lo que voy a hacer aquí.
Hay tres pasos principales:
1. Configure Heroku Postgre y conéctelo a su aplicación.
2. Agregue datos a su servidor.
3. Acceda a los datos y ejecute consultas en su aplicación.
Comprobemos uno por uno. Todo lo que necesita para comenzar es una aplicación Heroku existente.
Hay dos maneras de hacer esto. La primera es a través de la interfaz del sitio web de Heroku. Inicia sesión y ve a tu aplicación. Luego busque Postgres en la pestaña Recursos en el menú del complemento. Haga clic en la opción titulada «Heroku Postgres».
Se le pedirá que seleccione un nivel; Elige el que mejor se adapte a tus necesidades (hay uno gratuito, pero está limitado a 10.000 filas).
Genial, ahora haga clic en el complemento y lo llevará a su tablero de Postgres.
¡Perfecto, ya estás listo! Tenga en cuenta que toda la información sobre sus contraseñas y URL se encuentra en la pestaña «Configuración». Heroku completará automáticamente sus variables de configuración relevantes, pero si las necesita en el futuro, puede encontrarlas allí.
Si prefiere utilizar la línea de comandos, puede seguir estos pasos. Primero, abra una terminal y navegue hasta su aplicación. Así que usa el comando heroku addons
para verificar qué complementos tiene instalados actualmente.
Ahora puede agregar la base de datos de Postgres con él heroku addons:create heroku-postgresql:hobby-dev
. Por supuesto, si desea un plan diferente, reemplácelo con hobby-dev
.
Bien, estás listo para ir. Tenga en cuenta que independientemente de cómo haga esto, ahora tiene uno nuevo DATABASE_URL
variables de configuración en su entorno Heroku; Esta variable almacena, lo adivinaste, la URL de la base de datos.
Bien, ahora tienes un servidor. Pero no tienes datos. Entonces tienes que agregarlo. Probablemente hay alrededor de un millón de formas de hacer esto, pero aquí hay una manera fácil de ejecutar Python desde un cuaderno Jupyter.
Primero, configure sus datos de la manera que desee en un marco de datos de pandas.
Ahora usa el siguiente código.
#import the relevant sql library from sqlalchemy import create_engine# link to your databaseengine = create_engine(<YOUR DATABASE URL>, echo = False)# attach the data frame (df) to the database with a name of the
# table; the name can be whatever you likedf.to_sql(‘phil_nlp’, con = engine, if_exists="append")# run a quick test
print(engine.execute(“SELECT * FROM phil_nlp”).fetchone())
Este código se conecta a su base de datos según su URL y luego simplemente carga todo.
Este código puede llenar una base de datos vacía o agregar nuevos valores a una existente. Para jugar con la forma en que inserta valores, cambie el if_exists
Parámetro.
Genial, ahora tiene una base de datos poblada, ha construido una bonita casa para todos sus pequeños y preciosos datos. Sin embargo, sus bebés de datos seguramente morirán por negligencia si no los consulta correctamente.
Pero, ¿cómo puedes consultarlos desde tu aplicación? Están todos en esa base de datos de allí, ¿estás seguro de que es imposible?
En absoluto, amigo mío, en realidad es bastante simple. Creé mi aplicación en Python usando Dash, pero los mismos principios deberían aplicarse a cualquier otra aplicación de Python.
Para conectarse a la base de datos necesita el psycopg2
Biblioteca. Establezca una conexión de la siguiente manera:
import psycopg2DATABASE_URL = os.environ.get(‘DATABASE_URL’)con = psycopg2.connect(DATABASE_URL)cur = con.cursor()
Este código lee la URL de la base de datos de las variables de entorno y la usa para conectarse al servidor.
Tenga en cuenta que si ejecuta la aplicación en su computadora local sin pasar por el Heroku local, la aplicación no funcionará. La URL se almacena en su entorno de Heroku y, por lo general, no está disponible para su entorno local a menos que usted mismo la proporcione.
Bueno, resumamos todo: aquí hay un ejemplo de una aplicación que permite al usuario buscar en la base de datos cada aparición de una palabra específica.
¡Y ahí lo tienes! Espero que haya sido útil. No dude en ponerse en contacto conmigo a través de LinkedIn o correo electrónico si…
[2021] Configure Heroku PostgreSQL para su aplicación de Python {DH}