domino logo
Domino API
Domino Data API
Install the Data APIAuthentication
Data Source Use Cases
Tabular StoreObject StoreWrite to Local FileCustom AuthenticationConfiguration Override
TrainingSets Use Cases
Create TrainingSetsRetrieve TrainingSetsUpdate TrainingSetDelete TrainingSets
Python Wrapper for Domino APIDomino R Package
domino logo
About Domino
Domino Data LabKnowledge BaseData Science BlogTraining
Domino APIs
>
Domino Data API
>
Data Source Use Cases
>
Configuration Override

Configuration Override

Permanent vs local change

Datasource configurations are set in the Data/Datasource panel of the Domino UI. You can update it there for any permanent change.

Some configuration attributes can be overridden locally in the API. Each datasource type config is described in the Classes section below.

Usage

You can create a configuration override with any of the config classes and update your datasource entity:

from domino.data_sources import DataSourceClient, SnowflakeConfig

snowflake = DataSourceClient().get_datasource("snowflake-prod")

# Build a override config with a different warehouse than configured in Domino
config_xxl = SnowflakeConfig(warehouse="compute-xxl")

# Local update with no permanent change
snowflake.update(config=config_xxl)
res = snowflake.query("SELECT COUNT(*) FROM very_large_table")

# Override can also be used for temporary credentials
snowflake.update(config=SnowflakeConfig(username="admin", password="<password>"))
res = snowflake.query("SELECT secret_data FROM secret_table LIMIT 10")

To remove the configuration override, simply reset it:

from domino.data_sources import DataSourceClient, SnowflakeConfig

snowflake = DataSourceClient().get_datasource("snowflake-prod")
# Update to dev database
snowflake.update(SnowflakeConfig(database="dev"))

# Reset to default values
snowflake.reset_config()
res = snowflake.query("SELECT * FROM prod_table")

Classes

ADLS

class domino_data.data_sources.ADLSConfig(*, container=None, access_key=None)[source]

ADLS datasource configuration.

  • access_key: Optional[str]

  • container: Optional[str]

BigQuery

classdomino_data.data_sources.BigQueryConfig(*, gcp_project_id=None)[source]

BigQuery datasource configuration.

  • gcp_project_id: Optional[str]

GCS

class domino_data.data_sources.GCSConfig(*, bucket=None, private_key_json=None)[source]

GCS datasource configuration.

  • bucket: Optional[str]

  • private_key_json: Optional[str]

GenericS3

class domino_data.data_sources.GenericS3Config(*, bucket=None, host=None, region=None, aws_access_key_id=None, aws_secret_access_key=None)[source]

Generic S3 datasource configuration.

  • aws_access_key_id: Optional[str]

  • aws_secret_access_key: Optional[str]

  • bucket: Optional[str]

  • host: Optional[str]

  • region: Optional[str]

MySQL

class domino_data.data_sources.MySQLConfig(*, database=None, password=None, username=None, aws_access_key_id=None, aws_secret_access_key=None, aws_session_token=None)[source]

MySQL datasource configuration.

  • aws_access_key_id: Optional[str]

  • aws_secret_access_key: Optional[str]

  • aws_session_token: Optional[str]

  • database: Optional[str]

  • password: Optional[str]

  • username: Optional[str]

Oracle

class domino_data.data_sources.OracleConfig(*, database=None, password=None, username=None)[source]

Oracle datasource configuration.

  • database: Optional[str]

  • password: Optional[str]

  • username: Optional[str]

PostgreSQL

class domino_data.data_sources.PostgreSQLConfig(*, database=None, password=None, username=None, aws_access_key_id=None, aws_secret_access_key=None, aws_session_token=None)[source]

PostgreSQL datasource configuration.

  • aws_access_key_id: Optional[str]

  • aws_secret_access_key: Optional[str]

  • aws_session_token: Optional[str]

  • database: Optional[str]

  • password: Optional[str]

  • username: Optional[str]

Redshift

class domino_data.data_sources.RedshiftConfig(*, database=None, password=None, username=None, aws_access_key_id=None, aws_secret_access_key=None, aws_session_token=None)[source]

Redshift datasource configuration.

  • aws_access_key_id: Optional[str]

  • aws_secret_access_key: Optional[str]

  • aws_session_token: Optional[str]

  • database: Optional[str]

  • password: Optional[str]

  • username: Optional[str]

S3

classd omino_data.data_sources.S3Config(profile=None, *, bucket=None, region=None, aws_access_key_id=None, aws_secret_access_key=None, aws_session_token=None)[source]
  • S3 datasource configuration.

  • aws_access_key_id: Optional[str]

  • aws_secret_access_key: Optional[str]

  • aws_session_token: Optional[str]

  • bucket: Optional[str]

  • profile: Optional[str]

  • region: Optional[str]

SQLServer

class domino_data.data_sources.SQLServerConfig(*, database=None, password=None, username=None)[source]

SQL Server datasource configuration.

  • database: Optional[str]

  • password: Optional[str]

  • username: Optional[str]

Snowflake

class domino_data.data_sources.SnowflakeConfig(*, database=None, schema=None, warehouse=None, role=None, password=None, username=None, token=None)[source]

Snowflake datasource configuration.

  • database: Optional[str]

  • password: Optional[str]

  • role: Optional[str]

  • schema: Optional[str]

  • token: Optional[str]

  • username: Optional[str]

  • warehouse: Optional[str]

Domino Data LabKnowledge BaseData Science BlogTraining
Copyright © 2022 Domino Data Lab. All rights reserved.