> ## Documentation Index
> Fetch the complete documentation index at: https://www.propeldata.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Snowflake setup guide

> Ingesting data from Snowflake into Propel.

<div />

This guide covers how to:

1. [Find your Snowflake Account Identifier](#step-1-find-your-snowflake-account-identifier)
2. [Ensure change tracking is enabled on your Snowflake tables.](#step-2-ensure-change-tracking-is-enabled)
3. [Create a Snowflake user, role, and warehouse.](#step-3-create-the-snowflake-user-role-and-warehouse)
4. [(Optional) Configure Snowflake Network Policy.](#step-4-optional-configure-snowflake-network-policy)
5. [Create a Snowflake Data Pool](#step-5-create-a-snowflake-data-pool)

***

## Requirements

* You have a [Propel account](https://console.propeldata.com/get-started).
* You have a Snowflake account.
* You have a Snowflake user with the `SECURITYADMIN`, `SYSADMIN`, and `ACCOUNTADMIN` [system-defined roles](https://docs.snowflake.com/en/user-guide/security-access-control-overview.html#system-defined-roles).

***

## Step 1: Find your Snowflake Account Identifier

Your Snowflake Account Identifier is a string composed of your account locator, region, and cloud.

<Warning>
  The Snowflake Account Identifier is different from the Snowflake Account Name.
</Warning>

Here is how to find your Snowflake Account Identifier:

### Option 1: Using SQL

To find your Snowflake Account Identifier, run the following queries in your Snowflake worksheet:

```sql theme={"system"}
SELECT CURRENT_ACCOUNT();
```

and

```sql theme={"system"}
SELECT LOWER(REPLACE(CURRENT_REGION(), '_', '-')) AS region_in_lower_case;
```

### Option 2: Using the UI

Using the UI, you can find your Snowflake Account Identifier by clicking on your account menu on the bottom left.

<Frame>
  <img src="https://mintcdn.com/propeldocs/r8FN1fDId_ZpxHvr/images/docs/snowflake-account-locator.png?fit=max&auto=format&n=r8FN1fDId_ZpxHvr&q=85&s=5e1e365e0d4b963a9be4053fe1446062" alt="A screenshot demonstrating how to find your Snowflake Account Identifier in the Snowflake Console." width="866" height="668" data-path="images/docs/snowflake-account-locator.png" />
</Frame>

***

The Snowflake Account Identifier is a string in the following format depending on the region and cloud:

* `<account_locator>` or
* `<account_locator>.<cloud_region_id>` or
* `<account_locator>.<cloud_region_id>.<cloud>`

Where:

* `cloud_region_id` is the identifier for the cloud region (dictated by the cloud platform).
* `cloud` is the identifier for the cloud platform (aws, azure, or gcp).

The following are examples of the Snowflake Account Locator for different regions and clouds, for the full list see the [Snowflake documentation](https://docs.snowflake.com/en/user-guide/admin-account-identifier#format-2-account-locator-in-a-region).

<AccordionGroup>
  <Accordion title="North American regions" icon="earth-americas">
    * AWS US West (Oregon): `xy12345` (No region, no cloud)
    * AWS US East (N. Virginia): `xy12345.us-east-1` (No cloud)
    * AWS US East (Ohio): `xy12345.us-east-2.aws`
    * GCP US Central1 (Iowa): `xy12345.us-central1.gcp`
    * GCP US East4 (N. Virginia): `xy12345.us-east4.gcp`
    * AWS Canada (Central): `xy12345.ca-central-1.aws`
    * Azure West US 2 (Washington): `xy12345.west-us-2.azure`
    * Azure Central US (Iowa): `xy12345.central-us.azure`
    * Azure South Central US (Texas): `xy12345.south-central-us.azure`
    * Azure East US 2 (Virginia): `xy12345.east-us-2.azure`
    * Azure Canada Central (Toronto): `xy12345.canada-central.azure`
  </Accordion>

  <Accordion title="European regions" icon="earth-europe">
    * AWS EU (Ireland): `xy12345.eu-west-1`  (No cloud)
    * AWS EU (London): `xy12345.eu-west-2.aws`
    * AWS EU (Paris): `xy12345.eu-west-3.aws`
    * AWS EU (Frankfurt): `xy12345.eu-central-1`  (No cloud)
    * AWS EU (Zurich): `xy12345.eu-central-2.aws`
    * AWS EU (Stockholm): `xy12345.eu-north-1.aws`
    * GCP Europe West2 (London): `xy12345.europe-west2.gcp`
    * GCP Europe West4 (Netherlands): `xy12345.europe-west4.gcp`
    * Azure UK South (London): `xy12345.uk-south.azure`
    * Azure North Europe (Ireland): `xy12345.north-europe.azure`
    * Azure West Europe (Netherlands): `xy12345.west-europe.azure`
    * Azure Switzerland North (Zurich): `xy12345.switzerland-north.azure`
  </Accordion>

  <Accordion title="South American regions" icon="earth-americas">
    * AWS South America (Sao Paulo): `xy12345.sa-east-1.aws`
  </Accordion>

  <Accordion title="Asian regions" icon="earth-asia">
    * AWS Asia Pacific (Tokyo): `xy12345.ap-northeast-1.aws`
    * AWS Asia Pacific (Osaka): `xy12345.ap-northeast-3.aws`
    * AWS Asia Pacific (Seoul): `xy12345.ap-northeast-2.aws`
    * AWS Asia Pacific (Mumbai): `xy12345.ap-south-1.aws`
    * AWS Asia Pacific (Singapore): `xy12345.ap-southeast-1`  (No cloud)
    * AWS Asia Pacific (Sydney): `xy12345.ap-southeast-2`  (No cloud)
    * AWS Asia Pacific (Jakarta): `xy12345.ap-southeast-3.aws`
    * Azure Asia Pacific (Singapore): `xy12345.ap-southeast-1`
    * Azure Asia Pacific (Sydney): `xy12345.ap-southeast-2`
    * Azure Asia Pacific (Jakarta): `xy12345.ap-southeast-3`
    * Azure Central India (Pune): `xy12345.central-india.azure`
    * Azure Japan East (Tokyo): `xy12345.japan-east.azure`
    * Azure Southeast Asia (Singapore): `xy12345.southeast-asia.azure`
  </Accordion>
</AccordionGroup>

<Admonition type="note" icon="⚠️" title="Important">
  The account identifier does not include the <code>snowflakecomputing.com</code> domain.
</Admonition>

Save your Snowflake Account Identifier and region as you will need them in the next steps.

## Step 2: Ensure change tracking is enabled

Before setting up a Snowflake Data Pool (Propel's high-speed data store and cache), it's important to make sure CHANGE\_TRACKING is enabled on the tables that you want to use as the underlying data.

You can enable it with the following command:

```sql theme={"system"}
ALTER TABLE YOUR_TABLE_NAME SET CHANGE_TRACKING = TRUE;
```

## Step 3: Create the Snowflake user, role, and warehouse

Next, you need to create the Snowflake user, role, and warehouse for Propel.

We recommend creating a dedicated user, role, and warehouse for Propel. By creating a dedicated role and user, you can apply the [principle of least privilege](https://en.wikipedia.org/wiki/Principle_of_least_privilege) to give it only the necessary privileges. Additionally, by having a dedicated warehouse, you can monitor and control costs and ensure you have the necessary compute resources to operate the integration.

Copy the script below to a new [Snowflake worksheet](https://docs.snowflake.com/en/user-guide/ui-worksheet.html) and select the "All Queries" checkbox.

<Note>
  Make sure you replace the values for the `user_password`, `database_name`, and `schema_name` variables with the following values **before running the script**.

  * `user_password` it must be at least 8 characters long, contain at least 1 digit, 1 uppercase letter and 1 lowercase letter
  * `database_name` with the name of the Snowflake database where your schema is located, for example `ANALYTICS`.
  * `schema_name` with the database and schema name where your tables are located, for example `ANALYTICS.PUBLIC`.
</Note>

<Note>
  You will need to run this script with a user that has `SECURITYADMIN` and `ACCOUNTADMIN` [system-defined roles](https://docs.snowflake.com/en/user-guide/security-access-control-overview.html#system-defined-roles).
</Note>

```jsx theme={"system"}
begin;

    use role accountadmin;
    /* Create variables for user, password, role, warehouse, database, and schema (needs to be uppercase for objects) */
    set role_name = 'PROPELLER';
    set user_name = 'PROPEL_USER';
    set warehouse_name = 'PROPELLING';

    /* Must be at least 8 characters long, contain at least 1 digit, 1 uppercase letter and 1 lowercase letter */
    set user_password = '';               /* Replace with a strong password */
    set database_name = 'ANALYTICS';      /* Replace with your Snowflake database name */
    set schema_name = 'ANALYTICS.PUBLIC'; /* Replace with your Snowflake schema name */

    /* Grant sysadmin role access to the database */
    grant usage,modify
    on database identifier($database_name)
    to role sysadmin;

    /* Grant sysadmin role access to the schema */
    grant usage,modify
    on schema identifier($schema_name)
    to role sysadmin;

    /* Change role to securityadmin for user / role steps */
    use role securityadmin;

    /* Create a role for Propel */
    create role if not exists identifier($role_name);
    grant role identifier($role_name) to role SYSADMIN;

     /* Change role to sysadmin for warehouse and database steps */
    use role sysadmin;

    /* Create a warehouse for Propel */
    create warehouse if not exists identifier($warehouse_name)
    warehouse_size = xsmall
    warehouse_type = standard
    auto_suspend = 60
    auto_resume = true
    initially_suspended = true;

    /* Change role to securityadmin for user / role steps */
    use role securityadmin;

    /* Create a user for Propel */
    create user if not exists identifier($user_name)
    password = $user_password
    default_role = $role_name
    default_warehouse = $warehouse_name;

    grant role identifier($role_name) to user identifier($user_name);

    /* Change role to accountadmin for warehouse and database steps */
    use role accountadmin;

    /* Grant Propel role access to the warehouse */
    grant usage, monitor
    on warehouse identifier($warehouse_name)
    to role identifier($role_name);

    /* Grant Propel role access to the database */
    grant usage, monitor
    on database identifier($database_name)
    to role identifier($role_name);

    /* Grant Propel role access to the schema */
    grant create procedure, create stage, create task, create stream, usage
    on schema identifier($schema_name)
    to role identifier($role_name);

    /* Grant Propel role select on all tables in the schema */
    grant select on all tables
    in schema identifier($schema_name)
    to role identifier($role_name);

    /* Grant Propel role select on all future tables in the schema */
    grant select on future tables
    in schema identifier($schema_name)
    to role identifier($role_name);

    grant execute task on account
    to role identifier($role_name);

commit;

```

## Step 4: (Optional) Configure Snowflake Network Policy

If you have defined a [Snowflake Network Policy](https://docs.snowflake.com/en/user-guide/network-policies.html#), you need to update it to include the Propel IP address by following the instructions on [modifying network policies](https://docs.snowflake.com/en/user-guide/network-policies.html#modifying-network-policies).

Propel IP Addresses:

```
18.219.73.236
3.15.73.135
3.17.239.162
```

## Step 5: Create a Snowflake Data Pool

Now that you have created the Snowflake user, role, and warehouse, you can create a Snowflake Data Pool.

<Tabs>
  <Tab title="Console">
    <Steps>
      <Step title="Create a Data Pool">
        Go to the **“Data Pools”** section in the Console, click **“Create Data Pool”** and click on the **“Snowflake”** tile.

        <Frame>
          <img src="https://mintcdn.com/propeldocs/Dnye5EmtO6L5-zx0/images/docs/2024-09-snowflake-data-pool-01.png?fit=max&auto=format&n=Dnye5EmtO6L5-zx0&q=85&s=945033327aa0de0692a9da7e7cd973f1" alt="A screenshot demonstrating how to create a new Data Pool in the Propel Console." width="1446" height="641" data-path="images/docs/2024-09-snowflake-data-pool-01.png" />
        </Frame>

        If you create a Snowflake Data Pool for the first time, you must create your Snowflake credentials for Propel to connect to your Snowflake account.

        <Frame>
          <img src="https://mintcdn.com/propeldocs/Dnye5EmtO6L5-zx0/images/docs/2024-09-snowflake-data-pool-02.png?fit=max&auto=format&n=Dnye5EmtO6L5-zx0&q=85&s=66f65ef31493f75d31b6e54d59860bae" alt="A screenshot demonstrating how to create new credentials for a Snowflake Data Pool in the Propel Console." width="1445" height="442" data-path="images/docs/2024-09-snowflake-data-pool-02.png" />
        </Frame>
      </Step>

      <Step title="Enter credential details">
        To create your Snowflake credentials, you will need the following details:

        * **Credentials name**: A name to identify the credentials in Propel.
        * **Snowflake Account Identifier**: The account identifier from [Step 1](#step-1-find-your-snowflake-account-identifier).
        * **Database**: The database where your schema is located, for example `ANALYTICS`.
        * **Schema**: The database and schema name where your tables are located, for example `PUBLIC`.
        * **Warehouse**: The warehouse you created in [Step 3](#step-3-create-the-snowflake-user-role-and-warehouse).
        * **Role**: The role you created in [Step 3](#step-3-create-the-snowflake-user-role-and-warehouse).
        * **User**: The user you created in [Step 3](#step-3-create-the-snowflake-user-role-and-warehouse).
        * **Password**: The password for the user you created in [Step 3](#step-3-create-the-snowflake-user-role-and-warehouse).

                  <Frame>
                    <img src="https://mintcdn.com/propeldocs/Dnye5EmtO6L5-zx0/images/docs/2024-09-snowflake-data-pool-03.png?fit=max&auto=format&n=Dnye5EmtO6L5-zx0&q=85&s=c584f80f350256907b8aab17aa107998" alt="A screenshot demonstrating how to create new credentials for a new Snowflake Data Pool in the Propel Console." width="848" height="889" data-path="images/docs/2024-09-snowflake-data-pool-03.png" />
                  </Frame>
      </Step>

      <Step title="Test your credentials">
        After entering your Snowflake credentials, click **“Create and test credentials”** to ensure Propel can successfully connect to your Snowflake account.

        If the connection is successful, you will see a confirmation message. If not, check your entered credentials and try again.

        <Frame>
          <img src="https://mintcdn.com/propeldocs/Dnye5EmtO6L5-zx0/images/docs/2024-09-snowflake-data-pool-04.png?fit=max&auto=format&n=Dnye5EmtO6L5-zx0&q=85&s=6f9bef8e6b2f6d719626b75fdbd44c6c" alt="A screenshot demonstrating how the Snowflake credentials are tested in the Propel Console." width="850" height="483" data-path="images/docs/2024-09-snowflake-data-pool-04.png" />
        </Frame>
      </Step>

      <Step title="Introspect your Snowflake tables">
        Here, you will see a list of tables available to ingest. If you don't see the table you want to ingest, make sure your user has the right permissions to access the table.

        <Frame>
          <img src="https://mintcdn.com/propeldocs/Dnye5EmtO6L5-zx0/images/docs/2024-09-snowflake-data-pool-05.png?fit=max&auto=format&n=Dnye5EmtO6L5-zx0&q=85&s=14c8ea654c7e1cd058944da948b1f3bc" alt="A screenshot demonstrating how the Snowflake credentials are tested in the Propel Console." width="856" height="701" data-path="images/docs/2024-09-snowflake-data-pool-05.png" />
        </Frame>
      </Step>

      <Step title="Select table and columns">
        Continue with the setup flow, and then select the table as well as the columns you want to use.

        <Frame>
          <img src="https://mintcdn.com/propeldocs/Dnye5EmtO6L5-zx0/images/docs/2024-09-snowflake-data-pool-06.png?fit=max&auto=format&n=Dnye5EmtO6L5-zx0&q=85&s=14d4ad15ddb1b1d44569b5561a14216e" alt="A screenshot demonstrating how to select a table for a new Snowflake Data Pool in the Propel Console." width="1424" height="922" data-path="images/docs/2024-09-snowflake-data-pool-06.png" />
        </Frame>
      </Step>

      <Step title="Configure data type and settings">
        Select whether your data is "Append-only" or "Mutable data".

        To learn more, read out guide on [Selecting table engine and sorting key](/docs/guides/table-engine-and-sorting-key).

        <Frame>
          <img src="https://mintcdn.com/propeldocs/Dnye5EmtO6L5-zx0/images/docs/2024-09-snowflake-data-pool-07.png?fit=max&auto=format&n=Dnye5EmtO6L5-zx0&q=85&s=eb68a18895cef118eb44a17346329831" alt="A screenshot demonstrating how to select the select primary timestamp and Unique ID for a new Snowflake Data Pool in the Propel Console." width="1450" height="496" data-path="images/docs/2024-09-snowflake-data-pool-07.png" />
        </Frame>

        Answer the questions in the wizard to complete the setup.

        <Frame>
          <img src="https://mintcdn.com/propeldocs/Dnye5EmtO6L5-zx0/images/docs/2024-09-snowflake-data-pool-08.png?fit=max&auto=format&n=Dnye5EmtO6L5-zx0&q=85&s=b1777594b31bf73b282fa70e4cd1c212" alt="A screenshot demonstrating how to select a table for a new Snowflake Data Pool in the Propel Console." width="1445" height="554" data-path="images/docs/2024-09-snowflake-data-pool-08.png" />
        </Frame>

        Confirm your table settings and click **“Continue”**.

        <Frame>
          <img src="https://mintcdn.com/propeldocs/Dnye5EmtO6L5-zx0/images/docs/2024-09-snowflake-data-pool-09.png?fit=max&auto=format&n=Dnye5EmtO6L5-zx0&q=85&s=e8bd86aceec4249fd60bfa31d29e0bb8" alt="A screenshot demonstrating how to select a table for a new Snowflake Data Pool in the Propel Console." width="1445" height="827" data-path="images/docs/2024-09-snowflake-data-pool-09.png" />
        </Frame>
      </Step>

      <Step title="Set sync interval">
        Specify how often you want Propel to sync your data.

        <Frame>
          <img src="https://mintcdn.com/propeldocs/Dnye5EmtO6L5-zx0/images/docs/2024-09-snowflake-data-pool-10.png?fit=max&auto=format&n=Dnye5EmtO6L5-zx0&q=85&s=056e0a4d873fb9d5fab9eb06d007485f" alt="A screenshot demonstrating how to select the sync interval for a new Snowflake Data Pool in the Propel Console." width="1449" height="335" data-path="images/docs/2024-09-snowflake-data-pool-10.png" />
        </Frame>
      </Step>

      <Step title="Name your Data Pool">
        You can enable [access policies](/docs/access-policies) later to restrict access to the data pool.

        <Frame>
          <img src="https://mintcdn.com/propeldocs/Dnye5EmtO6L5-zx0/images/docs/2024-09-snowflake-data-pool-11.png?fit=max&auto=format&n=Dnye5EmtO6L5-zx0&q=85&s=8e79eedec68ae5b44206442c2d9d8329" alt="A screenshot demonstrating how to select the sync interval for a new Snowflake Data Pool in the Propel Console." width="1443" height="514" data-path="images/docs/2024-09-snowflake-data-pool-11.png" />
        </Frame>

        Click **"Create Data Pool"** to complete the setup.
      </Step>

      <Step title="Validate setup">
        Propel will connect to your Snowflake account, create a stream on the table to capture change data and sync it to Propel.

        <Frame>
          <img src="https://mintcdn.com/propeldocs/Dnye5EmtO6L5-zx0/images/docs/2024-09-snowflake-data-pool-12.png?fit=max&auto=format&n=Dnye5EmtO6L5-zx0&q=85&s=e682100c8f6da98dc2ae039fc74c20df" alt="A screenshot demonstrating how validate a new Snowflake Data Pool is set up correctly in the Propel Console." width="1048" height="351" data-path="images/docs/2024-09-snowflake-data-pool-12.png" />
        </Frame>
      </Step>

      <Step title="Preview data">
        Then you can click **"Preview Data"** to make sure your data is synchronized correctly.

        <Frame>
          <img src="https://mintcdn.com/propeldocs/Dnye5EmtO6L5-zx0/images/docs/2024-09-snowflake-data-pool-13.png?fit=max&auto=format&n=Dnye5EmtO6L5-zx0&q=85&s=6ef08503579491d8e7c08036aa67c2ec" alt="A screenshot demonstrating how to preview data in a Data Pool in the Propel Console." width="1039" height="899" data-path="images/docs/2024-09-snowflake-data-pool-13.png" />
        </Frame>
      </Step>
    </Steps>
  </Tab>

  <Tab title="API">
    First, you need to create a Data Source with your Snowflake credentials.

    ```graphql theme={"system"}
    mutation {
      createSnowflakeDataSource(input: {
        uniqueName: "SnowflakeCredentials"
        description: "My Snowflake Credentials"
        connectionSettings: {
          account: "xy12761.us-east-2.aws"
          database: "ANALYTICS"
          warehouse: "PROPELLING"
          schema: "PUBLIC"
          role: "PROPELLER"
          username: "PROPEL_USER"
          password: "<SUPER_SECURE_PASSWORD>"
        }
      }) {
        ...on DataSourceResponse {
          dataSource {
            id
            uniqueName
            status
          }
        }
      }
    }
    ```

    To create the Data Pool, you need to:

    * Take the `id` of the Data Source to create the Data Pool replacing the `<DATA_SOURCE_ID>` in the example below.
    * Provide the name of the table to ingest in the `table` field.
    * Specify the columns you want to ingest.

    ```graphql theme={"system"}
    mutation {
      createDataPoolV2(
        input: {
          dataSource: "<DATA_SOURCE_ID>"
          table: "ORDERS"
          timestamp: {
            columnName: "created_at"
          }
          uniqueName: "SnowflakeDataPool"
          description: "A sample dataset consisting of orders for a taco ordering SaaS"
          accessControlEnabled: true
          tableSettings: {
            engine: {
              mergeTree: {
                type: MERGE_TREE
              }
            }
            orderBy: ["created_at"]
          }
          columns: [
            { columnName: "quantity", type: INT32, isNullable: false },
            { columnName: "taco_name", type: STRING, isNullable: false },
            { columnName: "sauce_name", type: STRING, isNullable: false },
            { columnName: "created_at", type: TIMESTAMP, isNullable: false },
            { columnName: "restaurant_id", type: STRING, isNullable: false },
            { columnName: "restaurant_name", type: STRING, isNullable: false },
            { columnName: "taco_total_price", type: FLOAT, isNullable: false },
            { columnName: "order_item_id", type: STRING, isNullable: false },
            { columnName: "tortilla_id", type: STRING, isNullable: false },
            { columnName: "toppings", type: JSON, isNullable: false },
            { columnName: "sauce_id", type: STRING, isNullable: false },
            { columnName: "taco_unit_price", type: FLOAT, isNullable: false }
          ]
        }
      ) {
        dataPool {
          id
          uniqueName
          description
          columns {
            nodes {
              columnName
              clickHouseType
              isNullable
            }
          }
        }
      }
    }
    ```
  </Tab>

  <Tab title="Terraform">
    ```hcl theme={"system"}
    resource "propel_data_source" "my_snowflake" {
      unique_name = "SnowflakeCredentials"
      description = "My Snowflake Credentials"
      type        = "SNOWFLAKE"

      snowflake_connection_settings {
        account   = "xy12761.us-east-2.aws"
        database  = "ANALYTICS"
        warehouse = "PROPELLING"
        schema    = "PUBLIC"
        role      = "PROPELLER"
        username  = "PROPEL_USER"
        password  = var.snowflake_password
      }
    }

    variable "snowflake_password" {
      type = string
      sensitive = true
    }

    resource "propel_data_pool" "snowflake_data_pool" {
      unique_name = "SnowflakeDataPool"
      description = "A sample dataset consisting of orders for a taco ordering SaaS"
      data_source = propel_data_source.my_snowflake.id
      table       = "ORDERS"
      timestamp   = "created_at"

      access_control_enabled = true

      table_settings {
        engine {
          type = "MERGE_TREE"
        }
        order_by = ["timestamp"]
      }

      column {
        name     = "quantity"
        type     = "INT32"
        nullable = false
      }
      column {
        name     = "taco_name"
        type     = "STRING"
        nullable = false
      }
      column {
        name     = "sauce_name"
        type     = "STRING"
        nullable = false
      }
      column {
        name     = "restaurant_id"
        type     = "STRING"
        nullable = false
      }
      column {
        name     = "restaurant_name"
        type     = "STRING"
        nullable = false
      }
      column {
        name     = "taco_total_price"
        type     = "FLOAT"
        nullable = false
      }
      column {
        name     = "order_item_id"
        type     = "STRING"
        nullable = false
      }
      column {
        name     = "tortilla_id"
        type     = "STRING"
        nullable = false
      }
      column {
        name     = "toppings"
        type     = "JSON"
        nullable = false
      }
      column {
        name     = "sauce_id"
        type     = "STRING"
        nullable = false
      }
      column {
        name     = "taco_unit_price"
        type     = "FLOAT"
        nullable = false
      }
      column {
        name     = "order_id"
        type     = "STRING"
        nullable = false
      }
      column {
        name     = "order_item_generated_at"
        type     = "TIMESTAMP"
        nullable = false
      }
      column {
        name     = "taco_id"
        type     = "STRING"
        nullable = false
      }
      column {
        name     = "timestamp"
        type     = "TIMESTAMP"
        nullable = false
      }
      column {
        name     = "tortilla_name"
        type     = "STRING"
        nullable = false
      }
    }

    ```
  </Tab>
</Tabs>

***
