Prerequisites
To deploy the agent to your Snowflake account, the Snowflake environment must be prepared. This requires the following actions in your Snowflake account. A user with the ACCOUNTADMIN system role will be required to perform these steps.Create a new role
This is the role that the Container will run as, and is the role needed to perform all subsequent deployment and configuration for the agent.-
Create the role, using the following commands.
Where
<native_app_role>is the name you want the role to have. -
Grant permissions to the role.
Where
<native_app_role>is the name you gave to the role in step 1, and<user_name>is the user you want to grant the role to.
Set up a warehouse
A warehouse is required when activating the application and creating the agent, and will be used by the agent when completing tasks such as running pipelines. You may use an existing warehouse if a suitable one exists, or create a new warehouse for the agent to use.Use an existing warehouse
To use an existing warehouse, you must give the new role USAGE permissions for the warehouse, as follows:<warehouse_name> is the warehouse you wish to use, and <native_app_role> is the role you created previously.
As this warehouse will be used by the agent, it should have the appropriate suspend configuration and sizing.
Create and use a new warehouse
If you choose to create a new warehouse, it must be created by the role created earlier. The role will require the following additional permission to allow this:<native_app_role> is the role you created previously.
You can then create the new warehouse as follows:
<native_app_wh> is the name of the warehouse.
Warehouses consume Snowflake credits, so you should size the warehouse appropriately. For guidance, read CREATE WAREHOUSE in the Snowflake documentation.
Install the application
Once you have configured the appropriate prerequisites in your Snowflake environment, you can proceed to install and configure the Matillion agent for Snowflake.Create the Data Productivity Cloud agent
- Create an agent in as described in Create an agent in your infrastructure.
- In the Cloud Provider drop-down, select Snowflake.
- The Deployment drop-down will display Native App. This can’t be changed.
-
On clicking Create agent, you will see the Agent details screen that shows you the parameters you will need for installing into Snowflake:
- ACCOUNT_ID
- AGENT_ID
- MATILLION_REGION
- Client ID
- Client Secret
Install into Snowflake
- Ensure you are using the role created previously.
- Open the Snowflake Marketplace.
- Click Private Sharing in the left-hand menu.
-
Locate Matillion in the list of apps, and click to select it.
If the app is not listed, contact your Matillion representative for advice.
- Click Request.
- In the Request this Data Product dialog, enter your Name, Title and Company Name.
- Click Request to submit the request. The button status will change to Requested.
- A Matillion representative will contact you to confirm the request. Once access is granted, return to this page and click Get to access the listing.
-
If required, expand the Options panel in order to change:
- The application name. This is optional, and you can keep the default name if you wish.
- The warehouse to use for the installation. The warehouse should be the one created or selected previously.
- Click Get.
- Click Open to view the app, or Done to finish.
Configure the application
- Open the application.
-
You will be prompted to grant access to allow the application to create a compute pool and a network rule allowing all access to ports
80and443. You must grant this access. Once the permissions have been granted, you will be able to activate the application.These are the minimum ports required by the agents. If you need to open additional ports for any reason, follow the instructions in How to open more ports. - Under Privileges to objects, add the Snowflake warehouse that the agent will use to run queries within the account.
-
Click Launch App. On the initial configuration screen, enter the details you previously obtained from the Agent details screen in :
- Matillion Region
- Account ID
- Agent ID
- Client ID
- Client Secret
- Leave the Environment property unchanged.
-
You can leave the Default Secrets Schema unchanged (recommended), or change it to another schema of your choice. Read Secrets in Matillion agent for Snowflake for further details.
If you uninstall the application, any secrets created within the listed schema will be deleted.
- Click Submit. This will start the agent.
Connecting an environment
When creating a environment using Matillion agent for Snowflake, you must use the Snowflake “Format 1” account identifier as the environment’s Account property. To get the correct Format 1 identifier, run the following query within the account:Installing multiple agents
You can run multiple agents, which may be a requirement for the level of performance and concurrency you need. You can do this by installing multiple Native App instances, with each instance running a single agent instance. For a given Snowflake account, up to 10 Native App instances can be installed. To increase the number of instances, open the installed app and click Add instance. Configure the new instance as described in the sections above. You can use the same role and warehouse for each app instance, or you can create new roles and warehouses for each.Uninstalling the application
You can uninstall the application from the Apps area within Snowflake. From your Snowflake Home screen, click Data Products → Apps. You must be using the role that originally installed the application. Following an uninstall, some artefacts are left behind and must be manually removed. These are:- The
<APPLICATION_NAME>_APP_DATAdatabase. - The
<APPLICATION_NAME>_ALL_EXTERNAL_ACCESS_EXTERNAL_ACCESSexternal integration.
<APPLICATION_NAME> is the name of the application set during installation. By default, this is MATILLION_DATA_PRODUCTIVITY_CLOUD.

