Skip to main content
Version: 0.17.23

SnowflakeDatasource

class great_expectations.datasource.fluent.SnowflakeDatasource(*, type: Literal['snowflake'] = 'snowflake', name: str, id: Optional[uuid.UUID] = None, assets: List[Union[great_expectations.datasource.fluent.sql_datasource.TableAsset, great_expectations.datasource.fluent.sql_datasource.QueryAsset][Union[great_expectations.datasource.fluent.sql_datasource.TableAsset, great_expectations.datasource.fluent.sql_datasource.QueryAsset]]] = [], connection_string: Optional[Union[great_expectations.datasource.fluent.config_str.ConfigStr, great_expectations.datasource.fluent.snowflake_datasource.SnowflakeDsn]] = None, create_temp_table: bool = True, kwargs: Dict[str, Union[great_expectations.datasource.fluent.config_str.ConfigStr, Any]] = , account: Optional[str] = None, user: Optional[str] = None, password: Optional[Union[great_expectations.datasource.fluent.config_str.ConfigStr, str]] = None, database: Optional[str] = None, schema: Optional[str] = None, warehouse: Optional[str] = None, role: Optional[str] = None, numpy: bool = False)#

Adds a Snowflake datasource to the data context.

Parameters:
  • name – The name of this Snowflake datasource.

  • connection_string – The SQLAlchemy connection string used to connect to the Snowflake database. For example: “snowflake://<user_login_name>:<password>@<account_identifier>”

  • assets – An optional dictionary whose keys are TableAsset or QueryAsset names and whose values are TableAsset or QueryAsset objects.

add_query_asset(name: str, query: str, order_by: Optional[SortersDefinition] = None, batch_metadata: Optional[BatchMetadata] = None) QueryAsset#

Adds a query asset to this datasource.

Parameters:
  • name – The name of this table asset.

  • query – The SELECT query to selects the data to validate. It must begin with the “SELECT”.

  • order_by – A list of Sorters or Sorter strings.

  • batch_metadata – BatchMetadata we want to associate with this DataAsset and all batches derived from it.

Returns:

The query asset that is added to the datasource. The type of this object will match the necessary type for this datasource. eg, it could be a QueryAsset or a SqliteQueryAsset.

add_table_asset(name: str, table_name: str = '', schema_name: Optional[str] = None, order_by: Optional[SortersDefinition] = None, batch_metadata: Optional[BatchMetadata] = None) TableAsset#

Adds a table asset to this datasource.

Parameters:
  • name – The name of this table asset.

  • table_name – The table where the data resides.

  • schema_name – The schema that holds the table.

  • order_by – A list of Sorters or Sorter strings.

  • batch_metadata – BatchMetadata we want to associate with this DataAsset and all batches derived from it.

Returns:

The table asset that is added to the datasource. The type of this object will match the necessary type for this datasource. eg, it could be a TableAsset or a SqliteTableAsset.