snowflakedb / gosnowflake

Go Snowflake Driver
Apache License 2.0
302 stars 125 forks source link

SNOW-1786800: Go Toml Configuration and Python Toml Configuration are subtely different in connections.toml #1236

Closed costrouc closed 3 weeks ago

costrouc commented 3 weeks ago

This library provides a utility for reading connection configuration from a connections.toml file https://github.com/snowflakedb/snowflake-connector-python/blob/48fba63eb1ec672a3c70da1b367ac19314892b30/src/snowflake/connector/connection.py#L185. This is helpful but the connection parameters do not match the parameters used in the python snowflake connector https://github.com/snowflakedb/snowflake-connector-python/blob/main/src/snowflake/connector/connection.py#L158.

Some examples

Python Go
private_key privatekey
private_key_file N/A
private_key_file_pwd N/A
session_id N/A

Snowflake recommends encrypting privatekeys and does not support this option.

This is just a general request to have consistency between the different language libraries and the connection configuration information they read. The python connector is seeing significant adoption due to snow cli.

sfc-gh-dszmolka commented 3 weeks ago

hi - the request is absolutely reasonable, and I wish the various drivers for various programming languages were developed right from the start with a common set of requirements. but they weren't, and are more or less divergent.

since a year or so, I see a tendency that now there are unified requirements which we strive to implement similarly across the various drivers, and also if possible, maintain parity between them (to have the same functionality at least between the most popular drivers)

so this request is while reasonable, i'm not entirely convinced is raised at the right place. name of settings should be consistent across all the drivers, not just between Python and Go drivers.

since it affects other libraries as well, for the 'general' part in your general request, you can reach out to your account team and word this enhancement to be necessary across all the drivers. for the gosnowflake library for which you raise it, we can of course consider.

costrouc commented 3 weeks ago

I'll close this and just keep talking with people within Snowflake. Thanks for responding to the issue. We use a wide range of Snowflake tools from it/data engineering. I'm trying to raise more awareness of this issue. At this point we need 5 configuration files and never exactly know what the environment variables are.