Export to cloud storage
Sigma allows you to export data to cloud storage on a scheduled or ad hoc basis. This is particularly useful for large, multi-GB data exports.
When exporting data to cloud storage, you can choose between exports generated in your data warehouse, and exports generated directly in Sigma. Depending on which method you choose, you have different options for file format, export limit, and storage integration configuration needs.
This document covers the different cloud storage options available, as well as how to configure ad hoc and scheduled cloud storage exports.
Sigma generates exports from the workbook's latest published version. Changes you make to a workbook draft, custom view, or exploration cannot be exported unless you save or publish the changes. Depending on your export destination, you can also choose to export a saved view or tagged version of the workbook. If you are exporting elements that are only on a saved view, you must open the export modal from the saved view.
For a matrix of supported file formats and saved view/version tag export support, see Available export destinations and formats.
User requirements
For all cloud storage exports:
- You must be assigned an account type with the Export to cloud permission enabled.
There are additional requirements if you choose to use data warehouse generated exports when exporting to cloud storage.
Data warehouse generated exports
If you are using a Snowflake connection:
- The workbook's data source must originate from a Snowflake connection.
If you are using a Redshift connection:
- The workbook's data source must originate from a Redshift connection.
- You must have a Redshift cluster with the data you want to unload.
Choosing a cloud storage export method
Each cloud storage export method has different configuration requirements and available export formats and limitations. The two methods available are:
-
Exports generated directly in Sigma: Sigma builds the export file, similar to other export methods. This results in a cleaner and more consistent export format that aligns with what users sees in Sigma.
-
Exports generated in your data warehouse: Your data platform builds the export file. As each data platform has its own export syntax and behavior, this may result in a inconsistencies between the final exported file and what users see in Sigma.
A brief overview of the key considerations for each method is:
| Sigma generated | Data warehouse generated | |
|---|---|---|
| Supported connections | All Sigma-supported connections | Snowflake and Redshift only. With Snowflake, you can export to Amazon S3, Google Cloud Storage, or Azure Blob Storage. With Redshift, you can export to Amazon S3. |
| Exportable workbook portions | Entire workbook, workbook page, and workbook elements | Workbook elements only |
| All supported file types | Excel, PDF, PNG, JSON, CSV | CSV files only |
| File size limit | 1GB per file | 5GB per file |
| Storage integration configuration | Defined in Sigma | Defined in your data warehouse |
High-level overview
Exporting to cloud storage is a multi-step process. The required steps vary depending on your chosen export method. A high-level overview is:
- Configure your storage integration
- (Data warehouse generated exports only) Format a target file path
- Export your data as desired:
Step 1: Configure your storage integration
The location where you configure your storage integration and the steps to configure it depend on the type of cloud storage export you select:
- Configure an integration for Sigma generated exports
- Configure an integration for data warehouse generated exports
Configure an integration for Sigma generated exports
An user assigned the admin account type must configure a storage integration for your Sigma organization. See Configure storage integration using customer-owned bucket.
After configuring this, proceed to Step 3: Export your data as desired. You do not need to complete Step 2: Format a target file path.
Configure an integration for data warehouse generated exports
See instructions for your data platform:
For Snowflake connections
Configure either a Snowflake cloud storage integration or an external stage to store your data. If you want to use private link with your Snowflake connection, you must configure an external stage.
Create a Snowflake cloud storage integration
To create a storage integration, follow Snowflake’s instructions to create your storage integration. See CREATE STORAGE INTEGRATION in the Snowflake documentation, or follow the guide for your cloud storage provider:
- Amazon S3: See Option 1: Configuring a Snowflake storage integration to access Amazon S3 in the Snowflake documentation.
- Google Cloud Storage: See Configuring an integration for Google Cloud Storage in the Snowflake documentation.
- Azure: See Configuring an Azure container for loading data in the Snowflake documentation. Follow the steps for Option 1: Configuring a Snowflake storage integration.
After you set up the storage integration, grant the USAGE privilege on the storage integration to the Snowflake role used by your Sigma Snowflake Connection. A Sigma admin can check the role used by the connection in the connection settings. See Connect to Snowflake.
If no role is specified in your Sigma Snowflake Connection, Snowflake uses a default role.
After configuring this, proceed to Step 2: Format a target file path.
Create an external stage
To create an external stage, see the Snowflake documentation on CREATE STAGE.
After configuring this, proceed to Step 2: Format a target file path.
For Redshift connections
-
Before you can export to cloud storage from Sigma, you must set up an Amazon S3 bucket to export to. See the AWS documentation on Creating a bucket.
-
Grant the appropriate write access permissions for your AWS Identity and Access Management (IAM) role. You need to grant
s3:PutObjectpermissions. For more information, see the AWS documentation on PutObject and Adding a bucket policy by using the Amazon S3 console. -
Verify that you are able to unload data from Redshift to S3 by setting up a test export from Redshift. The export should look something like:
unload ('select * from venue') to 's3://amzn-s3-demo-bucket/tickit/unload/venue_' iam_role 'arn:aws:iam::0123456789012:role/MyRedshiftRole';For more information on this command, see the AWS documentation on Unloading data from Amazon S3.
After configuring this, proceed to Step 2: Format a target file path.
Step 2: Format a target file path (Warehouse generated exports only)
If you are using a cloud storage integration, see Format a cloud storage destination URI. If you are using an external stage, see Format an external stage URI.
Format a cloud storage destination URI
For both Snowflake and Redshift connections, the destination URI represents the target file path for your export in your cloud storage service.
Use the following template to format your URI:
<schema>://<bucket>/<filepath>/<filename><filetype><compression>
Where:
- Schema: The export destination. Specify “s3” if exporting to AWS S3, “gcs” if exporting to GCS, and "azure" if exporting to Azure.
- Bucket: The highest level storage object supported by the cloud storage provider. Your S3 bucket, GCS bucket, or Azure container.
- File path (optional): Target subdirectories in the bucket or container. If you do not specify a file path, exported files are added directly to the root.
- File name: A file name to use for the exported file.
- File type: The file format for the exported file. Must be
.csv. - Compression (optional): A compression option for the exported file. Can only be
.gz.
An example destination URI is:
s3://my-sigma-bucket/cloud-exports/sales.csv.gz
If your URI is identical to an existing file in the bucket, the existing file is overwritten.
Format an external stage URI
If you are using an external stage, use the following template to format your URI:
@<database>.<schema>.<stage_name><filename><filetype><compression>
This template follows the convention for fully-qualified stage names in Snowflake, with the addition of the @ character at the beginning of the name. For more information about schema names in Snowflake, see Snowflake's documentation on Object identifiers.
Step 3: Export your data
You can export to cloud storage on an ad hoc or scheduled basis.
Send an ad hoc export to cloud storage
-
From the workbook menu (
), select Share and export> Export....
If the Cloud Storage option is not available, the workbook is in Edit mode. Either publish your draft or return to the latest published or tagged version of the workbook before attempting to export. -
Select Cloud storage.
-
In the Export generation dropdown, select either Direct from Sigma or From data warehouse. See Choosing a cloud storage export method for more information.
-
If you selected Data warehouse, enter your cloud storage information:
- For Snowflake:
- If you are using a cloud storage integration, in the Storage integration field, enter the name of your Snowflake storage integration. If you are using an external stage, leave this field blank. See Configure cloud storage.
- For Cloud storage URI, enter your cloud storage destination URI or external stage path. For guidance formatting the URI, see Format a cloud storage destination URI or Format an external stage URI.
- For Redshift:
- For IAM role, enter your AWS Identity and Access Management role.
- For Cloud storage URI, enter the destination URI. For guidance formatting the URI, see Format a cloud storage destination URI.
- For Snowflake:
-
If you selected Direct from Sigma, your organization's storage integration details are automatically populated. Confirm these details are correct. See Configure an integration for Sigma generated exports for more information.
-
From the Element menu, select the portion of the workbook you want to export.
-
For the specified element, select a file format.
-
Click Export.
Sigma sends an export confirmation message to your email address.
Schedule a cloud storage export
-
From the workbook menu (
), select Share and export> Schedule exports....
-
If this is the first schedule for the workbook, click Add schedule, otherwise click + New schedule.
-
Select Cloud storage.
-
In the Export generation dropdown, select either Direct from Sigma or From data warehouse. See Choosing a cloud storage export method for more information.
-
If you selected Data warehouse, enter your cloud storage information:
- For Snowflake:
- If you are using a cloud storage integration, in the Storage integration field, enter the name of your Snowflake storage integration. If you are using an external stage, leave this field blank. See Configure cloud storage.
- For Cloud storage URI, enter your cloud storage destination URI or external stage path. For guidance formatting the URI, see Format a cloud storage destination URI or Format an external stage URI.
- For Redshift:
- For IAM role, enter your AWS Identity and Access Management role.
- For Cloud storage URI, enter the destination URI. For guidance formatting the URI, see Format a cloud storage destination URI.
- For Snowflake:
-
If you selected Sigma, your organization's storage integration details are automatically populated. Confirm these details are correct. See Configure an integration for Sigma generated exports for more information.
-
From the Element menu, select the portion of the workbook you want to export.
-
For the specified element, select a file format.
-
(Optional) Select the checkbox for Prefix file name with the current date and time.
If you do not select this option, the same file name is used for each scheduled export and the file is overwritten every time the export runs. -
In the Frequency section, set the delivery schedule:
-
(Optional) Select the dropdown for Daily and select Weekly, Monthly, or Custom.
-
For Daily, select Once a day or Multiple times.
-
For Weekly, select which days of the week to send an email, and choose between Once a day or Multiple times.
-
For Monthly, select which day of the month to send an email, and the time of day.
-
For Custom, specify a schedule using cron syntax. See Set up a custom delivery schedule.
If you select Multiple times, specify the frequency. For example, every 2 hours on the :15 of the hour between 9 AM and 6 PM.
If you don't have the option to set a specific frequency, export frequency might be restricted for your organization. For more details, see Restrict export recipients and frequency.
-
-
(Optional) Adjust the default schedule time zone using the dropdown menu.
-
(Optional) Choose how often to send the export: Always or only If a condition is met. See Schedule a conditional export or alert.
- (Optional) If you choose to send an export only If a condition is met, you can turn on the switch to stop notifying after a set number of occurrences per day, week, or in total. (This feature is in beta and subject to the Beta features notice).
-
(Optional) Select the checkbox for Customize control values to filter the exported data according to the value of one or more workbook controls. See Configure additional options for exports.
-
Click Create.
Updated 4 days ago
