Deploy Semarchy xDM in Snowflake

This page guides you through the step-by-step process of accessing, deploying, and using xDM in Snowflake.

Snowflake support in xDM is a preview feature. It is not suitable for production environments. Use this feature for testing and evaluation purposes only.

Install and setup the native app

Install the native app

To install the xDM native app:

  1. Sign in to Snowsight (the Snowflake web interface) with your Snowflake account.

  2. In the navigation menu, go to Data Products  Marketplace.

  3. Search for Semarchy xDM and select the Semarchy xDM listing from the search results.

  4. On the listing page, select the Get button to install the app.

  5. Follow the prompts to integrate xDM with your Snowflake environment.

Grant required privileges

To grant the account level privileges to the xDM native app:

  1. In the navigation menu, go to Data Products  Apps.

  2. Select the Semarchy xDM app from the Installed App list.

  3. Select the Privileges tab and click the Edit icon on the Account level privileges row.

  4. Ensure CREATE COMPUTE POOL and BIND SERVICE ENDPOINT privileges are granted.

  5. Click Update Privileges.

Configure external network access

To ensure proper operation, you must confirm the external network access configuration. The application requires an access rule to:

  • Your Snowflake account, which allows the xDM native app to store and access data.

  • The Semarchy license server, which enables license validation.

Confirm external endpoints

When creating your native app, a confirmation dialog prompts you to review the required external endpoints:

  1. Verify the allowed endpoints configured for the application.

  2. Expand the Advanced Options section to review the network rule name and location.

  3. Click Connect to confirm.

Extend network access for external services

If your xDM application needs to connect to external services, such as plugins or REST clients like Google Maps or OpenAI, you must extend network access.

Example. Configuring network access for external services

If you want to configure network access for the OpenAI enrichers:

  1. Navigate to Admin  Security, select the Network Rules tab, and click Add Network Rule.

  2. Locate the network rule with the location set to <native_app_database>  Configuration.

  3. Click the Menu icon and select Edit.

  4. Add an identifier by entering its URL (e.g., api.openai.com) and pressing Enter.

  5. Click Update Network Rule to confirm.

For more details, see the official Snowflake documentation.

Prepare the setup token

Before starting the native app, you need to create a setup token. This token authenticates you during the initial configuration of the administrator login and password, and must be provided as a parameter in the start_app procedure in the next step.

After completing the initial setup, the token is no longer required and can be discarded for security purposes.

Start the xDM native app

To start the xDM native app and create the necessary containers, execute the following stored procedure:

CALL <native_app_name>.xdm_public.start_app(
    <setup_token>,
    [<instance_family>,]
    [<volume_size>,]
    [<volume_iops>,]
    [<volume_throughput>]);

Below is a detailed description of each parameter:

Parameter

Required

Description

<setup_token>

Yes

The xDM setup token, required during the first connection to seed the repository.

<instance_family>

No

The type of compute instance provisioned for xDM application and repository containers (default: CPU_X64_S). For the list of allowed values, see the official Snowflake documentation.

<volume_size>

No

The storage volume size (in GB) used by the repository container (default: 5). For more information, see the official Snowflake documentation.

<volume_iops>

No

The maximum input/output operations per second (IOPS) supported for the repository storage (default: 3000). For more information, see the official Snowflake documentation.

<volume_throughput>

No

The peak throughput (MiB/s) supported for the repository storage (default: 125). For more information, see the official Snowflake documentation.

Once executed, this procedure provisions and starts the xDM application within your Snowflake environment.

Retrieve the xDM server URL

To obtain the URL of the xDM server, execute the following stored procedure:

CALL <native_app_name>.xdm_public.xdm_server_url();

Once retrieved, you can access xDM at https://<xdm_server_url>/semarchy.

Logging into xDM requires two-factor authentication, as mandated by Snowflake. This includes both Snowflake authentication and xDM authentication.

To enable single sign-on (SSO), configure OKTA for both Snowflake and xDM.

Configure datasources

After installing and accessing xDM for the first time, you need to declare the Snowflake datasource. This datasource must reference the database schema you created for storing your master data, as mentioned in the prerequisites.

For more information, see Configure datasources.