El conector de Snowflake para Python 5 admite campos de proxy a nivel de conexión. Para una aplicación que mantiene sus opciones de conexión habituales por separado:

connection = snowflake.connector.connect(
    **connection_options,
    proxy_host='proxy.example',
    proxy_port=8080,
    use_proxy_env=False,
)

connection_options contiene la configuración existente de cuenta y autenticación de Snowflake, sin claves de proxy duplicadas. proxy_user y proxy_password aportan una cuenta intermediaria independiente cuando hace falta. Para una ruta de proxy público permitida sin esa cuenta, tome valores candidatos de proxy_host y proxy_port de la lista de proxies HTTP.

De forma predeterminada use_proxy_env es verdadero y el conector lee HTTP_PROXY, HTTPS_PROXY y NO_PROXY. En la versión 5, un proxy_host o proxy_port explícito tiene prioridad sobre esos valores de entorno. Establecer use_proxy_env=False desactiva su uso de forma deliberada.

El comportamiento documentado desde 3.17.0 pero antes de la versión 5 hacía que los valores de entorno anularan el host y el puerto explícitos. Conserve la versión del conector junto con una comparación entre despliegues.

Snowflake también exige que su certificado pase sin cambios de interceptación. Una ruta a través del proxy corporativo no autoriza sustituir el certificado del servicio por un certificado de inspección arbitrario.

Para las exclusiones, NO_PROXY acepta sufijos de host o direcciones IP separados por comas, no expresiones con comodines. Configure el entorno real del trabajador de Python al usar esa ruta, incluido un trabajador de Django o un proceso de cuaderno.

Artículos relacionados