DocumentaciónExperience PlatformGuía del servicio de consultas

Administrar datos de Experience Platform mediante Python y SQLAlchemy

Last update: Fri Apr 04 2025 00:00:00 GMT+0000 (Coordinated Universal Time)
  • Temas:
  • Consultas

Creado para:

  • Usuario
  • Desarrollador

Aprenda a utilizar SQLAlchemy para obtener una mayor 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 conectar SQLAlchemy al servicio de consultas y comenzar a usar Python para interactuar con las bases de datos.

SQLAlchemy es un Object Relational Mapper (ORM) y una biblioteca de código Python que puede transferir datos almacenados en una base de datos SQL a objetos Python. A continuación, puede realizar operaciones de CRUD en datos mantenidos dentro del lago de datos de Experience Platform mediante el código Python. Esto elimina la necesidad de administrar datos usando solo PSQL.

Introducción

Para adquirir las credenciales necesarias para conectar SQLAlchemy a Experience Platform, debe tener acceso al área de trabajo Consultas en la interfaz de usuario de Experience Platform. Póngase en contacto con el administrador de su organización si actualmente no tiene acceso al área de trabajo Consultas.

Credenciales de Query Service

Para encontrar sus credenciales, inicie sesión en la interfaz de usuario de Experience Platform y seleccione Consultas en 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.

Se ha resaltado la ficha Credenciales con credenciales que caducan para el servicio de consultas.

Aunque el puerto 80 es el puerto recomendado para una conexión al servicio de consultas, también puede utilizar el puerto 5432.

IMPORTANT
Si utiliza credenciales que caducan (como se ve en la imagen anterior) para conectarse al servicio de consultas, la duración de la sesión de la conexión caducará después del período de tiempo establecido definido en la configuración de la organización. De forma predeterminada, este periodo es de 24 horas. Consulte la documentación para aprender a conectar un cliente con credenciales que no caducan o a cambiar la duración de la sesión de las credenciales que caducan.

Una vez que tenga acceso a sus credenciales de QS, abra el editor Python que haya elegido.

Almacenar credenciales en Python

En el editor Python, importe la biblioteca urllib.parse.quote y guarde cada variable de credencial como un parámetro. El módulo urllib.parse proporciona una interfaz estándar para dividir las 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:

TIP
Use las comillas triples de Python para escribir la cadena de contraseña de varias líneas.
from urllib.parse import quote

host = "<YOUR_HOST>"

port = "<YOUR_PORT>"

dbname = "<YOUR_DATABASE>"

user = "<YOUR_USERNAME>"

password = quote('''
<YOUR_PASSWORD>
''')
NOTE
La contraseña que proporcione para conectar SQLAlchemy a Experience Platform caducará si usa credenciales que caduquen. Consulte la sección de credenciales para obtener más información.

Crear una instancia de motor [#create-engine]

Una vez creadas las variables, importe la función create_engine y cree una cadena para compilar y dar formato a las credenciales del servicio de consulta en SQLAlchemy. A continuación, se utiliza la función create_engine para construir una instancia de motor.

NOTE
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 Experience Platform mediante clientes de terceros. Como parte del motor, use connect_args para escribir argumentos de palabras clave adicionales. Se recomienda establecer el modo SSL en require. Consulte la documentación sobre los modos SSL para obtener más información sobre los valores aceptados.

El ejemplo siguiente muestra el código Python 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'})
NOTE
La contraseña que proporcione para conectar SQLAlchemy a Experience Platform caducará si usa credenciales que caduquen. Consulte la sección de credenciales para obtener más información.

Ya está listo para consultar los datos de Experience 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())
recommendation-more-help
ccf2b369-4031-483f-af63-a93b5ae5e3fb