Jump to content

Connect Leeroopedia MCP: Equip your AI agents to search best practices, build plans, verify code, diagnose failures, and look up hyperparameter defaults.

Implementation:Astronomer Astronomer cosmos SnowflakePrivateKeyProfileMapping

From Leeroopedia


Knowledge Sources
Domains Profile_Mapping, Snowflake
Last Updated 2026-02-07 17:00 GMT

Overview

Concrete tool for mapping Airflow snowflake connections to dbt snowflake profiles provided by astronomer-cosmos.

Description

The SnowflakePrivateKeyProfileMapping maps an Airflow snowflake connection to a dbt snowflake profile. It translates connection parameters (host, login, password, schema, port, extras) into the YAML structure that dbt expects in `profiles.yml`. This variant uses an unencrypted private key for authentication.

Usage

Use this profile mapping when configuring Cosmos to run dbt commands against a Snowflake backend. Assign it to `ProfileConfig(profile_mapping=...)` when the target Airflow connection uses the `snowflake` connection type with private key authentication.

Code Reference

Source Location

Signature

class SnowflakePrivateKeyProfileMapping(SnowflakeBaseProfileMapping):
    airflow_connection_type: str = "snowflake"
    dbt_profile_type: str = "snowflake"

Import

from cosmos.profiles.snowflake import SnowflakePrivateKeyProfileMapping

I/O Contract

Inputs

Name Type Required Description
conn_id str Yes Airflow connection ID for Snowflake

Outputs

Name Type Description
profile dict dbt profile YAML dictionary
env_vars dict Environment variables for secret fields

Usage Examples

from cosmos.config import ProfileConfig
from cosmos.profiles.snowflake import SnowflakePrivateKeyProfileMapping

profile_config = ProfileConfig(
    profile_name="default",
    target_name="dev",
    profile_mapping=SnowflakePrivateKeyProfileMapping(conn_id="snowflake_default"),
)

Related Pages

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment