Configuring object-level replication for Cross-Cloud Auto-Fulfillment¶
If you want to automatically replicate the data product associated with your listing to other Snowflake regions, configure Cross-Cloud Auto-Fulfillment. When auto-fulfillment is enabled for a listing, Snowflake automatically replicates your data product to remote regions as needed.
Ordinarily, Snowflake replicates the entire database(s) containing your data product, which is the tables, schemas, UDFs, UDTFs, views, and other database objects that you add to your listing.
To help reduce costs and ease the manageability burden, you can use object-level replication to let you choose to replicate only the tables and views in a data product to a remote region using auto-fulfillment.
About object-level replication¶
Object-level replication replicates only the tables and views in a data product, and any tables referenced by a secure view in the data product, to a remote region. For more details, see What gets replicated by object-level replication.
When you configure auto-fulfillment, object-level replication is used if your data product only contains supported objects.
![Diagram showing a consumer account in the AWS US East (Ohio) region getting a data product from the Snowflake Marketplace and then Snowflake initiating auto-fulfillment to replicate the data product to the Secure Share Area in the consumer region (AWS US East (Ohio)) from the provider account and region, AWS US West (Oregon). In this case, the data product is using object level replication so a share in the provider database, and only the objects in the share, are replicated to the Secure Share Area in AWS US East (Ohio), and when the consumer installs the data product they install it from the Secure Share Area in their region.](../_images/ds-diagram-object-level-replication.png)
The first consumer in a region gets the listing.
Auto-fulfillment replicates the objects in the share to the Secure Share Area.
Any consumer that gets the listing gets the data product from the Secure Share Area in their Snowflake region.
Support for object-level replication¶
When you use auto-fulfillment to a VPS region, charges for compute are billed at VPS rates. Make sure you understand the cost implications before implementation. For more information, see Snowflake Service Consumption Table.
You can use object-level replication to auto-fulfill your listing for all the same object types as full database auto-fulfillment.
A database can support one auto-fulfillment refresh type. It cannot be replicated as both full database (FULL_DATABASE) and object-level (SUB_DATABASE).
What gets replicated by object-level replication¶
When your data product is replicated using object-level replication, only the objects granted directly to the share or application, or referenced by a secure view in your share or application package, are replicated.
For example:
Object in data product |
What is replicated |
---|---|
Table in a database and schema |
Table |
Secure view created from a table in the same database |
Secure view and table |
Secure view created from a table in a different database and granted to a share using REFERENCE_USAGE |
Secure view and table |
Table in a database that is already replicated |
Entire database |
Set up object-level replication¶
You set up object-level replication when you set up the region availability (for a listing published on the Snowflake Marketplace) or when you add a consumer located in another region (for a listing shared privately).
Create a listing. See Creating and publishing a listing.
Add a data product that contains only supported objects. To add a data product that contains a secure view granted to a share using the REFERENCE_USAGE privilege, see Share a secure view that reference objects in another database by using object-level replication.
Set up regions or accounts to share with to start setting up auto-fulfillment:
For a listing published to the Snowflake Marketplace:
Locate the Region Availability section and select Add
For Region availability, keep the default of All regions or select Custom regions for your listing.
For a listing shared privately, add a consumer account in a remote region.
For Fulfillment method, keep the default of Automatic.
Select your desired refresh frequency to match how frequently you want your data product to be updated in remote regions.
Publish your listing, or save it as a draft.