adbc_driver_snowflake¶
低级 API¶
用于 Snowflake 驱动程序的低级 ADBC 绑定。
- class adbc_driver_snowflake.DatabaseOptions(*values)¶
Bases:
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 驱动程序的支持,指定用于 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)¶
Bases:
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。
DBAPI 2.0 API¶
适用于 ADBC Snowflake 驱动程序的 DBAPI 2.0 兼容门面。