Reputation: 489
I am using python connector to deploy a sql create table script to snowflake using snowchange and my arguments are passed correctly in CLI. Not sure why but I receive this error while running the command. because the variables are properly declared.
sql script:
CREATE OR REPLACE TABLE {{ db_raw }}.schemaname.TEST1 ( TABLENAME VARCHAR(100), SOURCE_SYS VARCHAR(100), SCHEMA_NAME VARCHAR(100) ); my script looks something like below.
pip install --upgrade snowflake-connector-python
python $(System.DefaultWorkingDirectory)/snowchange/snowchange/cli.py -a $(SNOWFLAKE_ACCOUNT_NAME) -u $(SNOWFLAKE_DEVOPS_USERNAME) -r $(SNOWFLAKE_ROLENAME) -w $(SNOWFLAKE_WAREHOUSE) -c TST_ENT_RAW.SNOWCHANGE.CHANGE_HISTORY --vars '{"DB_CURATED": "$(SNOWFLAKE_DB_CURATED)", "DB_RAW": "$(SNOWFLAKE_DB_RAW)", "db_curated": "$(SNOWFLAKE_DB_CURATED)", "db_raw": "$(SNOWFLAKE_DB_RAW)"}' -v -ac
error:
usage: 2021-07-06T12:24 snowchange: error: argument --vars: invalid loads value: "'{DB_RAW:"
Upvotes: 0
Views: 78
Reputation: 89
You seem to have both uppercase and lowercase var names listed. ("DB_RAW" and "db_raw") Your script seems to refer to db_raw. JSON is case sensitive. Have you tried removing "DB_RAW"?
--vars '{"DB_CURATED": "$(SNOWFLAKE_DB_CURATED)", "db_curated": "$(SNOWFLAKE_DB_CURATED)", "db_raw": "$(SNOWFLAKE_DB_RAW)"}'
Upvotes: 1