Create Project (Snowflake)

Important: These instructions assume you have already successfully launched a Matillion ETL instance.


Overview

A project is a logical grouping of configuration settings and resources (such as jobs) that is required in order to use Matillion ETL. You will be required to create a project when none are present (such as your first login to the instance) and will usually cause the Create Project screen to appear automatically. Alternately, new projects can also be created via:

Project→Switch Project→Create Project.


There are no practical limits to the number of Projects you can create. However, only one Project is used by the client session at a single time and each must have a unique name.

Creating a Project (AWS)

The following section describes how to create a Project in Matillion ETL for Snowflake on AWS instances.

  • Project Group: An existing or new Group (of arbitrary name) used for logically grouping Projects.
  • Project Name: An arbitrary name for your new Project
  • Project Description: A searchable description of your project.
  • Include Samples: Deselect if you do not want to include sample jobs in the project.

  • Name: An arbitrary name for your new environment.
  • AWS Credentials: Credentials for the AWS cloud platform can be entered here, allowing your environment to make use of external services. See Manage Credentials for more information.
  • Account: Your Snowflake account name and region (part of the URL you use to log in to Snowflake, minus the "snowflakecomputing.com").
    • Uses the format <AccountName>.<region_id>
    • Azure users must include the .azure part of the URL.
  • Username: The user of the Snowflake account that has the above described roles and privileges attached.
  • Password: The password for the above username.
  • Default Role: The default Snowflake Role that this Project assumes. This field can be left empty if no changes to the user's role are wanted.
  • Default Warehouse: The name of the Warehouse on your Snowflake account to use by default.
  • Default Database: The name of the Database on your Snowflake account to use by default.
  • Default Schema:  'public' by default, but if you have configured multiple schemas within your database, specify the schema you would like to use here.

 

Creating a Project (Azure)

The following section describes how to create a Project in Matillion ETL for Snowflake on Azure instances.

You are required to give your new Project some details to define it. Details on the available options are given below:

  • Project Group: An existing or new Group (of arbitrary name) used for logically grouping Projects.
  • Project Name: An arbitrary name for your new Project
  • Project Description: A searchable description of your project.
  • Private Project: Check this box for a private Project. Only users given access will be able to view and work with the Project.
  • Include Samples: Deselect if you do not want to include sample jobs in the project.

A Project requires an environment to make use of external resources.

  • Environment Name: An arbitrary name for your new environment.
  • Azure Credentials: Credentials for the Azure cloud platform can be entered here, allowing your environment to make use of external services. See Manage Credentials for more information.
Note: Some Matillion ETL functions and components rely on using Instance Credentials with correctly connected resources. Choosing to not configure your Instance Credentials will generally mean losing that functionaltiy. For example, the Azure Blob Storage Load component relies on credentials with access to Blob Storage.

  • Account: Your Snowflake account name and region (part of the URL you use to log in to Snowflake, minus the "snowflakecomputing.com").
    • Uses the format <AccountName>.<region_id>
    • Azure users must include the .azure part of the URL.
  • Username: The user of the Snowflake account that has the above described roles and privileges attached.
  • Password: The password for the above username.

Next, users must select the correct Snowflake Defaults.

  • Default Role: The default Snowflake Role that this Project assumes. This field can be left empty if no changes to the user's role are wanted.
  • Default Warehouse: The name of the Warehouse on your Snowflake account to use by default.
  • Default Database: The name of the Database on your Snowflake account to use by default.
  • Default Schema:  'public' by default, but if you have configured multiple schemas within your Redshift database, specify the schema you would like to use here.


Gathering Snowflake Account Details

The following section provides details on gathering information about your Snowflake account.

Login into your Snowflake account at snowflakecomputing.com the login URL should take the form

https://<AccountName>.<region_id>.snowflakecomputing.com/
or if your region is US West:
https://<AccountName>.snowflakecomputing.com/
Thus your account name is:
<AccountName>.<region_id>
Azure users must include the .azure part of the URL.
<AccountName>.<region_id>.azure

For more information on Snowflake Region IDs and their place in Account URLs, please refer to the Snowflake documentation.


Default Warehouse

When at the console, available Warehouses can be found at the 'Warehouses' tab at the top of the page.

It is only important to note the name of the warehouse you wish to be default within Matillion ETL. If desired, a new Warehouse can be created if necessary using the + 'Create' button.

Whether the Warehouse to be used is new or not, it is necessary that the user has full privileges to it. This can be accomplished by using the + 'Grant Privileges' button at the right-side of the window while a Warehouse is selected from the list.

Select a role that is attached to the user and select all privileges to go to this role. Then close the dialog using the 'Grant' button.


Default Database

Matillion ETL also requires a default Database, reachable through the 'Databases' tab. Again, it is necessary to remember the name of the desired Database but new ones can be created using very similar to the description above.

Again, the Database must be set up to give privileges to role that is attached to the user. For databases, all privileges are required.


Default Schema

Finally, a default Schema must be chosen. Browse to the 'Schemas' section of the 'Databases' tab to view a list of Schemas. Even new Databases should come with some premade Schemas and again, a new Schema can be added with the + Create button. Once again, the selected Schema must give privileges to a role that is attached to the user. All privileges with the exception of 'CREATE PIPE' are required.

Note: Matillion ETL uses quoted identifiers, meaning that (by default) all identifiers are case-sensitive in Snowflake. Thus, all table and column names used in Matillion ETL components are case sensitive by default.

If you wish to change this (and have all identifiers resolve to uppercase names automatically), consider changing the QUOTED_IDENTIFIERS_IGNORE_CASE parameter inside Snowflake.

This option is not available from within Matillion ETL and should be decided as early in the process as possible. See here for more about case sensitivity in Snowflake.


Next Steps

If this is your first time logging in to to Matillion ETL, we STRONGLY advise that your first action on the client is to replace this default username and password with your own secure details.

You can do this through User Configuration in the Admin Menu.


Useful links