Snowpark Scala ส่งตัวเลือกพร็อกซีไปยังการเชื่อมต่อ JDBC ของตน
เพิ่มคุณสมบัติ useProxy, proxyHost และ proxyPort ของ Snowflake JDBC ลงในแผนที่การกำหนดค่าเซสชัน Snowpark Scala
Snowpark Scala เชื่อมต่อด้วยไดรเวอร์ Snowflake JDBC ตัวสร้างเซสชันยอมรับคุณสมบัติการกำหนดค่า JDBC ดังนั้นการตั้งค่าพร็อกซีจึงเดินทางไปกับแผนที่การเชื่อมต่อที่มีอยู่ได้:
val proxyOptions = Map(
"useProxy" -> "true",
"proxyHost" -> "proxy.example",
"proxyPort" -> "8080"
)
val session = com.snowflake.snowpark.Session.builder
.configs(connectionOptions ++ proxyOptions)
.create
connectionOptions มีบัญชี การพิสูจน์ตัวตน และการตั้งค่าอื่น ๆ ที่แอปใช้อยู่แล้ว เหล่านี้เป็นรายการแผนที่สตริงของ Scala ชื่อโฮสต์พร็อกซีไม่มีสคีม URL หรือพอร์ตของมัน สำหรับเส้นทางพร็อกซีสาธารณะที่ได้รับอนุญาตโดยไม่มีการพิสูจน์ตัวตนพร็อกซี ให้เลือกโฮสต์และพอร์ตจากรายการพร็อกซี HTTP โดยคงการตั้งค่าบัญชี Snowflake ไว้
Snowflake JDBC ยังบันทึก proxyUser และ proxyPassword สำหรับบัญชีตัวกลางด้วย จัดหาให้ผ่านแหล่งข้อมูลรับรองที่มีอยู่ของแอปเมื่อจำเป็น
คุณสมบัติ nonProxyHosts ของ JDBC ใช้รูปแบบที่คั่นด้วยเส้นแนวตั้งพร้อมการรองรับไวลด์การ์ด ในค่าแผนที่ ตัวคั่นคือ | ตามตัวอักษร การเข้ารหัส URL จะเกี่ยวข้องเมื่อสร้าง JDBC URL เท่านั้น อย่าแทนที่ด้วยไวยากรณ์ NO_PROXY ของไคลเอนต์อื่นที่คั่นด้วยจุลภาค
ให้การกำหนดค่านี้เฉพาะกับ Snowpark Scala เท่านั้น Snowpark Python และตัวเชื่อมต่อ Snowflake Spark มีอินเทอร์เฟซการเชื่อมต่อและชื่อตัวเลือกที่ต่างกัน
Snowflake กำหนดให้ใบรับรองบริการผ่านพร็อกซีโดยไม่ถูกแทนที่ เส้นทาง HTTP CONNECT และการตรวจสอบ TLS เป็นการจัดการที่ต่างกัน พร็อกซีที่ออกใบรับรอง Snowflake ใหม่ไม่เป็นไปตามข้อกำหนดนั้น