建立与AuraJobV2端点的连接
通过ai_lake.connect()建立与AuraJobV2端点的会话连接,后续所有数据操作均基于该连接进行。
前提条件
- 已安装Aura DataFrame SDK。具体操作,请参见Aura DataFrame SDK获取与安装。
- 已创建AuraJobV2端点,并获取端点名称。具体操作,请参见创建Aura引擎端点。
- 已创建LakeFormation实例,并在该实例中创建Catalog及数据库。具体操作,请参见创建LakeFormation实例并规划元数据。
- 已创建并行文件系统。具体操作,请参见创建并行文件系统。
- 代码中涉及os.getenv()中的参数已配置到环境变量。
- 运行时环境要求Python版本为3.11。
示例
import os
import logging
from aura_frame.multimodal import ai_lake
con = ai_lake.connect(
aura_endpoint=os.getenv("aura_endpoint"), # AuraJobV2端点所在的终端节点(Endpoint)
aura_endpoint_id=os.getenv("aura_endpoint_id"), # AuraJobV2端点ID
aura_endpoint_name=os.getenv("aura_endpoint_name"),# AuraJobV2端点名称
aura_workspace_id=os.getenv("aura_workspace_id"), # 工作空间ID
lf_catalog_name=os.getenv("lf_catalog_name"), # LakeFormation Catalog名称
access_key=os.getenv("access_key"), # 访问密钥ID(AK)
secret_key=os.getenv("secret_key"), # 访问密钥(SK)
default_database="postgres", # LakeFormation数据库名称
use_single_cn_mode=True, # 是否开启单CN模式
logging_level=logging.INFO # 设置日志级别
) ai_lake.connect() 参数信息如下:
| 参数 | 含义 | 类型 | 默认值 |
|---|---|---|---|
| aura_endpoint | 指定连接的终端节点(Endpoint)信息,请参见地区和终端节点。 | str | None |
| aura_endpoint_id | 指定连接的AuraJobV2端点ID。 | str | None |
| aura_endpoint_name | 指定连接的AuraJobV2端点名称。 | str | None |
| aura_workspace_id | 指定连接的AuraJobV2端点所在的工作空间ID。 | str | None |
| lf_catalog_name | 指定连接的LakeFormation Catalog名称。 | str | None |
| access_key | 指定连接的访问密钥ID(AK)。 | str | None |
| secret_key | 指定连接的访问密钥(SK)。 | str | None |
| default_database | 指定连接的默认数据库名称。 | str | None |
| use_single_cn_mode | 表示是否开启单CN模式。 | bool | False |
| logging_level | 日志级别。 | int | logging.INFO |
以下示例展示建立连接并验证连通性的完整流程:
import os
import logging
from aura_frame.multimodal import ai_lake
con = ai_lake.connect(
aura_endpoint=os.getenv("aura_endpoint"), # AuraJobV2端点所在的终端节点(Endpoint),例如:
aura_endpoint_id=os.getenv("aura_endpoint_id"), # AuraJobV2端点ID
aura_endpoint_name=os.getenv("aura_endpoint_name"), # AuraJobV2端点名称
aura_workspace_id=os.getenv("aura_workspace_id"), # 工作空间ID
lf_catalog_name=os.getenv("lf_catalog_name"), # LakeFormation Catalog名称
lf_instance_id=os.getenv("lf_instance_id"), # LakeFormation实例ID
project_id=os.getenv("project_id"), # 项目ID
access_key=os.getenv("access_key"), # 访问密钥ID(AK)
secret_key=os.getenv("secret_key"), # 访问密钥(SK)
default_database="postgres", # 默认数据库
use_single_cn_mode=True, # 是否开启单CN模式
logging_level=logging.INFO, # 设置日志级别
)
try:
with con.sql("select 1;") as cur: # 执行SQL验证连通性
result = cur.fetchall()
print("连接成功, select 1 结果:", result)
finally:
con.close() # 关闭连接