> For the complete documentation index, see [llms.txt](https://help.bioinsight.illumina.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.bioinsight.illumina.com/connected-analytics/project-web-ui/p-base/base-snowflake.md).

# Snowflake

### User

Every Base user has 1 snowflake username: ICA\_U\_\<id>

### User/Project-Bundle

For each user/project-bundle combination a role is created: ICA\_UR\_\<id>\_\<name project/bundle>\_\_\<id>

This role receives the viewer or contributor role of the project/bundle, depending on their permissions in Platform Core.

## Roles

Every project or bundle has a dedicated Snowflake database.

For each database, 2 roles are created:

* \<project/bundle name>\_\<id>\_VIEWER
* \<project/bundle name>\_\<id>\_CONTRIBUTOR

### Project viewer role

This role receives

* REFERENCE and SELECT rights on the tables/views within the project's PUBLIC schema.
* Grants on the viewer roles of the bundles linked to the project.

### Project contributor role

This role receives the following rights on current an future objects in the project's/bundle database in the PUBLIC schema:

* ownership
* select, insert, update, delete, truncate and references on tables/views/materialized views
* usage on sequences/functions/procedures/file formats
* write, read and usage on stages
* select on streams
* monitor and operate on tasks

It also receives grant on the viewer role of the project.

## Warehouses

For each project (not bundle!) 2 warehouses are created, whose size can be changed in Platform Core at **projects > your\_project > project settings > details**.

* \<projectname>\_\<id>\_QUERY
* \<projectname>\_\<id>\_LOAD

<details>

<summary>Using Load instead of Query warehouse</summary>

When you generate an oauth token, Platform Core always uses the QUERY warehouse by default (see bold part below):

*snowsql -a iap.us-east-1 -u ICA\_U\_277853 --authenticator=oauth -r ICA\_UR\_274853\_603465\_264891 -d atestbase2\_264891 -s PUBLIC **-w ATESTBASE2\_264891\_QUERY** --token=\<token>*

If you wish to use the LOAD warehouse in a session, you have 2 options :

1. Change the name in the connect string : *`snowsql -a iapdev.us-east-1 -u ICA_U_277853 --authenticator=oauth -r ICA_UR_277853_603465_264891 -d atestbase2_264891 -s PUBLIC -w ATESTBASE2_264891_`**`LOAD`**` `` ``--token=<token> `*
2. Execute the following statement after logging in : “*`use warehouse ATESTBASE2_264891_LOAD`”*

To determine which warehouse you are using, execute : `select current_warehouse()`;

</details>

### Synchronizing Tables

if you have [created tables](https://docs.snowflake.com/en/sql-reference/sql/create-table) directly in Snowflake with the OAuth token, you can synchronize them to appear in Platform Core by means of the **Projects > your\_project > Base > Tables > Sync** button.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://help.bioinsight.illumina.com/connected-analytics/project-web-ui/p-base/base-snowflake.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
