Sharing semantic views¶
Providers can share semantic views in private listings, in public listings on the Snowflake Marketplace, and in organizational listings.
Share a semantic view in a listing¶
The example below describes how to share a semantic view on the Snowflake Marketplace.
To use Snowsight to share a semantic view, follow these steps:
Note
You can also attach a semantic view to a private listing or an organizational listing.
Sign in to Snowsight.
In the navigation menu, select Data sharing » Provider Studio.
Select + Create Listing » Snowflake Marketplace.
In the Create Listing window, enter a name for your listing.
Enter a subtitle and select a profile for your listing.
Select + Add data product.
Click + Select and select the database and schema that has the semantic view or views that you want to share.
In the database, select the semantic view or views that you want to attach to the listing.
To create the share, select Done and then Save.
Fill in the remaining details for the listing. For more information about these fields, refer to Configure listings.
Access type
Free to offer a data product that is freely available to consumers.
Limited trial to offer a trial of your data product, with unlimited access to the data product available on request.
Description
Data dictionary
Business needs
Quick Start Examples
Categories
Documentation
Legal Terms
Attributes
Region Availability
Select Submit for approval, and then select one of the following:
Publish once approved
Submit for approval only
To use SQL to share a semantic view, follow these steps:
To create a share for your listing, use the CREATE SHARE command:
CREATE SHARE my_share;
CopyTo ensure that the tables referenced in the view are also shared, run the following GRANT <privilege> … TO SHARE commands:
GRANT REFERENCES ON SEMANTIC VIEW my_view TO SHARE my_share; GRANT SELECT ON SEMANTIC VIEW my_view TO SHARE my_share;
CopySemantic views reference underlying tables. To ensure that the necessary privileges are granted on these tables, run the following GRANT <privilege> … TO SHARE command:
GRANT SELECT ON TABLE my_table TO SHARE my_share;
CopyRepeat this step for each table used by the semantic view.
To identify the tables that are referenced, run the DESCRIBE SEMANTIC VIEW command:
DESCRIBE SEMANTIC VIEW my_semantic_view;
CopyTo create a new secure object in the current account, use the CREATE LISTING command and attach the semantic view to the listing.