diff --git a/content/en/docs/marketplace/platform-supported-content/modules/snowflake/_index.md b/content/en/docs/marketplace/platform-supported-content/modules/snowflake/_index.md index 0dcdbb70a56..610924bb0e8 100644 --- a/content/en/docs/marketplace/platform-supported-content/modules/snowflake/_index.md +++ b/content/en/docs/marketplace/platform-supported-content/modules/snowflake/_index.md @@ -9,48 +9,73 @@ description_list: true ## Introduction -Mendix has several options available for users who want to integrate their app with Snowflake in order to create data-driven enterprise applications. +You can combine the AI capabilities offered by Menidx and Snowflake to enable the development of low-code agentic enterprise solutions. The integration works in both directions, that is, Snowflake Cortext Agents can invoke Mendix business logic, while Mendix AI agents can connect to Snowflake MCP servers. -## 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 Snowflake AI Data 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. +In addition to AI-driven applications, the integration also includes the capability to build data-driven applications. That is, you can use data from Snowflake in your Mendix app with the External Database connector or the Snowflake AI Data connector, as well as ingest your Mendix data into Snowflake by using the Mendix Data Loader. The following diagram outlines the available integration options: {{< figure src="/attachments/appstore/platform-supported-content/modules/snowflake-ai-data-connector/Snowflake Architecture slide.png" >}} -### Building Mendix Apps on Top of Snowflake +For more information, refer to the sections below. -Mendix provides real-time interaction with Snowflake through the [External Database connector](https://marketplace.mendix.com/link/component/219862) and the [Snowflake AI Data Connector](https://marketplace.mendix.com/link/component/225717). These connectors can enable you to perform the following tasks: +## Snowflake AI and Data Integration Options -* Read, write, and use data from Snowflake in your application. -* Execute Java [stored procedures](https://docs.snowflake.com/en/developer-guide/stored-procedure/stored-procedures-overview). -* Leverage [Cortex Machine Learning](https://docs.snowflake.com/en/guides-overview-ml-functions) and [Cortex Large Language Model](https://docs.snowflake.com/en/user-guide/snowflake-cortex/llm-functions) functions. +The integration between Mendix and Snowflake offers several options for building AI-driven applications. -For a comparison of the functions of the connectors, refer to the sections below. +### AI-Assisted Development -#### External Database Connector +Mendix supports the [Model Context Protocol](https://modelcontextprotocol.io/introduction), which is an open protocol that standardizes how Large Language Models (LLMs) can autonomously connect to apps. For more information about the available options, refer to the following topics: + +* [Integrate a Mendix MCP Server with a Snowflake Cortex Agent](/appstore/modules/snowflake/connect-snowflake-ai-agent-to-mendix/) +* [Connect a Mendix AI Agent to a Snowflake-Managed MCP Server](/appstore/modules/snowflake/connect-ai-agent-to-snowflake-mcp/) +* [Bring Your Own Snowflake LLM](/appstore/modules/snowflake/bring-your-own-snowflake-llm/) -The [External Database connector](https://marketplace.mendix.com/link/component/219862) 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. +### Building AI-Powered Applications -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 [Snowflake AI Data Connector](https://marketplace.mendix.com/link/component/225717) is the recommended, purpose-built method of integrating Mendix with Snowflake for the purpose of developing AI-powered Mendix apps. -The External Database connector has GA support for Snowflake from [Studio Pro 10.12](/releasenotes/studio-pro/10.12/) (Beta versions are available from [Studio Pro 10.10](/releasenotes/studio-pro/10.10/)). Some Cortex functionalities are currently limited when using the External Database connector, but they are on the roadmap. +You can also use the [External Database connector](https://marketplace.mendix.com/link/component/219862) to trigger some Cortex AI functions through SQL queries. For a comparison of the functions of the connectors, refer to the sections below. #### Snowflake AI Data Connector -The [Snowflake AI Data Connector](https://marketplace.mendix.com/link/component/225717), 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. +The [Snowflake AI Data Connector](https://marketplace.mendix.com/link/component/225717) is the recommended option for building AI-driven applications. It enables you to perform the following tasks: + +* Trigger a number of [Snowflake Cortex ML functions](https://docs.snowflake.com/en/guides-overview-ml-functions). For a more detailed list, refer to [Snowflake AI Data Connector: Typical Use Cases](/appstore/connectors/snowflake/snowflake-ai-data-connector/#use-cases). +* Use [Snowflake Cortex Analyst](https://docs.snowflake.com/en/user-guide/snowflake-cortex/cortex-analyst). +* Execute synchroneous calls. +* Query your Cortex Search services. + +#### External Database Connector + +The [External Database connector](https://marketplace.mendix.com/link/component/219862) can also be used to support AI-driven applications by allowing you to run SQL queries that call upon some Cortex AI functions, such as *sentiment*. For more information, see [External Database Connector: Using Cortex AI functions](/appstore/modules/snowflake/external-database-connector/). + +### Building Data-Driven Applications {#data-driven} + +The [External Database connector](https://marketplace.mendix.com/link/component/219862) and the [Snowflake AI Data Connector](https://marketplace.mendix.com/link/component/225717) can also be used to build data-driven applications. For a comparison of the functions of the connectors, refer to the sections below. + +#### External Database Connector + +The [External Database connector](https://marketplace.mendix.com/link/component/219862) is the recommended option for building data-driven applications. 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 has GA support for Snowflake from [Studio Pro 10.12](/releasenotes/studio-pro/10.12/) (Beta versions are available from [Studio Pro 10.10](/releasenotes/studio-pro/10.10/)). + +#### Snowflake AI Data Connector -With the Snowflake AI Data 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 [Snowflake AI Data Connector](https://marketplace.mendix.com/link/component/225717) is primarily used for AI-driven applications, but it can also be used to perform small-scale data updates. This may be useful in cases where you are already using this connector for its AI functionalities, and you would like to do a limited amount of data processing without having to install a new connector for this purpose. However, for reading or writing large amounts of data, it is recommended to use the External Database connector instead. The Snowflake AI Data Connector requires an additional step to transform data rows received from the REST SQL API into Mendix objects. For more information, see [Snowflake AI Data Connector](/appstore/connectors/snowflake/snowflake-ai-data-connector/). +#### Loading Mendix Data into Snowflake + +The [Mendix Data Loader](https://app.snowflake.com/marketplace/listing/GZTDZHHIE0/mendix-mendix-data-loader/), available from the [Snowflake Marketplace](https://app.snowflake.com/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](/refguide/published-odata-services/). + +### Security and Governance + ##### Role Base Access Control (RBAC) For information about using Snowflake's role-based access control in a Mendix application, see [Role-based Access Control](/appstore/modules/snowflake/snowflake-rbac/). -### Loading Mendix Data into Snowflake +## Documents in This Category -The [Mendix Data Loader](https://app.snowflake.com/marketplace/listing/GZTDZHHIE0/mendix-mendix-data-loader/), available from the [Snowflake Marketplace](https://app.snowflake.com/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](/refguide/published-odata-services/). -## Documents in This Category diff --git a/content/en/docs/marketplace/platform-supported-content/modules/snowflake/snowflake-ai-data-connector.md b/content/en/docs/marketplace/platform-supported-content/modules/snowflake/snowflake-ai-data-connector.md index f4fd0fe1625..ef64d756603 100644 --- a/content/en/docs/marketplace/platform-supported-content/modules/snowflake/snowflake-ai-data-connector.md +++ b/content/en/docs/marketplace/platform-supported-content/modules/snowflake/snowflake-ai-data-connector.md @@ -10,7 +10,7 @@ weight: 20 The [Snowflake AI Data Connector](https://marketplace.mendix.com/link/component/225717) allows you to use data from Snowflake in your Mendix application and enrich your app with the AI capabilities that Snowflake provides. -### Typical Use Cases +### Typical Use Cases {#use-cases} The Snowflake AI Data Connector supports the following: @@ -37,8 +37,8 @@ The Snowflake AI Data Connector supports the following: * [EMBED_TEXT_1024](https://docs.snowflake.com/en/sql-reference/functions/embed_text_1024-snowflake-cortex) – Given a piece of text, returns a vector embedding of 1024 dimensions that represents that text. * Use [Snowflake Cortex Analyst](https://docs.snowflake.com/en/user-guide/snowflake-cortex/cortex-analyst) – This Snowflake Cortex feature is used to get information/insights out of structured data sets using natural language instead of sql. Cortex Analyst works with semantic models or semantic model views that define how your data should be interpreted. - * Synchronous execution of calls - * Query your Cortex Search services + * Execute synchroneous calls. + * Query your Cortex Search services. For more use cases and examples for [Snowflake Cortex LLM functions](https://docs.snowflake.com/en/user-guide/snowflake-cortex/llm-functions), written by the Head of Snowflake Tech Consulting, see [Karthik S Raman's Medium profile](https://medium.com/@karthiksraman). @@ -74,6 +74,8 @@ To use the capabilities of Snowflake in a Mendix app with the Snowflake AI Data * RSA key-pair authentication (KEYPAIR_JWT) * Programmatic Access Token (PAT) +With the Snowflake AI Data 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. + #### Configuring OAUTH Authentication {#setup-OAUTH-snowflake} To find out how configure the OAUTH Authentication method, see [Role-based Access Control](/appstore/modules/snowflake/snowflake-rbac/). diff --git a/content/en/docs/marketplace/platform-supported-content/modules/snowflake/snowflake-edc.md b/content/en/docs/marketplace/platform-supported-content/modules/snowflake/snowflake-edc.md index d3916d206aa..b6b59a9a067 100644 --- a/content/en/docs/marketplace/platform-supported-content/modules/snowflake/snowflake-edc.md +++ b/content/en/docs/marketplace/platform-supported-content/modules/snowflake/snowflake-edc.md @@ -14,6 +14,8 @@ This how-to describes the steps required to enable your app to use the External ## Configuring the Connection Between Your Mendix App and Snowflake +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. + To configure connect your Mendix application to Snowflake with the External Database connector, follow these steps: 1. [Install the External Database connector](/appstore/modules/external-database-connector/#installation). If you are using Studio Pro 10.12, please make sure to use the latest version 3.0.0 [External Database Connector](https://marketplace.mendix.com/link/component/219862). @@ -314,7 +316,7 @@ To execute and test the query in Studio Pro, follow these steps: {{< figure src="/attachments/appstore/platform-supported-content/modules/external-database-connector/sample-snowflake-query-replication-grid.png" >}} -## Using Cortex AI functions +## Using Cortex AI functions {#cortex-ai-query} Snowflake comes with built in AI functionality that you can leverage in your Mendix applications. This section provides an example of a query that calls the *sentiment* function to analyze the sentiment of a piece of text. diff --git a/static/attachments/appstore/platform-supported-content/modules/snowflake-ai-data-connector/Snowflake Architecture slide.png b/static/attachments/appstore/platform-supported-content/modules/snowflake-ai-data-connector/Snowflake Architecture slide.png index decee6b0cc4..4c8855bfc3b 100644 Binary files a/static/attachments/appstore/platform-supported-content/modules/snowflake-ai-data-connector/Snowflake Architecture slide.png and b/static/attachments/appstore/platform-supported-content/modules/snowflake-ai-data-connector/Snowflake Architecture slide.png differ