Skip to main content

LocalStack Extension: Snowflake

Project description

LocalStack Snowflake Extension

This LocalStack extension provides basic emulation of the Snowflake API.

⚠️ Please note that this extension is experimental and still under development.

Prerequisites

  • LocalStack Pro
  • Docker
  • Python

Installation

Before installing the extension, make sure you're logged into LocalStack. If not, log in using the following command:

localstack login

You can then install this extension using the following command:

localstack extensions install localstack-extension-snowflake

Usage

Once the extension is installed, configure your Snowflake client connector to point to the API endpoint https://snowflake.localhost.localstack.cloud. For example, when using the Snowflake Python connector:

client = snowflake.connector.connect(
    user="test",
    password="test",
    account="test",
    host="snowflake.localhost.localstack.cloud",
)
client.cursor().execute("...")

Change Log

  • 0.1.17: Support creation/deletion of stages; add IS_ARRAY function; remove DuckDB based DB engine; refactor codebase to use QueryProcessor interface; enhance proper handling of column names for table aliases
  • 0.1.16: Add support for SHOW PROCEDURES and SHOW IMPORTED KEYS; add basic support for session parameters
  • 0.1.15: Fix result type conversation for GET_PATH(..) util function
  • 0.1.14: Enhance parity around SHOW TABLES/OBJECTS/COLUMNS queries; add more array util functions; fix STRING_AGG for different DISTINCT/GROUP combinations
  • 0.1.13: Support some CURRENT_* functions; enhance LISTAGG for distinct values; add test for JS UDFs with exports
  • 0.1.12: Cast params for string_agg/listagg; more parity fixes for upper/lowercase names
  • 0.1.11: Enhance parity for array aggregation functions; enhance parity around subqueries and timestamp timezones; add logic to keep track of case-sensitive db/table identifiers
  • 0.1.10: Add query transforms for CLUSTER BY; add SF_S3_ENDPOINT config; more parity fixes
  • 0.1.9: Add support for Python UDFs; enhance parity around CREATE OR REPLACE FUNCTION queries; add analytics setup
  • 0.1.8: Add SF_LOG config to enable request/response trace logging
  • 0.1.7: Add initial support for Snowflake JavaScript UDFs; enhance parity around responses for DB/table creation; enhancements for Snowflake streaming logic
  • 0.1.6: Introduce session state to retain DB/schema across queries; support async queries and result_scan(..)
  • 0.1.5: Enhance parity around DESCRIBE TABLE results; support MIN_BY/MAX_BY aggregate functions
  • 0.1.4: Add logic to parse and replace DB references in queries
  • 0.1.3: Add DBEngine abstraction, experimental support for duckdb; enhance support for JSON queries
  • 0.1.2: Add logic to ingest a CSV file from a Snowflake stage into a table
  • 0.1.1: Initial support for Kafka connector and snowpipe/streaming APIs
  • 0.1.0: Initial release of the extension

License

(c) 2023 LocalStack

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

localstack-extension-snowflake-0.1.17.tar.gz (30.9 kB view details)

Uploaded Source

File details

Details for the file localstack-extension-snowflake-0.1.17.tar.gz.

File metadata

File hashes

Hashes for localstack-extension-snowflake-0.1.17.tar.gz
Algorithm Hash digest
SHA256 d7152eb3fa1905edc205f906bca06d387257efb810c942f0c016ce674ad775f1
MD5 2e172bd7db97058927cb73a90311ab96
BLAKE2b-256 1d237cb39a53367e1e0d8ebf9b8945197d72ef8bfc98acf3339ae987ad44d881

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page