adbc_driver_flightsql

低级 API

Flight SQL 驱动程序的低级 ADBC 绑定。

class adbc_driver_flightsql.ConnectionOptions(*values)

基类: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(*values)

基类: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'

将这些 PEM 编码的根证书用于 TLS。

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(*values)

基类:Enum

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

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

最新的 FlightInfo 值。

线程安全。在使用增量执行时最有用,其中高级客户端可能希望检查服务的最新 FlightInfo,但无需等待 execute_partitions 返回。(服务可能会发送带有进度/app_metadata 值更新的 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 版本。

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

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 区分多个“连接”对象共享的“数据库”对象。)