docs/integrations/prefect-dbt/api-ref/prefect_dbt-cli-credentials.mdx
prefect_dbt.cli.credentialsModule containing credentials for interacting with dbt CLI
target_configs_discriminator <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/integrations/prefect-dbt/prefect_dbt/cli/credentials.py#L26" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>target_configs_discriminator(v: Any) -> str
Discriminator function for target configs. Returns the block type slug.
DbtCliProfile <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/integrations/prefect-dbt/prefect_dbt/cli/credentials.py#L38" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>Profile for use across dbt CLI tasks and flows.
Attributes:
name: Profile name used for populating profiles.yml.target: The default target your dbt project will use.target_configs: Target configs contain credentials and
settings, specific to the warehouse you're connecting to.
To find valid keys, head to the Available adapters page and
click the desired adapter's "Profile Setup" hyperlink.global_configs: Global configs control
things like the visual output of logs, the manner
in which dbt parses your project, and what to do when
dbt finds a version mismatch or a failing model.
Valid keys can be found here.Examples:
Load stored dbt CLI profile:
from prefect_dbt.cli import DbtCliProfile
dbt_cli_profile = DbtCliProfile.load("BLOCK_NAME").get_profile()
Get a dbt Snowflake profile from DbtCliProfile by using SnowflakeTargetConfigs:
from prefect_dbt.cli import DbtCliProfile
from prefect_dbt.cli.configs import SnowflakeTargetConfigs
from prefect_snowflake.credentials import SnowflakeCredentials
from prefect_snowflake.database import SnowflakeConnector
credentials = SnowflakeCredentials(
user="user",
password="password",
account="account.region.aws",
role="role",
)
connector = SnowflakeConnector(
schema="public",
database="database",
warehouse="warehouse",
credentials=credentials,
)
target_configs = SnowflakeTargetConfigs(
connector=connector
)
dbt_cli_profile = DbtCliProfile(
name="jaffle_shop",
target="dev",
target_configs=target_configs,
)
profile = dbt_cli_profile.get_profile()
Get a dbt Redshift profile from DbtCliProfile by using generic TargetConfigs:
from prefect_dbt.cli import DbtCliProfile
from prefect_dbt.cli.configs import GlobalConfigs, TargetConfigs
target_configs_extras = dict(
host="hostname.region.redshift.amazonaws.com",
user="username",
password="password1",
port=5439,
dbname="analytics",
)
target_configs = TargetConfigs(
type="redshift",
schema="schema",
threads=4,
extras=target_configs_extras
)
dbt_cli_profile = DbtCliProfile(
name="jaffle_shop",
target="dev",
target_configs=target_configs,
)
profile = dbt_cli_profile.get_profile()
Methods:
get_profile <sup><a href="https://github.com/PrefectHQ/prefect/blob/main/src/integrations/prefect-dbt/prefect_dbt/cli/credentials.py#L155" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>get_profile(self) -> Dict[str, Any]
Returns the dbt profile, likely used for writing to profiles.yml.
Returns: