Files
2026-07-13 12:32:19 +08:00

2.6 KiB

Snowflake Connection Setup

AWS Glue native Snowflake connection (type SNOWFLAKE, not JDBC). Required for Glue for Spark ETL jobs reading from or writing to Snowflake.

Contents

Connection Type

Use ConnectionType: SNOWFLAKE. Do NOT use a JDBC connection configured with the Snowflake JDBC URL -- that path is for Glue crawlers only and cannot be used by Glue for Spark ETL jobs. The two credential types are stored separately in the Data Catalog.

Authentication Modes

Mode When to use Secret contents
User + password Quick start, non-production username, password
Key-pair (RSA) Production, long-lived workloads username, private_key (PEM, base64)
OAuth 2.0 Enterprise SSO, credential-free for end users client_id, client_secret, refresh_token, token URL

OAuth 2.0 for Glue Snowflake connections was released April 2026. For current Snowflake OAuth setup steps, cite Snowflake's OAuth docs rather than repeating them.

Connection JSON Template

Password-based:

{
  "Name": "snowflake-analytics",
  "ConnectionType": "SNOWFLAKE",
  "ConnectionProperties": {
    "HOST": "<account>.<region>.snowflakecomputing.com",
    "WAREHOUSE": "<warehouse-name>",
    "ROLE": "<role-name>",
    "DATABASE": "<default-database>",
    "SECRET_ID": "<secrets-manager-arn>"
  }
}

The secret must contain snowflakeUser and snowflakePassword keys per Glue's Snowflake connection convention.

Account identifier formats vary -- see Snowflake account identifier docs for the correct form for your region/cloud.

Private sources add PhysicalConnectionRequirements as in jdbc-setup.md.

Snowflake accounts configured for AWS PrivateLink have a different hostname pattern. Glue jobs use the privatelink hostname directly. Configure the Glue connection's security group to allow outbound to the privatelink endpoint. See Snowflake PrivateLink docs.

Further Reading