
# 模块接口
#### 场景描述
对于需要使用Python进行数据分析的场景，如果用户希望利用Ibis-Fabric SDK与Fabric SQL进行交互，会面临如何实现与Python数据库API标准兼容以及如何高效处理复合类型数据的挑战。现有解决方案可能无法直接支持PEP 249标准接口，导致Ibis-Fabric SDK无法像对接其他数据库驱动一样无缝适配Fabric SQL Python connector API。此外，当前复合类型数据以字符串形式存储在Arrow格式中，无法充分发挥Arrow格式在处理struct、list、map等复合类型时的优势，同时可能导致结果集文件过大。为了解决这些问题，需要通过支持PEP 249标准接口和内核生成Arrow格式的复合类型结果集，实现Ibis-Fabric SDK与Fabric SQL的高效对接，提升数据处理性能并优化存储效率。
#### 约束限制
Ibis-Fabric SDK对接Python Connector API功能约束限制如下：
复合类型写入仅支持产生结果集的语句。
要通过连接对象访问Fabric SQL服务，首先需要引入FabricSQLConnector模块并调用其连接对象的构造函数。
- 构造函数：connect(endpoint, workspace_id, request, accessKey, secretKey, token, securityToken, timeout, proxies, verify, concurrent_max_worker, from_obs)
- 参数说明：
  表1connect接口参数 
  | 参数名称                  | 参数类型           | 是否必选 | 描述                                       |
  |:---|:---|:---|:---|
  | endpoint              | str            | 是    | Fabric SQL提供的服务地址。                       |
  | workspace_id          | str            | 是    | 用户工作空间ID。                                |
  | request               | SessionRequest | 是    | Session请求信息。                             |
  | accessKey             | str            | 是    | 接入键标识，有永久和临时两种。                          |
  | secretKey             | str            | 是    | 安全接入键，有永久和临时两种。                          |
  | token                 | str            | 否    | IAM用户Token。                              |
  | securityToken         | str            | 否    | 临时访问密钥token，只有当使用临时AK/SK时才填写，否则请设置为None。 |
  | timeout               | float          | 否    | 超时时间。                                    |
  | proxies               | dict           | 否    | 使用代理，如果为None则使用系统代理。                     |
  | verify                | bool           | 否    | 是否使用证书认证，默认为False。                       |
  | concurrent_max_worker | int            | 否    | 获取结果集时并发线程数，默认值为1。                       |
  | from_obs              | bool           | 否    | 指定是否通过OBS SDK获取结果集，默认值为True。             |
     
  
- 功能描述：传入相关连接参数，返回一个连接对象Connection。
![](https://support.huaweicloud.com/sdkreference-fabric/public_sys-resources/caution_3.0-zh-cn.png)
当用户提供token时，会优先使用token方式进行认证，如果用户未提供token，则使用AK/SK方式进行认证。
