更新时间:2026-01-06 GMT+08:00
分享

创建Session

  • 功能介绍:Session(会话)表示一个连接,用户可以通过一个Session执行SQL请求,并通过该Session查询请求结果。该方法可以通过用户提供的工作空间id和端点id创建一个Session,可以设置Session连接的lakeformation实例信息和catalog名称。
  • 方法定义:createSession(workspaceId, request, timeout)
  • 参数说明:
    表1 createSession参数说明

    参数名称

    参数类型

    是否必选

    描述

    workspaceId

    str

    必选

    用户创建的Fabric的工作空间的ID。

    request

    SessionRequest

    必选

    Session请求信息。

    timeout

    float

    可选

    请求超时时间。

    表2 SessionRequest

    参数名称

    参数类型

    是否必选

    描述

    endpoint_id

    str

    必选

    执行端点ID。

    instance_id

    str

    必选

    LakeFormation实例ID。

    catalog_name

    str

    必选

    LakeFormation Catalog名称。

    wait_timeout

    str

    可选

    创建Session排队等待时间,单位秒,取值范围[300,7200],有值则为异步创建,不填则为同步创建。

  • 响应体说明:返回SessionResponse
    表3 SessionResponse

    参数名称

    参数类型

    描述

    session_id

    str

    创建的Session的ID。

    status

    str

    该Session的状态。

    表4 status取值

    状态值

    描述

    RUNNING

    运行中

    CLOSED

    已关闭

    WAITING

    等待中

    CREATING

    创建中

    FAIL

    失败

  • 示例代码:
    import os
    from fabricsql.SQLClient import FabricSQLClient
    from fabricsql.SQLRequests import SessionRequest, QueryRequest
    from fabricsql.response.SessionResponses import SessionResponse
    if __name__ == "__main__":
        # AK/SK属于敏感信息,推荐通过环境变量方式获取,避免直接明文编码在程序中
        endpoint = 'xxxxxxxxxxxxxx'
        accessKey = 'xxxxxxxxxxxxxx'
        secretKey = 'xxxxxxxxxxxxxxx'
        workspace_id = 'xxxxxxxxxxxxx'
        client = FabricSQLClient(endpoint, accessKey, secretKey)
        # 创建一个Session
        request = SessionRequest()
        request.endpoint_id = 'xxxxx'
        request.instance_id = 'xxxxxx'
        request.catalog = 'xxxxxxxxx'
        response = client.createSession(workspace_id, request)
        print(response.session_id)
        print(response.status)

相关文档