Implementation:Truera Trulens SnowflakeConnector Init
| Knowledge Sources | |
|---|---|
| Domains | Infrastructure, Snowflake |
| Last Updated | 2026-02-14 08:00 GMT |
Overview
Concrete tool for configuring a Snowflake database connector for enterprise TruLens deployments, provided by the trulens-connectors-snowflake package.
Description
The SnowflakeConnector class provides a database connector that stores TruLens traces and evaluation results in Snowflake. It supports both password-based and Snowpark session-based authentication. When OTEL tracing is enabled, it uses Snowflake event tables for span storage.
Usage
Import and instantiate SnowflakeConnector with your Snowflake credentials, then pass it to TruSession. Use for production deployments requiring shared, scalable storage.
Code Reference
Source Location
- Repository: trulens
- File: src/connectors/snowflake/trulens/connectors/snowflake/connector.py
- Lines: L55-138
Signature
class SnowflakeConnector(DBConnector):
def __init__(
self,
account: Optional[str] = None,
user: Optional[str] = None,
password: Optional[str] = None,
database: Optional[str] = None,
schema: Optional[str] = None,
warehouse: Optional[str] = None,
role: Optional[str] = None,
protocol: Optional[str] = "https",
port: Optional[int] = 443,
host: Optional[str] = None,
snowpark_session: Optional[Session] = None,
snowpark_session_creator: Optional[Callable[[], Session]] = None,
init_server_side: bool = False,
init_server_side_with_staged_packages: bool = False,
init_sis_dashboard: bool = False,
database_redact_keys: bool = False,
database_prefix: Optional[str] = None,
database_args: Optional[Dict[str, Any]] = None,
database_check_revision: bool = True,
use_account_event_table: bool = True,
):
"""
Args:
account: Snowflake account identifier.
user: Snowflake username.
password: Snowflake password.
database: Database name.
schema: Schema name.
warehouse: Compute warehouse name.
role: Snowflake role.
snowpark_session: Existing Snowpark session (mutually exclusive with credentials).
init_server_side: Enable server-side feedback evaluation.
use_account_event_table: Use Snowflake event tables for OTEL spans (default: True).
"""
Import
from trulens.connectors.snowflake import SnowflakeConnector
I/O Contract
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
| account | str | No | Snowflake account identifier |
| user | str | No | Snowflake username |
| password | str | No | Snowflake password |
| database | str | No | Database name |
| schema | str | No | Schema name |
| warehouse | str | No | Compute warehouse |
| role | str | No | Snowflake role |
| snowpark_session | Session | No | Existing Snowpark session (alternative to credentials) |
| init_server_side | bool | No | Enable server-side evaluation (default: False) |
| use_account_event_table | bool | No | Use event table for OTEL spans (default: True) |
Outputs
| Name | Type | Description |
|---|---|---|
| return | SnowflakeConnector | Configured connector for passing to TruSession |
Usage Examples
Password-Based Connection
from trulens.connectors.snowflake import SnowflakeConnector
from trulens.core.session import TruSession
connector = SnowflakeConnector(
account="my_account",
user="my_user",
password="my_password",
database="TRULENS_DB",
schema="TRULENS_SCHEMA",
warehouse="COMPUTE_WH",
role="TRULENS_ROLE",
)
session = TruSession(connector=connector)
Snowpark Session
from snowflake.snowpark import Session
from trulens.connectors.snowflake import SnowflakeConnector
snowpark = Session.builder.configs({...}).create()
connector = SnowflakeConnector(snowpark_session=snowpark)
session = TruSession(connector=connector)