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 ใหม่ไม่เป็นไปตามข้อกำหนดนั้น

บทความที่เกี่ยวข้อง