Announcing the LocalStack for Snowflake 1.2 Release
LocalStack for Snowflake 1.2 introduces Apache NiFi integration for visual data pipelines, governance features including Network Rules and Masking Policies, Resource Monitors, Secrets management, API Integrations, and expanded SQL function support for comprehensive local Snowflake development.

Introduction
LocalStack for Snowflake 1.2 introduces significant enhancements to local Snowflake development, including Apache NiFi integration for visual data pipeline orchestration, comprehensive governance features such as Network Rules and Masking Policies, and expanded SQL function support. This release focuses on improving workflow automation capabilities and data governance testing in your local environment.
Building on the foundation of previous releases, version 1.2 adds support for Resource Monitors, Secrets management, API Integrations, and enhanced compatibility with Snowflake’s SQL dialect. These additions enable more comprehensive testing of enterprise data workflows and security policies without requiring access to cloud resources.
Get your free LocalStack trial to access the latest features in LocalStack for Snowflake 1.2!
How to upgrade?
To upgrade to LocalStack for Snowflake 1.2 using the LocalStack CLI, run:
docker pull localstack/snowflake:1.2.0localstack start --stack snowflake
If you’re using LocalStack for Snowflake with Docker CLI or Docker Compose, you can pin the image version in your docker run
command or Docker Compose file to 1.2.0
.
What’s new in LocalStack for Snowflake 1.2?
- Openflow via Apache NiFi
- Network Rules
- Masking Policies
- Resource Monitors
- Secrets
- API Integrations
- Support for several new SQL functions
- Improved parity with Snowflake
Openflow via Apache NiFi
The Snowflake emulator now provides initial support for Openflow via Apache NiFi, enabling local testing of end-to-end data flow orchestration with a graphical UI. This integration makes it possible to visually design, execute, and monitor data pipelines that interact with the Snowflake emulator.
With this release, the emulator installs and exposes the NiFi Web UI at https://snowflake.localhost.localstack.cloud:4566/openflow/
.
The features supported are:
- Preconfigured Snowflake Connection for quickly running SQL queries against the emulator.
- ExecuteSQL Processor support for testing queries (e.g.,
SELECT 123
). - Flow Management using NiFi’s drag-and-drop interface to build pipelines for extracting, transforming, and loading data.
- Integration with Emulator Logs so queries executed in NiFi can be observed in the emulator.
Check out our documentation to get started with Openflow.
Network Rules
The Snowflake emulator now supports Network Rules, enabling local testing of network access governance. Network Rules provide a way to define and manage IP allowlists or blocklists for securing access to Snowflake resources. With the emulator, you can now create, manage, and test mocked Network Rules locally.
The following operations are supported:
The Snowflake emulator provides a CRUD (Create, Read, Update, Delete) interface for Network Rules, allowing you to mock the creation and management of network access configurations in your local environment.
These operations are currently mocked and do not enforce actual network restrictions. Check out our documentation on getting started with Network Rules.
Masking Policies
The Snowflake emulator now supports Masking Policies, enabling local testing of data protection and access control workflows. Masking Policies provide a way to dynamically obfuscate sensitive data at query time based on user roles or conditions. With the emulator, you can now create, manage, and test mocked Masking Policies locally.
The following operations are supported:
- CREATE MASKING POLICY
- DESCRIBE MASKING POLICY
- ALTER MASKING POLICY
- SHOW MASKING POLICIES
- DROP MASKING POLICY
The Snowflake emulator provides a CRUD (Create, Read, Update, Delete) interface for Masking Policies, allowing you to mock the creation and management of data masking logic in your local environment.
These operations are currently mocked and do not enforce actual data masking. Check out our documentation on getting started with Masking Policies.
Resource Monitors
The Snowflake emulator now supports Resource Monitors, enabling local testing of workload governance and credit usage monitoring. Resource Monitors provide a mechanism to track and control resource consumption. With the emulator, you can now create, manage, and test mocked Resource Monitors locally.
The following operations are supported:
- CREATE RESOURCE MONITOR
- DESCRIBE RESOURCE MONITOR
- ALTER RESOURCE MONITOR
- SHOW RESOURCE MONITORS
- DROP RESOURCE MONITOR
The Snowflake emulator provides a CRUD (Create, Read, Update, Delete) interface for Resource Monitors, allowing you to mock the creation and management of monitors in your local environment.
These operations are currently mocked and do not enforce actual credit usage or limits. Check out our documentation on getting started with Resource Monitors.
Secrets
The Snowflake emulator now supports Secrets, enabling local testing of secret management workflows. Secrets provide a secure way to store credentials or tokens that can be referenced by other Snowflake objects. With the emulator, you can now create, manage, and test mocked Secrets locally.
The following operations are supported:
The Snowflake emulator provides a CRUD (Create, Read, Update, Delete) interface for Secrets, allowing you to mock the creation and management of Secrets in your local environment.
These operations are currently mocked and do not store or encrypt data. Check out our documentation on getting started with Secrets.
API Integrations
The Snowflake emulator now supports API Integrations, enabling local testing of external service connectivity and integration workflows. API Integrations act as a bridge between Snowflake and external APIs or services. With the emulator, you can now create, manage, and test mocked API Integrations locally.
The following operations are supported:
- CREATE API INTEGRATION
- DESCRIBE API INTEGRATION
- ALTER API INTEGRATION
- SHOW API INTEGRATIONS
- DROP API INTEGRATION
The Snowflake emulator provides a CRUD (Create, Read, Update, Delete) interface for API Integrations, allowing you to mock the creation and management of integrations in your local environment.
These operations are currently mocked and do not interact with external APIs or services. Check out our documentation on getting started with API Integrations.
Support for several new SQL functions
We have added support for several new SQL functions in LocalStack for Snowflake. The new functions include:
Function | Notes |
---|---|
ARRAYS_ZIP | Combines multiple arrays into a single array of structs, where each struct contains elements from the input arrays at the same position. |
CURRENT_ORGANIZATION_USER | Returns the name of the user executing the query, qualified with the organization name. |
FACTORIAL | Returns the factorial of a non-negative integer. |
PIVOT | Rotates rows into columns, enabling easier summarization of aggregated data. |
SQUARE | Returns the square of a numeric value. |
QUERY_HISTORY | Returns metadata about queries executed within a specified time range. |
UNIFORM | Generates a pseudo-random number between two specified values. |
SYSTEM$ALLOWLIST | Returns hostnames and ports for firewall whitelist to enable Snowflake access. |
Improved parity with Snowflake
We have made several enhancements to LocalStack for Snowflake to improve compatibility with the Snowflake service. These include:
- Added support for SHOW REPLICATION ACCOUNTS to display replication accounts associated with the current account.
- Added support for CREATE TRANSIENT SCHEMA with the
TRANSIENT
keyword. - Added support for inserting DQM records on
TRIGGER_ON_CHANGES
, ensuring new records are created only when metric values change. - Implemented
PUT /api/v2/databases/{name}
to create or alter databases (viaroot.databases[name].create_or_alter(...)
). - Enhanced parity for multiple
REVOKE
statement variants, improving compatibility with Snowflake Terraform provider and RBAC scenarios. - Expanded support for
GRANT
andREVOKE
statements, including handling of future grants and external volumes for improved Snowflake parity. - Added support for quoted stage and location references to ensure compatibility with recent Snowflake Connector for Python versions.
- Enhanced processing of
UPDATE
queries with table aliases, ensuring correct handling of aliases inWHERE
clauses. - Enhanced parity for database roles and grants, including support for
SHOW DATABASE ROLES
and improved handling of role deletion. - Added support for Python UDFs with handler code imported from stage files via the
imports
property inCREATE FUNCTION
statements. - Added support for parsing
DECLARE
blocks andBEGIN ... END
syntax inCREATE PROCEDURE
statements. - Enhanced parity for
ALTER USER
properties, along with fixes for fully qualified schema handling inSHOW TABLES
. - Enhanced metadata for
VARCHAR
type, increasing max length to 128MB (default 16MB) and improving casting and length modifier handling. - Added support for
CALL
of built-in functions and enhancedGRANT
handling with fully qualified database and role names. - Introduced
SF_S3_ENDPOINT_EXTERNAL
configuration variable to support separate client-facing S3 endpoints for staged file uploads. - Enhanced column name parity in result sets by replacing default
?column?
names with Snowflake-style aliases for literals and subqueries. - Optimized SQL dump for state persistence by excluding internal resources, reducing state file size, and focusing only on user-defined objects.
- Enhanced parity for
GRANT TO
statements, improving support for role and permission assignment. - Added support for parsing
RESULTSET
andCURSOR
types in Snowflake scriptingDECLARE
blocks. - Enhanced parity for
SUM
to support aggregation over arrays ofVARIANT
values. - Ensured stage files are properly deleted on
REPLACE TABLE
in addition toDROP TABLE
.
Conclusion
LocalStack for Snowflake 1.2 delivers practical enhancements for local data development workflows. The addition of Apache NiFi integration enables visual pipeline design and testing, while new governance features, like Network Rules, Masking Policies, and Resource Monitors, allow comprehensive testing of enterprise security configurations locally.
With expanded SQL function support and improved Snowflake parity, this release continues to bridge the gap between local development and production environments. The enhanced compatibility improvements ensure smoother integration with existing Snowflake workflows and tools.
Sign up for a free trial or upgrade to LocalStack for Snowflake 1.2 to take advantage of these new capabilities and streamline your local Snowflake development process.