Snowflake Modules

Last modified: July 18, 2024

1 Introduction

Mendix has several options available for users who want to integrate their app with Snowflake in order to create data-driven enterprise applications.

2 Snowflake Integration Options

The integration between Mendix and Snowflake is available in either direction. That is, you can use data from Snowflake in your Mendix app with the External Database connector or the REST SQL connector, but you can also ingest your Mendix data into Snowflake by using the Mendix Data Loader. For more information, refer to the sections below.

The following diagram outlines the available integration options:

2.1 Building Mendix Apps on Top of Snowflake

Mendix provides real-time interaction with Snowflake through the External Database connector and the REST SQL connector. These connectors can enable you to perform the following tasks:

For a comparison of the functions of the connectors, refer to the sections below.

2.1.1 External Database Connector

The External Database connector is the recommended option that you can use to integrate your Mendix app with Snowflake. It offers a premium developer experience where you can test connections and queries during design time by using a view of all schemas and objects to which you can connect. It makes use of the JDBC protocol and the usage of Python stored procedures in addition to Java.

The External Database connector only supports system-level authentication. It can authenticate in Snowflake by using the username and password of a single Snowflake user. It also offers key-pair authentication with a private key. The connector does not support role-based access control (RBAC) per end user.

The External Database connector has GA support for Snowflake from Studio Pro 10.12 (Beta versions are available from Studio Pro 10.10). Some Cortex functionalities are currently limited when using the External Database connector, but they are on the roadmap.

2.1.2 REST SQL Connector

The REST SQL connector, available from the Mendix Marketplace, supports the 9.24 LTS version of Mendix. It offers key-pair authentication with a private key file according to PKCS #8 standard and OAuth.

With the REST SQL connector, authentication can be done either on system or on end-user level, and the connector supports role-based access control (RBAC) per end user as well.

The REST SQL connector requires an additional step to transform data rows received from the REST SQL API into Mendix objects. For more information, see Snowflake REST SQL Connector.

2.1.2.1 Role Base Access Control (RBAC)

For information about using Snowflake’s role-based access control in a Mendix application, see Role-based Access Control.

2.2 Loading Mendix Data into Snowflake

The Mendix Data Loader, available from the Snowflake Marketplace, aids in ingesting Mendix data into Snowflake. The application is deployed in your Snowflake environment and interacts with the configured Mendix apps to ingest data that is exposed using an Published OData Service.

3 Documents in This Category

  • Mendix Data Loader
  • Describes the configuration and usage of the Mendix Data Loader application from the Snowflake Marketplace.

  • Snowflake REST SQL Connector
  • Describes the configuration and usage of the Mendix-Snowflake REST SQL connector from the Mendix Marketplace.