During the Previous post we saw Data sharing is only supported between Snowflake accounts. As a data provider, you might wish to share data with a consumer who does not already have a Snowflake account and/or is not ready to become a licensed Snowflake customer.
However,To facilitate sharing data with these consumers, Snowflake supports providers creating reader accounts.
Each reader account belongs to the provider account that created it. Similarly to standard consumer accounts, the provider account uses shares to share databases with reader accounts; however, a reader account can only consume data from the provider account that created it.
Users in a reader account can query data that has been shared with it, but cannot perform any of the DML tasks like in a full account (data loading, insert, update, etc.).
For this use case, I am using the Trial account and which allows to create only one Reader Account per trial account. As we have seen in previous post ,a secure view was build which comprises the attributes from the Customer, Invoice and Billing tables and shared this view to the Consumer Account.
As part of this requirement, we will share the same secure view to the Reader Account and query the view from the Reader Account itself.
Following Reader Account got created:
Add the Reader Account as Consumer in your Trail/Admin account.
Reader Accnt Login
Run the Following Command to create the User for your Reader account:
create user reader_accnt password='G00gle@2020' default_role = PUBLIC must_change_password = true;
create or replace warehouse my_wh warehouse_size=large initially_suspended=true;
create or replace resource monitor limiter with credit_quota=5000
triggers on 75 percent do notify
on 100 percent do suspend
on 110 percent do suspend_immediate;
grant usage on warehouse my_wh to role public;
Import DB in Reader Account
- Log out of your Reader Account.
- Log in to the account reader_accnt.
- Query the View we just imported in previous step.
As w can see in the Reader Account we are able to query the secure view created inside the Provider account. To get the flow for Provider-Consumer Account, Click here.