Snowflake の Python 5 コネクタは、接続レベルのプロキシ項目をサポートします。通常の接続オプションを別に保つアプリケーションでは、次のように指定します。

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

connection_options には既存の Snowflake アカウントと認証の設定が入り、プロキシのキーは重複させません。必要に応じて proxy_user と proxy_password で別個の中継アカウントを指定できます。そのアカウントを使わない許可済みの公開プロキシ経路では、HTTP プロキシ一覧から proxy_host と proxy_port の候補値を取得します。

既定では use_proxy_env は true で、コネクタは HTTP_PROXY、HTTPS_PROXY、NO_PROXY を読み取ります。バージョン 5 では、明示的な proxy_host または proxy_port がこれらの環境値より優先されます。use_proxy_env=False を設定すると、それらの使用が意図的に無効になります。

3.17.0 以降、バージョン 5 より前の文書化された動作では、環境値が明示的なホストとポートを上書きしていました。コネクタのバージョンは、デプロイ間の比較とともに保持してください。

Snowflake は、その証明書が傍受による変更なしに通過することも求めます。企業プロキシ経由の経路は、サービスの証明書を任意の検査証明書に置き換えることを許可しません。

除外には、NO_PROXY はカンマ区切りのホスト接尾辞または IP アドレスを受け付け、ワイルドカード式は受け付けません。この経路を使う場合は、Django ワーカーやノートブックのプロセスを含め、実際の Python ワーカー環境を設定してください。

関連記事