ตัวเชื่อมต่อ Snowflake .NET รองรับเฟรมเวิร์ก .NET และเวอร์ชันไลบรารีต่อไปนี้:
ข้อจำกัดความรับผิดชอบ: แม้ว่าตัวเชื่อมต่อจะกำหนดเป้าหมายไปที่ netstandard2.0 และอาจใช้งานได้กับเวอร์ชันในเมทริกซ์การสนับสนุน แต่ตัวเชื่อมต่อจะรองรับและทดสอบเฉพาะเวอร์ชันที่ระบุไว้ข้างต้นเท่านั้น
โปรดดูส่วนประกาศด้านล่างสำหรับข้อมูลเกี่ยวกับการใช้งานไดรเวอร์ .NET อย่างปลอดภัย
หากคุณต้องการมีส่วนร่วมในโครงการนี้ โปรดทำความรู้จักกับแบบแผนการเขียนโค้ดที่เราอยากจะปฏิบัติตาม: แบบแผนการเขียนโค้ด
คุณสามารถสร้างแอปพลิเคชันตัวเชื่อมต่อ Snowflake .NET สำหรับระบบปฏิบัติการ Window, Macintosh และ Linux สำหรับข้อมูลเกี่ยวกับเวอร์ชันของระบบปฏิบัติการที่รองรับ โปรดดูที่เวอร์ชันไคลเอ็นต์และนโยบายการสนับสนุน
โครงการนี้ได้รับการพัฒนาภายใต้ Visual Studio 2017 ไม่รองรับ Visual Studio เวอร์ชันก่อนหน้า
สิ่งที่ต้องมีก่อน: ติดตั้ง dotnet, git, nuget และ mono (เฉพาะบน Mac)
git clone [email protected]:snowflakedb/snowflake-connector-net snowflake-connector-net
cd snowflake-connector-net
nuget restore
cd Snowflake.Data
dotnet build --configuration Release
Add a parameters.json file to Snowflake.Data.Tests
dotnet build
ID แพ็คเกจสำหรับ Snowflake Connector สำหรับ .Net คือ Snowflake.Data
สามารถดาวน์โหลดแพ็คเกจได้โดยตรงจาก nuget.org
นอกจากนี้ยังสามารถดาวน์โหลดได้โดยใช้ Visual Studio UI (เครื่องมือ > NuGet Package Manager > จัดการแพ็คเกจ NuGet สำหรับโซลูชัน และค้นหา "Snowflake.Data")
หรือสามารถดาวน์โหลดแพ็คเกจได้โดยใช้ Package Manager Console:
PM> Install-Package Snowflake.Data
ตั้งแต่เวอร์ชัน v4.2.0 เป็นต้นไป แพ็คเกจไดรเวอร์จะได้รับการลงนามด้วยลายเซ็น ทำให้สามารถตรวจสอบความถูกต้องและความสมบูรณ์ได้ ขั้นตอนในการตรวจสอบลายเซ็น:
cosign
.nupkg
) จาก nuget เช่น: https://www.nuget.org/packages/Snowflake.Data/4.2.0cosign verify-blob snowflake.data.4.2.0.nupkg
--key snowflake-connector-net-v4.2.0.pub
--signature Snowflake.Data.4.2.0.nupkg.sig
Verified OK
กำลังดำเนินการทดสอบ
ความครอบคลุมของรหัส
หากต้องการสร้างการเชื่อมต่อให้ทำความคุ้นเคยกับ: วิธีการเชื่อมต่อและการรับรองความถูกต้อง
คำอธิบายการรวมการเชื่อมต่อ: พูลการเชื่อมต่อหลายรายการ
มีการอธิบายการรวมกลุ่มก่อนเวอร์ชัน 4.0.0: พูลการเชื่อมต่อเดี่ยว - deprecated
ชนิดข้อมูล Snowflake และประเภท .NET ครอบคลุมอยู่ใน: ประเภทข้อมูลและรูปแบบข้อมูล
วิธีดำเนินการค้นหา ใช้การเชื่อมโยงแบบสอบถาม เรียกใช้แบบสอบถามแบบซิงโครนัสและอะซิงโครนัส: การเรียกใช้แบบสอบถามและการอ่านผลลัพธ์
การใช้ประเภทที่มีโครงสร้าง: ประเภทที่มีโครงสร้าง
การใช้ประเภทเวกเตอร์: ประเภทเวกเตอร์
การใช้ไฟล์สเตจภายในคำสั่ง PUT/GET: PUT และ GET ไฟล์ไปยัง/จากสเตจ
คำอธิบายและการกำหนดค่าการบันทึก: การบันทึกและการบันทึกอย่างง่าย
วิธีตรวจสอบใบรับรองการเชื่อมต่อในไดรเวอร์ .NET นั้นแตกต่างจากไดรเวอร์ Snowflake ที่เหลือ อ่านเพิ่มเติมในเอกสารการตรวจสอบใบรับรอง
CVE-2019-0820 - CVE นี้ได้รับการรายงานใน system.text.regularexpressions.dll ซึ่งใช้โดยแพ็คเกจนิพจน์ทั่วไป - system.text.regularexpressions.4.3.1.nupkg ช่องโหว่นี้จะปรากฏเฉพาะเมื่อมีการใช้สภาพแวดล้อมรันไทม์ .NET ต่อไปนี้:
* v1.0 branch: 1.0 - 1.0.16 (exclusive)
* v1.1 branch: 1.1 - 1.1.13 (exclusive)
* v2.1 branch: 2.1 - 2.1.11 (exclusive)
* v2.2 branch: 2.2 - 2.2.5 (exclusive)
In order to mitigate this vulnerability, we recommend to update to higher Runtime versions. If you're already running on a .NET Runtime version higher than the ones listed above, you're not going to be affected by this vulnerability.
การบันทึก - Snowflake ได้ระบุปัญหาในวันที่ 20 กุมภาพันธ์ 2020 ด้วยโค้ดการบันทึกของเราสำหรับไดรเวอร์ .NET ซึ่งเราเขียนโทเค็น Master และ Session อย่างชัดเจนลงในบันทึกการแก้ไขข้อบกพร่อง บันทึกการแก้ไขข้อบกพร่องจะถูกรวบรวมไว้ภายในไดรฟ์ที่โปรแกรมของคุณกำลังทำงานอยู่ ปัญหานี้ส่งผลกระทบเฉพาะกรณีที่รันโปรแกรมโดยเปิดใช้งานการตั้งค่าสถานะการแก้ไขข้อบกพร่อง เช่น การตั้งค่าระดับบันทึก = "Debug" หรือ "ทั้งหมด" ในการกำหนดค่า log4Net
ภายใต้สภาวะปกติ โทเค็น Master และ Session ที่บันทึกไว้ในไฟล์บันทึกจะมีอายุการใช้งานสั้นประมาณ 4 และ 1 ชั่วโมงตามลำดับ สิ่งเหล่านี้จะหมดอายุหลังจากกรอบเวลา 4 ชั่วโมง เว้นแต่จะมีการรีเฟรชอย่างชัดเจน ซึ่งในกรณีนี้สามารถรีเฟรชได้อย่างไม่มีกำหนด
หากคุณใช้ไดรเวอร์ .NET โปรดดำเนินการต่อไปนี้:
การตั้งค่าการเชื่อมต่อ HTTP ทั่วโลก - Snowflake ได้ระบุปัญหาที่โปรแกรมควบคุมบังคับใช้ TLS 1.2 ทั่วโลกและการตรวจสอบการเพิกถอนใบรับรองด้วย .NET Driver v1.2.1 และเวอร์ชันก่อนหน้า ตั้งแต่เวอร์ชัน 2.0.0 เป็นต้นไป ไดรเวอร์จะตั้งค่าเหล่านี้ในเครื่อง
รายการเพิกถอนใบรับรองไม่ได้ดำเนินการในกรณีที่ปิดใช้งาน insecureMode - Snowflake ได้ระบุช่องโหว่ที่การตรวจสอบกับรายการเพิกถอนใบรับรอง (CRL) ไม่ได้ดำเนินการ โดยที่การตั้งค่าสถานะ insecureMode ถูกตั้งค่าเป็นเท็จ ซึ่งเป็นการตั้งค่าเริ่มต้น จากเวอร์ชัน v2.1.5 CRL ทำงานได้ตามปกติ
ขณะนี้ไดรเวอร์นี้ไม่รองรับปลายทางระดับภูมิภาคของ GCP โปรดตรวจสอบให้แน่ใจว่าปริมาณงานที่ใช้ผ่านไดรเวอร์นี้ไม่จำเป็นต้องรองรับปลายทางระดับภูมิภาคบน GCP หากคุณมีคำถามเกี่ยวกับเรื่องนี้ โปรดติดต่อฝ่ายสนับสนุนของ Snowflake
โปรดทราบว่าขณะนี้ไดรเวอร์กำหนดเป้าหมายไปที่ .NET Standard 2.0 เมื่ออัปเกรด คุณอาจต้องเรียกใช้ "Update-Package -reinstall" เพื่ออัปเดตการขึ้นต่อกัน
ดูเพิ่มเติม: