Snowflake Python Connector v5: Connection-Level Proxy Settings
Select explicit connector proxy fields or environment discovery, accounting for the changed precedence documented in the Python 5 connector.
Snowflake’s Python 5 connector supports connection-level proxy fields. For an application keeping its normal connection options separately:
connection = snowflake.connector.connect(
**connection_options,
proxy_host='proxy.example',
proxy_port=8080,
use_proxy_env=False,
)
connection_options contains the existing Snowflake account and authentication settings, without duplicate proxy keys. proxy_user and proxy_password supply a separate intermediary account when needed. For a permitted public-proxy route without that account, take candidate proxy_host and proxy_port values from the HTTP proxy list.
By default, use_proxy_env is true and the connector reads HTTP_PROXY, HTTPS_PROXY and NO_PROXY. In version 5, an explicit proxy_host or proxy_port takes priority over those environment values. Setting use_proxy_env=False disables their use deliberately.
The documented behavior since 3.17.0 but before version 5 had environment values overriding explicit host and port. Keep the connector version with a comparison across deployments.
Snowflake also requires its certificate to pass through without interception changes. A route through the corporate proxy does not authorize replacing the service certificate with an arbitrary inspection certificate.
For bypasses, NO_PROXY accepts comma-separated host suffixes or IP addresses, rather than wildcard expressions. Configure the actual Python worker environment when using that route, including a Django worker or notebook process.