# Bulk Create Snowflake Data Sources

{% hint style="info" %}
**Private preview**: This feature is available to select accounts. Contact your Immuta representative for details.
{% endhint %}

## Requirements

* Snowflake Enterprise Edition
* Snowflake X-Large or Large warehouse is strongly recommended

## Create Snowflake data sources

Make a request to the Immuta V2 API [create data source endpoint](https://documentation.immuta.com/latest/developer-guides/api-intro/immuta-v2-api#create-a-data-source), as the Immuta UI does not support creating more than 1000 data sources. The following options must be specified in your request to ensure the maximum performance benefits of bulk data source creation. *The `Skip Stats Job` tag is only required if you are using* [*specific policies that require stats*](https://documentation.immuta.com/latest/configuration/integrations/registering-metadata/data-sources/data-source-settings/how-to-guides/disable-data-sampling)*; otherwise, Snowflake data sources automatically skip the stats job.*

```json
"options": {
    "disableSensitiveDataDiscovery": true,
    "tableTags": [
        "Skip Stats Job"
    ]
}
```

Specifying `disableSensitiveDataDiscovery` as `true` ensures that [identification](https://documentation.immuta.com/latest/configuration/manage-data-metadata/data-discovery) will not be applied when the new data sources are created in Immuta, regardless of how it is configured for the Immuta tenant. Disabling identification improves performance during data source creation.

Applying the `Skip Stats Job` tag using the `tableTag` value will ensure that some jobs that are not vital to data source creation are skipped, specifically the fingerprint and high cardinality check jobs.

When the Snowflake bulk data source creation feature is configured, the create data source endpoint operates asynchronously and responds immediately with a `bulkId` that can be used for monitoring progress.

## Monitor progress

To monitor the progress of the background jobs for the bulk data source creation, make the following request using the `bulkId` from the response of the previous step:

```bash
curl \
    --request POST \
    --header "Content-Type: application/json" \
    --header "Authorization: Bearer dea464c07bd07300095caa8" \
    --data @example_payload.json
    https://your-immuta-url.com/jobs?bulkId=<your-bulkId>
```

The response will contain a list of job states and the number of jobs currently in each state. If errors were encountered during processing, a list of errors will be included in the response:

```json
{
  "total":"99893",
  "completed":"99892",
  "failed":"0",
  "pending":"1",
  "errors":null
}
```

With these recommended configurations, bulk creating 100,000 Snowflake data sources will take between six and seven hours for all associated jobs to complete.


---

# Agent Instructions: Querying This Documentation

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

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://documentation.immuta.com/latest/configuration/integrations/registering-metadata/data-sources/register-data-sources/snowflake-tutorial/snowflake-bulk-create.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
