Configuring Cross-Cloud Auto-fulfillment¶
This topic describes how Snowflake providers can configure cross-cloud auto-fulfillment for a listing to automatically replicate their data product to other Snowflake regions.
In this Topic:
When auto-fulfillment is enabled for a listing, Snowflake automatically replicates your data product to consumer regions as needed. The data product is the tables, schemas, UDFs, UDTFs, views, etc. that are part of your listing.
Auto-fulfillment lets you avoid replicating your data products and approving requests for your listings, reducing the manual work you need to do and helping consumers access your listings faster.
Auto-fulfillment is not supported for personalized listings. Auto-fulfillment is not currently supported for Snowflake U.S. Government Regions, such as AWS GovCloud.
About Cross-Cloud Auto-fulfillment¶
You can configure and enable auto-fulfillment when a listing is in either draft or published state. When auto-fulfillment is enabled for a listing, Snowflake automatically replicates your listing’s product to regions as needed.
Making your listing available in other regions depends on the type of listing:
For free listings, you have the option of using listing auto-fulfillment or manually replicating the data. You can pre-associate a share with the listing in a remote region to let consumers get the product instantly without submitting a request.
For personalized listings, you must replicate data when a consumer requests your listing. See Manually Replicate Data Before Fulfilling a Listing Request.
For private listings, Snowsight automatically detects whether or not the target account is in a different region and enables auto-fulfillment. You cannot manually replicate private listings to other regions at this time.
By default, your product exists only in the region of the account that created the product. After the listing is published, auto-fulfillment replicates the listing’s product to your chosen regions only when a consumer requests the product.
Make sure to allocate time to set up replication and understand the costs involved. All cross-region data sharing uses Snowflake’s data replication functionality. For more information, see Sharing Data Securely Across Regions and Cloud Platforms. Depending on the size of your data product, it can take some time for the initial replica of the product to be shared with the consumer. The size of your data product can also affect the cost of replication.
How Cross-Cloud Auto-fulfillment Works¶
When a consumer requests your product, Snowflake checks if the product exists in the consumer’s region. If the product already exists in the consumer’s region, fulfillment of the listing continues.
If your product does not yet exist in the consumer’s region, the following occurs:
The system creates a secure share area for you in the consumer’s region.
The system-managed secure share area replicates the product from the original source region to the consumer’s region according to a schedule defined by you, the provider. Normal replication charges apply.
All future consumers in the region receive the replicated product.
Considerations for Auto-fulfillment¶
If you signed up for Snowflake using AWS Marketplace, GCP Marketplace, or Azure Marketplace, you can only create accounts and secure share areas in those clouds. Replicating listings to regions outside of your current cloud service region will fail.
Currently, database roles are not included in the replication of a primary database. As a result, listing auto-fulfillment is not supported when objects are granted to a share via database roles.
Auto-fulfillment enforces a 10TB limit on the size of the database being replicated. When attaching a share to a listing, Snowsight checks the size of the database and returns an error if the size of data to be replicated is larger than 10TB.
When the listing is auto-fulfilled, the consumer receives an error if the source data is larger than 10TB.
Support for Auto-fulfillment in Virtual Private Snowflake (VPS)¶
By default, VPS does not permit data sharing outside of the VPS. VPS customers may choose to enable all accounts within their organization to receive data from non-VPS customers, via data sharing, using auto-fulfillment by contacting Snowflake Support. See Allow Providers to Share Private Listings into Your VPS.
When auto-fulfillment for VPS customers is enabled, all accounts within the VPS customer’s organization can be targeted for data sharing by the non-VPS customer specified by the VPS customer. VPS customers are not permitted to send data to other VPS or non-VPS customers via data sharing using auto-fulfillment.
About Enabling Auto-fulfillment¶
When you configure a listing and make it available in a region other than your local region, or you share a private listing with consumer accounts in another region, you can enable auto-fulfillment. See Region Availability (Marketplace Listings Only). You must select a secure share before you can enable auto-fulfillment.
Auto-fulfillment tasks can be performed by an account administrator (a user with the ACCOUNTADMIN role) from the organization admin account (an account where the ORGADMIN role is enabled). In addition, the role you use must be granted the MODIFY or OWNERSHIP privilege on the listing.
Set Up Auto-fulfillment¶
To enable auto-fulfillment for a listing, do the following:
Sign into Snowsight.
In the left navigation bar, select Data » Provider Studio » Listings.
Select the listing for which you want to enable auto-fulfillment.
Select Region Availability » Edit.
(Optional) Change the Global Availability toggle. By default, a listing is visible to consumers in all current Marketplace regions.
Click Available Regions » Select.
Select the checkboxes for the region(s) where you want to make your listing available.
In general, a listing is available only in the region you select. If you make the listing available to all regions, your listing will automatically become available in any region that Snowflake adds in the future. If you select a subset of regions, the listing will not become automatically available to any new regions.
To specify how the listing is fulfilled, choose one of the following options:
Automatic: The listing’s product is automatically replicated and incurs standard replication cost when there is consumer demand in a region. Replication and shares are created automatically.
Manual: Requires you to manually set up accounts in available regions, manually replicate products to each account, create secure shares in each account, and attach those shares to the listing.
If you selected automatic fulfillment:
Select the replication interval from the drop-down list, then enter a value.
Click Save and Enable Fulfillment.
If you selected to manually fulfill the listing, click Save.
If you choose to manually replicate the data, you must replicate data to each of the available regions you select before publishing the listing. See Manually Replicate Data Before Fulfilling a Listing Request.
If you selected automatic fulfillment, auto-fulfillment for the listing is now enabled. However, the product is not replicated until the listing is published and a consumer requests the product. The replication interval begins when the first customer in a region requests your product. See How Cross-Cloud Auto-fulfillment Works.
Monitoring and Managing Auto-fulfillment Settings¶
Manage your listing to monitor the regions where consumers are using your listing, monitor the cost of replication, and make changes to the refresh frequency for your listing.
To manage or monitor auto-fulfillment for your listing, do the following:
Sign into Snowsight.
At the top of the left navigation bar, select the user menu and switch to a role that has the MODIFY or OWNERSHIP privilege for the listing that you want to fulfill.
In the left navigation bar, select Data » Provider Studio » Listings.
Select the row containing the listing that you want to modify.
In the Region Availability section, select Manage, then select one of the following options:
Manage Regions & Replication to see the regions where the listing is fulfilled and its status. You can add or remove availability for a particular region or check the replication status.
Select a region to see the timestamp of the last sync and how many consumers are accessing the data.
If no consumers have accessed your listing’s product in a region, you can select Remove Region. If a consumer has accessed your listing’s product in a region, you cannot remove the region. Instead, if you want to remove your product from that region, you must remove the availability of the listing from that region or delete the listing.
Update Refresh Frequency to update the replication interval and frequency.
You can specify only one schedule for each database. Updating the refresh frequency for a listing updates the refresh frequency for all listings with shares pointing to the same database. The refresh frequency for a region is based on the date that a consumer in that region first requests your listing product.
Monitor Replication Cost: After publishing your listing, you can monitor the costs related to the listing.
See Modifying Published Listings for more details about modifying listings.