我正在使用私钥身份验证连接到Snowflake,但无法使用Sqitch进行连接。 当直接使用 snowsql 连接时,这是成功的。
我的连接字符串如下所示:
sqitch status -vvv db:snowflake://username@myaccount.snowflakecomputing.com/POC_DB?Driver=Snowflake;authenticator=SNOWFLAKE_JWT;priv_key_file=/Users/username/rsa_key.p8;priv_key_file_pwd=xxxxxx;warehouse=DEFAULT_WH;uid=username
在需要时屏蔽实际值,但这些值是正确的,就像直接使用 snowsql 一样。
使用 -vvv 选项我看到
[Snowflake][DSI] (20032) Required setting 'PWD' is not present in the connection settings. (SQL-28000)
和
trace: DBI::connect('DBI', 'dbi:ODBC:Server=myaccount.snowflakecomputing.com;Port=443;Database=POC_DB;Driver=Snowflake', 'username', undef, 'HASH(0x7fed7a719230)')
指示密码为"undef"。
~/.sqitch 中的 sqitch.conf 设置如此处 https://sqitch.org/docs/manual/sqitch-authentication/"不使用密码"部分下所示。
我无法解决为什么在使用 snowsql 时它会给我丢失的 PWD 错误?
谢谢。
我确实找到了可能实现连接的设置的参考:
-
https://medium.com/hashmapinc/ci-cd-on-snowflake-using-sqitch-and-jenkins-245c6dc4c205
-
使用 ODBC 和 sqitch https://sqitch.org/docs/manual/sqitchtutorial-snowflake/
看起来此错误也在此 gitrepo 问题中得到纠正:#439 https://github.com/sqitchers/sqitch/issues/439