O conector Snowflake para Python 5 oferece suporte a campos de proxy no nível da conexão. Para um aplicativo que mantém suas opções de conexão habituais separadamente:

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

connection_options contém as configurações existentes de conta e autenticação do Snowflake, sem chaves de proxy duplicadas. proxy_user e proxy_password fornecem uma conta intermediária separada quando necessário. Para uma rota de proxy público permitida sem essa conta, obtenha valores candidatos de proxy_host e proxy_port na lista de proxies HTTP.

Por padrão, use_proxy_env é verdadeiro e o conector lê HTTP_PROXY, HTTPS_PROXY e NO_PROXY. Na versão 5, um proxy_host ou proxy_port explícito tem prioridade sobre esses valores de ambiente. Definir use_proxy_env=False desativa o uso deles deliberadamente.

O comportamento documentado desde 3.17.0, mas antes da versão 5, permitia que valores de ambiente prevalecessem sobre host e porta explícitos. Mantenha a versão do conector junto com uma comparação entre implantações.

A Snowflake também exige que seu certificado passe sem alterações de interceptação. Uma rota pelo proxy corporativo não autoriza substituir o certificado do serviço por um certificado de inspeção arbitrário.

Para exceções, o NO_PROXY aceita sufixos de host ou endereços IP separados por vírgula, não expressões com curingas. Configure o ambiente real do trabalhador Python ao usar essa rota, incluindo um trabalhador Django ou processo de notebook.

Artigos relacionados