Administrar datos de Platform mediante Python y SQLAlchemy
Aprenda a utilizar SQLAlchemy para una buena flexibilidad en la administración de los datos de Adobe Experience Platform. Para aquellos que no están tan familiarizados con SQL, SQLAlchemy puede mejorar en gran medida el tiempo de desarrollo al trabajar con bases de datos relacionales. Este documento proporciona instrucciones y ejemplos para conectarse SQLAlchemy Haga clic en Servicio de consultas y empiece a utilizar Python para interactuar con sus bases de datos.
SQLAlchemy es un asignador relacional de objetos (ORM) y un Python biblioteca de códigos que puede transferir datos almacenados en una base de datos SQL a Python objetos. A continuación, puede realizar operaciones de CRUD en los datos almacenados dentro del lago de datos de Platform mediante Python código. Esto elimina la necesidad de administrar datos usando solo PSQL.
Primeros pasos
Para adquirir las credenciales necesarias para la conexión SQLAlchemy Para acceder al Experience Platform, debe tener acceso al espacio de trabajo Consultas en la interfaz de usuario de Platform. Póngase en contacto con el administrador de su organización si actualmente no tiene acceso al área de trabajo Consultas.
Query Service credenciales credentials
Para encontrar sus credenciales, inicie sesión en la interfaz de usuario de Platform y seleccione Consultas desde el panel de navegación izquierdo, seguido de Credenciales. Para obtener instrucciones completas sobre cómo encontrar sus credenciales de inicio de sesión, lea la guía de credenciales.
Aunque el puerto 80 es el puerto recomendado para una conexión al servicio de consultas, también puede utilizar el puerto 5432.
Una vez que tenga acceso a sus credenciales de QS, abra su Python editor de su elección.
Almacenar credenciales en Python store-credentials
En su Python editor, importe urllib.parse.quote
y guarde cada variable de credencial como un parámetro. El urllib.parse
El módulo proporciona una interfaz estándar para desglosar cadenas de URL en componentes. La función quote reemplaza los caracteres especiales de la cadena URL para que los datos sean seguros para su uso como componentes URL. A continuación se muestra un ejemplo del código requerido:
from urllib.parse import quote
host = "<YOUR_HOST>"
port = "<YOUR_PORT>"
dbname = "<YOUR_DATABASE>"
user = "<YOUR_USERNAME>"
password = quote('''
<YOUR_PASSWORD>
''')
Creación de una instancia de motor [#create-engine]
Una vez creadas las variables, importe create_engine
y cree una cadena para compilar y dar formato a las credenciales del servicio de consultas en SQLAlchemy. El create_engine
a continuación, se utiliza la función para construir una instancia de motor.
create_engine
devuelve una instancia de un motor. Sin embargo, no abre la conexión al Servicio de consultas hasta que se llama a una consulta que requiere una conexión.SSL debe estar habilitado al acceder a Platform mediante clientes de terceros. Como parte del motor, utilice el connect_args
para introducir argumentos de palabra clave adicionales. Se recomienda establecer el modo SSL en require
. Consulte la Documentación de modos SSL para obtener más información sobre los valores aceptados.
El ejemplo siguiente muestra el Python código necesario para inicializar un motor y una cadena de conexión.
from sqlalchemy import create_engine
db_string = "postgresql://{user}:{password}@{host}:{port}/{dbname}".format(
user=user,
password=password,
host=host,
port = port,
dbname = dbname
)
engine = create_engine(db_string, connect_args={'sslmode':'require'})
Ya está listo para consultar los datos de Platform mediante Python. El ejemplo que se muestra a continuación devuelve una matriz de nombres de tabla del servicio de consultas.
from sqlalchemy import inspect
insp = inspect(engine)
print(insp.get_table_names())