了解如何使用SQLAlchemy以更灵活地管理Adobe Experience Platform数据。 对于不熟悉SQL的人来说,SQLAlchemy可以在使用关系数据库时大大缩短开发时间。 本文档提供了连接的说明和示例 SQLAlchemy 查询服务并开始使用Python与数据库交互。
SQLAlchemy 是一个对象关系映射器(ORM)和 Python 代码库,可以将存储在SQL数据库中的数据传输到 Python 对象。 然后,您可以使用对Platform数据湖中所保存的数据执行CRUD操作 Python 代码。 这消除了仅使用PSQL管理数据的需要。
获取进行连接所需的凭据 SQLAlchemy 要Experience Platform,您必须有权访问Platform UI中的查询工作区。 如果您当前无权访问查询工作区,请联系您的组织管理员。
Query Service 凭据
credentials
要查找凭据,请登录Platform UI并选择
查询
从左侧导航中,后面是
凭据
. 有关如何查找登录凭据的完整说明,请阅读
凭据指南
.
一旦您有权访问QS凭据,请打开 Python 所选编辑器。
将凭据存储在 Python
store-credentials
在您的 Python 编辑者,导入
urllib.parse.quote
库并将每个凭据变量另存为参数。 此
urllib.parse
模块提供了一个标准界面,用于将URL字符串分解为组件。 quote函数可替换URL字符串中的特殊字符,以便安全地将数据用作URL组件。 以下是所需代码的示例:
使用 Python的三引号输入多行密码字符串。
创建引擎实例 [#create-engine]
创建变量后,导入
create_engine
函数并创建一个字符串,以在SQLAlchemy中编译和格式化查询服务凭据。 此
create_engine
然后使用函数来构建引擎实例。
create_engine
返回引擎实例。 但是,在调用需要连接的查询之前,它不会打开与查询服务的连接。
使用第三方客户端访问Platform时必须启用SSL。 作为引擎的一部分,请使用
connect_args
输入其他关键字参数。 建议将SSL模式设置为
require
. 请参阅
SSL模式文档
以了解有关接受值的更多信息。
以下示例显示 Python 初始化引擎和连接字符串所需的代码。
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'})