Skip to content
  • There are no suggestions because the search field is empty.

Snowflake - Placeholder values

Applies to
Platform: Snowflake

The placeholder values of a Snowflake project name the database, schema and warehouse of each layer, of the source systems and of the load control. Enter them in replacement_config.json before you run replace_placeholders.ps1.

The replacement itself is described in Replace the placeholders in the artifacts.

Variable names

Each variable name has the form <project>#<group>#<variable>: the project name in lower case, then a layer or source system in lower case without spaces, for example rawvault for Raw Vault. The load control variables use loadcontrol#loadcontrol#<variable>.

Variables

Layers and source systems

  • database_name: the database. It must exist.
  • schema_name: the schema.
  • default_warehouse_name: the warehouse of the tasks that run the loaders of this layer.

A source system has the same three variables for its source tables.

Stage Files

Each Parquet source system of a Stage Files project names the external stage and the file format of its loaders:

  • snowflake_stage_database_name, snowflake_stage_schema_name and snowflake_stage_name: the external stage.
  • snowflake_file_format_database_name, snowflake_file_format_schema_name and snowflake_file_format_name: the file format.

Load control

  • database_name and schema_name: where the tasks are created. schema_name is prefilled with LC in every project.

    Deploying a project with Generate Drop Load Control Schema selected drops the load control schema with the tasks of every project in it. Give each project its own load control schema.

  • warehouse_name: the warehouse of the root and end tasks.
  • load_interval: the schedule of the root task, prefilled with '5 minute', including the single quotes.
  • suspend_task_after_num_failures: the number of failed runs after which Snowflake suspends the root task, prefilled with 1.
  • application_name and application_environment_name: written into the task log events. application_environment_name is prefilled with DEV.

Other groups

  • <project>#warehouse_name#<value name>: one variable per value of the dataflow property Warehouse Placeholder Variable Name, in lower case. The tasks of these dataflows run in this warehouse instead of default_warehouse_name.
  • governance#tags#database_name and governance#tags#schema_name: with Apply Sensitivity Level Tags, where the tag SENSITIVITY_LEVEL is created.

Example

A DataVault and Mart project named dwh_project deploys its Stage layer to the example database DWH with the schema SA and the warehouse COMPUTE_WH:

{ "name": "dwh_project#stage#database_name",
  "value": "DWH", "secretname": "" },
{ "name": "dwh_project#stage#schema_name",
  "value": "SA", "secretname": "" },
{ "name": "dwh_project#stage#default_warehouse_name",
  "value": "COMPUTE_WH", "secretname": "" }

The Stage tables are then created as DWH.SA.STG_ST_<object>.

Example files of Generator 2.0, with the same variables as in Generator 2.4:

Related articles