π©Getting started
System requirements
Python 3.9+
Hand-on example
It will take about 10 minutes.
1) Install SnowDDL.
pip install snowddl2) 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 \
applyCheck 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 \
applyCheck 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 \
destroyCongratulations!
Now you are ready to create your own config and start experimenting.
Last updated