Konektor Snowflake dla Pythona 5 obsługuje pola proxy na poziomie połączenia. Dla aplikacji, która trzyma swoje zwykłe opcje połączenia osobno:

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

connection_options zawiera istniejące ustawienia konta i uwierzytelniania Snowflake, bez zduplikowanych kluczy proxy. proxy_user i proxy_password zapewniają osobne konto pośrednika, gdy jest potrzebne. Dla dozwolonej trasy przez publiczne proxy bez tego konta weź kandydackie wartości proxy_host i proxy_port z listy proxy HTTP.

Domyślnie use_proxy_env jest prawdziwe, a konektor odczytuje HTTP_PROXY, HTTPS_PROXY i NO_PROXY. W wersji 5 jawne proxy_host lub proxy_port ma pierwszeństwo przed tymi wartościami środowiska. Ustawienie use_proxy_env=False celowo wyłącza ich użycie.

Udokumentowane zachowanie od 3.17.0, ale przed wersją 5, pozwalało wartościom środowiska nadpisywać jawnego hosta i port. Zachowaj wersję konektora wraz z porównaniem między wdrożeniami.

Snowflake wymaga też, aby jego certyfikat przechodził bez zmian przechwytywania. Trasa przez firmowe proxy nie upoważnia do zastąpienia certyfikatu usługi dowolnym certyfikatem inspekcji.

W przypadku obejść NO_PROXY akceptuje oddzielone przecinkami sufiksy hostów lub adresy IP, a nie wyrażenia z symbolami wieloznacznymi. Skonfiguruj rzeczywiste środowisko procesu roboczego Pythona podczas korzystania z tej trasy, w tym proces roboczy Django lub proces notatnika.

Powiązane artykuły