Snowflake Python Connector v5: cấu hình proxy ở cấp kết nối
Chọn các trường proxy rõ ràng của trình kết nối hoặc tự phát hiện từ môi trường, có tính đến thứ tự ưu tiên đã thay đổi trong Python 5.
Trình kết nối Snowflake cho Python 5 hỗ trợ các trường proxy ở cấp kết nối. Với ứng dụng giữ riêng các tùy chọn kết nối thông thường:
connection = snowflake.connector.connect(
**connection_options,
proxy_host='proxy.example',
proxy_port=8080,
use_proxy_env=False,
)
connection_options chứa các cài đặt tài khoản và xác thực Snowflake hiện có, không có khóa proxy trùng lặp. proxy_user và proxy_password cung cấp một tài khoản trung gian riêng khi cần. Đối với tuyến proxy công khai được phép mà không có tài khoản đó, lấy giá trị proxy_host và proxy_port ứng viên từ danh sách proxy HTTP.
Theo mặc định use_proxy_env là đúng và trình kết nối đọc HTTP_PROXY, HTTPS_PROXY và NO_PROXY. Ở phiên bản 5, proxy_host hoặc proxy_port rõ ràng được ưu tiên hơn các giá trị môi trường đó. Đặt use_proxy_env=False sẽ chủ động tắt việc dùng chúng.
Hành vi được ghi nhận từ 3.17.0 nhưng trước phiên bản 5 cho phép giá trị môi trường ghi đè máy chủ và cổng rõ ràng. Giữ phiên bản trình kết nối cùng với so sánh giữa các lần triển khai.
Snowflake cũng yêu cầu chứng chỉ của mình đi qua mà không có thay đổi do chặn. Tuyến qua proxy của công ty không cho phép thay chứng chỉ dịch vụ bằng chứng chỉ kiểm tra tùy ý.
Đối với ngoại lệ, NO_PROXY chấp nhận hậu tố máy chủ hoặc địa chỉ IP phân tách bằng dấu phẩy, không phải biểu thức ký tự đại diện. Cấu hình môi trường worker Python thực tế khi dùng tuyến đó, bao gồm worker Django hoặc tiến trình sổ ghi chú.