ðĐGetting started
System requirements
Python 3.7+
Hand-on example
It will take about 10 minutes.
1) Install SnowDDL.
pip install snowddl
2) Create a new Snowflake Trial Account or create a new account within your organization.
Do NOT use existing production account with real data to test object management tools.
3) Generate private and public key for key-pair authentication of SnowDDL administrator user.
4) Create administration user for SnowDDL. Replace RSA_PUBLIC_KEY
with contents of generated public key. It should look like a single line without header & footer and without line-breaks.
USE ROLE ACCOUNTADMIN;
CREATE ROLE SNOWDDL_ADMIN;
GRANT ROLE SYSADMIN TO ROLE SNOWDDL_ADMIN;
GRANT ROLE SECURITYADMIN TO ROLE SNOWDDL_ADMIN;
CREATE USER SNOWDDL
TYPE = SERVICE
RSA_PUBLIC_KEY = 'MIIBIjANBgkqh...'
DEFAULT_ROLE = SNOWDDL_ADMIN;
GRANT ROLE SNOWDDL_ADMIN TO USER SNOWDDL;
GRANT ROLE SNOWDDL_ADMIN TO ROLE ACCOUNTADMIN;
5) Apply first version of sample config (provided with SnowDDL installation). Replace <account_identifier>
placeholder with Snowflake account identifier. Replace <path_to_private_key>
with path to private key file generated in step 3.
snowddl \
-c sample01_01 \
-a <account_identifier> \
-u snowddl \
-k <path_to_private_key> \
--apply-unsafe \
apply
Check database SNOWDDL_DB
in Snowflake account. Check list of warehouses and roles.
6) Apply second version of sample config (provided with SnowDDL installation).
snowddl \
-c sample01_02 \
-a <account_identifier> \
-u snowddl \
-k <path_to_private_key> \
--apply-unsafe \
apply
Check logs. Some objects will be altered, some objects will be dropped.
7) Reset Snowflake account to the original state. All objects created earlier by SnowDDL will be dropped.
snowddl \
-c sample01_02 \
-a <account_identifier> \
-u snowddl \
-k <path_to_private_key> \
--apply-unsafe \
--destroy-without-prefix \
destroy
Congratulations!
Now you are ready to create your own config and start experimenting.
Last updated