adbc_driver_flightsql

底层 API

Flight SQL 驱动程序的底层 ADBC 绑定。

class adbc_driver_flightsql.ConnectionOptions(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Flight SQL 驱动程序特有的连接选项。

OPTION_BOOL_SESSION_OPTION_PREFIX = 'adbc.flight.sql.session.optionbool.'

获取或设置布尔值会话选项。

OPTION_ERASE_SESSION_OPTION_PREFIX = 'adbc.flight.sql.session.optionerase.'

擦除会话选项(使用 "" 作为值)。

OPTION_SESSION_OPTIONS = 'adbc.flight.sql.session.options'

获取所有会话选项作为 JSON 键值 Blob。

OPTION_SESSION_OPTION_PREFIX = 'adbc.flight.sql.session.option.'

获取或设置会话选项。

OPTION_STRING_LIST_SESSION_OPTION_PREFIX = 'adbc.flight.sql.session.optionstringlist.'

获取或设置字符串列表值会话选项作为 JSON 数组。

RPC_CALL_HEADER_PREFIX = 'adbc.flight.sql.rpc.call_header.'

向所有传出的请求添加任意标头。

此选项应为要添加的标头的名称添加前缀(即,应像 f"{ConnectionOptions.RPC_CALL_HEADER_PREFIX}x-my-header" 那样使用)。

覆盖通过等效数据库选项设置的任何标头。

TIMEOUT_FETCH = 'adbc.flight.sql.rpc.timeout_seconds.fetch'

在获取数据的调用上设置超时(以浮点秒为单位)。

这对应于 Flight RPC DoGet 调用。

TIMEOUT_QUERY = 'adbc.flight.sql.rpc.timeout_seconds.query'

在执行查询的调用上设置超时(以浮点秒为单位)。

这对应于 Flight RPC GetFlightInfo 调用。

TIMEOUT_UPDATE = 'adbc.flight.sql.rpc.timeout_seconds.update'

在上传或更新数据的调用上设置超时(以浮点秒为单位)。

class adbc_driver_flightsql.DatabaseOptions(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Flight SQL 驱动程序特有的数据库选项。

AUTHORITY = 'adbc.flight.sql.client_option.authority'

身份验证握手中的服务器名称

AUTHORIZATION_HEADER = 'adbc.flight.sql.authorization_header'

请求要使用的授权标头。

MTLS_CERT_CHAIN = 'adbc.flight.sql.client_option.mtls_cert_chain'

启用 mTLS 并使用这些 PEM 编码的证书。

MTLS_PRIVATE_KEY = 'adbc.flight.sql.client_option.mtls_private_key'

启用 mTLS 并使用此 PEM 编码的私钥。

RPC_CALL_HEADER_PREFIX = 'adbc.flight.sql.rpc.call_header.'

向所有传出的请求添加任意标头。

此选项应为要添加的标头的名称添加前缀(即,应像 f"{DatabaseOptions.RpcCallHeaderPrefix}.x-my-header" 那样使用)。

TIMEOUT_FETCH = 'adbc.flight.sql.rpc.timeout_seconds.fetch'

在获取数据的调用上设置超时(以浮点秒为单位)。

这对应于 Flight RPC DoGet 调用。

TIMEOUT_QUERY = 'adbc.flight.sql.rpc.timeout_seconds.query'

在执行查询的调用上设置超时(以浮点秒为单位)。

这对应于 Flight RPC GetFlightInfo 调用。

TIMEOUT_UPDATE = 'adbc.flight.sql.rpc.timeout_seconds.update'

在上传或更新数据的调用上设置超时(以浮点秒为单位)。

TLS_OVERRIDE_HOSTNAME = 'adbc.flight.sql.client_option.tls_override_hostname'

覆盖用于 TLS 的主机名。

TLS_ROOT_CERTS = 'adbc.flight.sql.client_option.tls_root_certs'

对 TLS 使用这些 PEM 编码的根证书。

TLS_SKIP_VERIFY = 'adbc.flight.sql.client_option.tls_skip_verify'

不要验证服务器的 TLS 证书。

WITH_BLOCK = 'adbc.flight.sql.client_option.with_block'

阻塞并等待连接建立。

启用 cookie 中间件。默认情况下禁用(“false”)

WITH_MAX_MSG_SIZE = 'adbc.flight.sql.client_option.with_max_msg_size'

设置最大的 gRPC 消息大小(以字节为单位)。默认值为 16 MiB。

class adbc_driver_flightsql.StatementOptions(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Flight SQL 驱动程序特有的语句选项。

LAST_FLIGHT_INFO = 'adbc.flight.sql.statement.exec.last_flight_info'

最新的 FlightInfo 值。

线程安全。在使用增量执行时,对于高级客户端来说,这很有用,客户端可能希望检查来自服务的最新 FlightInfo,但不等待 execute_partitions 返回。(服务可能会发送具有进度/应用程序元数据的更新后的 FlightInfo,但 execute_partitions 只有在有新的端点时才会返回。)

QUEUE_SIZE = 'adbc.rpc.result_queue_size'

每个分区要排队的批次数量。默认为 5。

这控制我们在结果集上预读多少内容。

RPC_CALL_HEADER_PREFIX = 'adbc.flight.sql.rpc.call_header.'

向所有传出的请求添加任意标头。

此选项应为要添加的标头的名称添加前缀(即,应像 f"{ConnectionOptions.RPC_CALL_HEADER_PREFIX}x-my-header" 那样使用)。

覆盖通过等效数据库或连接选项设置的任何标头。

SUBSTRAIT_VERSION = 'adbc.flight.sql.substrait.version'

设置 Flight SQL 请求中传递的 Substrait 版本。

大多数服务器不会使用此功能,因为在最初将此功能添加到 Flight SQL 之后,Substrait 规范已更新为将版本嵌入到计划本身中。

TIMEOUT_FETCH = 'adbc.flight.sql.rpc.timeout_seconds.fetch'

在获取数据的调用上设置超时(以浮点秒为单位)。

这对应于 Flight RPC DoGet 调用。

TIMEOUT_QUERY = 'adbc.flight.sql.rpc.timeout_seconds.query'

在执行查询的调用上设置超时(以浮点秒为单位)。

这对应于 Flight RPC GetFlightInfo 调用。

TIMEOUT_UPDATE = 'adbc.flight.sql.rpc.timeout_seconds.update'

在上传或更新数据的调用上设置超时(以浮点秒为单位)。

adbc_driver_flightsql.connect(uri: str, db_kwargs: Dict[str, str] | None = None) AdbcDatabase

创建到 Flight SQL 后端的低级 ADBC 连接。

参数:
uristr

要连接到的 URI。

db_kwargsdict, 可选

初始数据库连接参数。

DBAPI 2.0 API

ADBC Arrow Flight SQL 驱动程序的 DBAPI 2.0 兼容外墙。

adbc_driver_flightsql.dbapi.connect(uri: str, db_kwargs: Dict[str, str] | None = None, conn_kwargs: Dict[str, str] | None = None, **kwargs) Connection

通过 ADBC 连接到 Flight SQL 后端。

参数:
uristr

要连接到的 URI。

db_kwargsdict, 可选

初始数据库连接参数。

conn_kwargsdict, 可选

连接特定的参数。(ADBC 区分多个“连接”对象之间共享的“数据库”对象。)