adbc_driver_snowflake

低级 API

Snowflake 驱动程序的低级 ADBC 绑定。

class adbc_driver_snowflake.DatabaseOptions(*values)

基类:Enum

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

ACCOUNT = 'adbc.snowflake.sql.account'
APPLICATION_NAME = 'adbc.snowflake.sql.client_option.app_name'
AUTH_OKTA_URL = 'adbc.snowflake.sql.client_option.okta_url'

指定用于 OKTA 认证的 OKTAUrl

AUTH_TOKEN = 'adbc.snowflake.sql.client_option.auth_token'

指定用于 OAuth 或其他形式认证的令牌

AUTH_TYPE = 'adbc.snowflake.sql.auth_type'

根据 Snowflake 驱动程序支持的认证类型指定要使用的认证类型。默认为“auth_snowflake”(使用 AuthType.* 常量指定所需的认证类型)。

CLIENT_IDENTITY_PROVIDER = 'adbc.snowflake.sql.client_option.identity_provider'

指定用于 WIF 认证的工作负载身份提供者。

CLIENT_REQUEST_MFA_TOKEN = 'adbc.snowflake.sql.client_option.cache_mfa_token'

当为 true 时,MFA 令牌会缓存到凭据管理器中。Windows/OSX 默认为 true,Linux 默认为 false

CLIENT_STORE_TEMP_CRED = 'adbc.snowflake.sql.client_option.store_temp_creds'

当为 true 时,ID 令牌会缓存到凭据管理器中。Windows/OSX 默认为 true,Linux 默认为 false

CLIENT_TIMEOUT = 'adbc.snowflake.sql.client_option.client_timeout'

网络往返 + 读取 HTTP 响应的超时时间,使用 http://pkg.go.dev/time#ParseDuration 格式,例如“300ms”、“1.5s”或“1m30s”。ParseDuration 接受负值,但将使用其绝对值。

DATABASE = 'adbc.snowflake.sql.db'
DISABLE_TELEMETRY = 'adbc.snowflake.sql.client_option.disable_telemetry'
HOST = 'adbc.snowflake.sql.uri.host'
JWT_EXPIRE_TIMEOUT = 'adbc.snowflake.sql.client_option.jwt_expire_timeout'

JWT 超时后过期,使用 http://pkg.go.dev/time#ParseDuration 格式,例如“300ms”、“1.5s”或“1m30s”。ParseDuration 接受负值,但将使用其绝对值。

JWT_PRIVATE_KEY = 'adbc.snowflake.sql.client_option.jwt_private_key'

指定用于签署 JWT 的 RSA 私钥,应指向包含要加载的 PKCS1 私钥的文件。通常以“RSA PRIVATE KEY”类型的 PEM 块编码

JWT_PRIVATE_KEY_PASSWORD = 'adbc.snowflake.sql.client_option.jwt_private_key_pkcs8_password'

用于 JWT 认证的加密私钥的密码。

JWT_PRIVATE_KEY_VALUE = 'adbc.snowflake.sql.client_option.jwt_private_key_pkcs8_value'

解析 PKCS #8, ASN.1 DER 格式的私钥。指定私钥值,无需从文件系统加载。

KEEP_SESSION_ALIVE = 'adbc.snowflake.sql.client_option.keep_session_alive'

登录重试超时(不包括网络往返和读取 HTTP 响应),使用 http://pkg.go.dev/time#ParseDuration 格式,例如“300ms”、“1.5s”或“1m30s”。ParseDuration 接受负值,但将使用其绝对值。启用会话即使在连接关闭后也能保持活动状态

LOGIN_TIMEOUT = 'adbc.snowflake.sql.client_option.login_timeout'
OCSP_FAIL_OPEN_MODE = 'adbc.snowflake.sql.client_option.ocsp_fail_open_mode'
PORT = 'adbc.snowflake.sql.uri.port'
PROTOCOL = 'adbc.snowflake.sql.uri.protocol'
REGION = 'adbc.snowflake.sql.region'
REQUEST_TIMEOUT = 'adbc.snowflake.sql.client_option.request_timeout'

请求重试超时(不包括网络往返和读取 HTTP 响应),使用 http://pkg.go.dev/time#ParseDuration 格式,例如“300ms”、“1.5s”或“1m30s”。ParseDuration 接受负值,但将使用其绝对值。

ROLE = 'adbc.snowflake.sql.role'
SCHEMA = 'adbc.snowflake.sql.schema'
SSL_SKIP_VERIFY = 'adbc.snowflake.sql.client_option.tls_skip_verify'
USE_HIGH_PRECISION = 'adbc.snowflake.sql.client_option.use_high_precision'

控制用于 FIXED 数据类型的 NUMBER 列的数据类型。默认情况下,此功能已启用,NUMBER 列将全部作为 Decimal128 列返回,使用 NUMBER 类型的精度和比例。如果禁用,小数位数为 0 的定点数据类型将作为 Int64 列返回,非零小数位数将作为 Float64 列返回。此选项必须设置为“true”或“false”。

WAREHOUSE = 'adbc.snowflake.sql.warehouse'
class adbc_driver_snowflake.StatementOptions(*values)

基类:Enum

Snowflake 驱动程序特定的语句选项。

INGEST_COPY_CONCURRENCY = 'adbc.snowflake.statement.ingest_copy_concurrency'

批量数据摄取并行运行 COPY 操作的最大数量。通过在文件仍在上传时执行 COPY 查询来优化批量数据摄取性能,Snowflake COPY 速度与数据仓库大小成比例。因此,较小的数据仓库可能需要更高的设置,以防止长时间运行的 COPY 查询阻塞其他查询的加载。默认值为 4。

INGEST_TARGET_FILE_SIZE = 'adbc.snowflake.statement.ingest_target_file_size'

摄取期间写入的 Parquet 文件的近似大小。由于页脚/元数据的大小,实际大小会略大。不考虑批次大小,因此如果输入流产生非常大的批次,您将获得类似大小的 Parquet 文件。默认值为 10MB

INGEST_UPLOAD_CONCURRENCY = 'adbc.snowflake.statement.ingest_upload_concurrency'

并行上传的 Parquet 文件数量。更高的并发性可以缓解拥塞并利用可用的网络带宽,但会增加内存使用。不能为负数。默认为 8

INGEST_WRITER_CONCURRENCY = 'adbc.snowflake.statement.ingest_writer_concurrency'

批量摄取并行写入的 Parquet 文件数量。默认为 NumCPU

PREFETCH_CONCURRENCY = 'adbc.snowflake.rpc.prefetch_concurrency'

结果集预取并发流的数量。默认为 10。

QUERY_TAG = 'adbc.snowflake.statement.query_tag'

查询的标识符,可用于在查询历史记录中查找查询。使用空字符串取消设置标签。

RESULT_QUEUE_SIZE = 'adbc.rpc.result_queue_size'

一次排队的批次数量。默认为 200。

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

创建到 Snowflake 的低级 ADBC 连接。

参数:
uristr

要连接的 URI。

db_kwargsdict, 可选

初始数据库连接参数。

DBAPI 2.0 API

ADBC Snowflake 驱动程序的 DBAPI 2.0 兼容门面。

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

通过 ADBC 连接到 Snowflake。

参数:
uristr, 可选

要连接的 URI。

db_kwargsdict, 可选

初始数据库连接参数。

conn_kwargsdict, 可选

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