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.19: Return SELECT results in arrow format for pandas compatibility; add add_months function; fix UDFs with raw expressions; upgrade to Postgres v15; distinguish internal/external VARIANTs; print query processors in CI logs; enable lazy installation of plv8 extension; enhance parity around CREATE VIEW queries; extend analytics; return row_count for UPDATE queries; add statementTypeId
  • 0.1.18: Add support for various array and aggregation functions; enhance FILE FORMAT operations; fix CTAS (Create Table AS) queries; support INFER_SCHEMA(..) for getting schema from parquet files; better handling of upper/lowercase identifiers
  • 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.19.tar.gz (40.4 kB view details)

Uploaded Source

File details

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

File metadata

File hashes

Hashes for localstack-extension-snowflake-0.1.19.tar.gz
Algorithm Hash digest
SHA256 51cc0891e04a5c51c8ccf751e1afe974f620b7d69ea888c16cfbab401bc0e35c
MD5 d4d8c4ff2283d29b2b657b1d907d1a36
BLAKE2b-256 74c1488cea6dcd8dba2dbc758d743e5dade55b2b0b994510aec42c8cef49b8cf

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