Der Snowflake .NET-Connector unterstützt die folgenden .NET Framework- und Bibliotheksversionen:
Haftungsausschluss: Während der Connector auf netstandard2.0 abzielt und möglicherweise mit Versionen in seiner Supportmatrix funktioniert, werden nur die oben aufgeführten Versionen vom Connector unterstützt und getestet
Informationen zur sicheren Verwendung des .NET-Treibers finden Sie im Abschnitt „Hinweise“ weiter unten
Wenn Sie zu diesem Projekt beitragen möchten, machen Sie sich bitte mit den Codierungskonventionen vertraut, denen wir folgen möchten: Codierungskonventionen.
Sie können Snowflake .NET-Connector-Anwendungen für Windows-, Macintosh- und Linux-Betriebssysteme erstellen. Informationen zu unterstützten Betriebssystemversionen finden Sie in der Richtlinie zu Clientversionen und Support.
Dieses Projekt wurde unter Visual Studio 2017 entwickelt. Frühere Versionen von Visual Studio werden nicht unterstützt.
Voraussetzungen: Dotnet, Git, Nuget und Mono installieren (nur auf 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
Die Paket-ID für Snowflake Connector für .Net lautet Snowflake.Data.
Pakete können direkt von nuget.org heruntergeladen werden.
Es kann auch über die Visual Studio-Benutzeroberfläche heruntergeladen werden (Extras > NuGet-Paket-Manager > NuGet-Pakete für Lösung verwalten und nach „Snowflake.Data“ suchen).
Alternativ können Pakete auch über die Package Manager Console heruntergeladen werden:
PM> Install-Package Snowflake.Data
Ab Version v4.2.0 ist das Treiberpaket mit einer Signatur versehen, die es ermöglicht, seine Authentizität und Integrität zu überprüfen. Schritte zur Überprüfung der Signatur:
cosign
installieren.nupkg
) von Nuget herunter, z. B.: 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
Laufende Tests
Codeabdeckung
Um eine Verbindung herzustellen, machen Sie sich mit den Verbindungs- und Authentifizierungsmethoden vertraut
Beschreibung des Verbindungspools: Mehrere Verbindungspools.
Pooling vor Version 4.0.0 wird beschrieben: Single Connection Pool – deprecated
Snowflake-Datentypen und ihre .NET-Typen werden behandelt in: Datentypen und Datenformate
So führen Sie eine Abfrage aus, verwenden Abfragebindungen und führen Abfragen synchron und asynchron aus: Abfragen ausführen und Ergebnisse lesen
Strukturierte Typen verwenden: Strukturierte Typen
Vektortyp verwenden: Vektortyp
Verwenden von Stage-Dateien in PUT/GET-Befehlen: PUT- und GET-Dateien zu/von Stage
Beschreibung und Konfiguration der Protokollierung: Protokollierung und einfache Protokollierung
Die Methode zur Validierung der Verbindungszertifikate im .NET-Treiber unterscheidet sich von den übrigen Snowflake-Treibern. Weitere Informationen finden Sie in den Dokumenten zur Zertifikatsvalidierung.
CVE-2019-0820 – Dieses CVE wurde in systems.text.regularexpressions.dll gemeldet, das von den Paketen für reguläre Ausdrücke verwendet wird – systems.text.regularexpressions.4.3.1.nupkg. Diese Sicherheitslücke tritt NUR auf, wenn die folgenden .NET-Laufzeitumgebungen verwendet werden:
* 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.
Protokollierung – Snowflake hat am 20. Februar 2020 ein Problem mit unserem Protokollierungscode für die .NET-Treiber festgestellt, in dem wir Master- und Sitzungstoken im Klartext in die Debug-Protokolle schreiben. Die Debug-Protokolle werden lokal auf dem Laufwerk gesammelt, auf dem Ihre Programme ausgeführt werden. Dieses Problem betrifft nur die Fälle, in denen die Programme mit aktivierten Debug-Flags ausgeführt werden, d. h. mit der Einstellung des Protokollebenenwerts = „Debug“ oder „Alle“ in der log4Net-Konfiguration
Unter normalen Bedingungen sind die in den Protokolldateien erfassten Master- und Sitzungstoken nur etwa 4 bzw. 1 Stunde lang gültig. Sie laufen nach Ablauf des 4-Stunden-Fensters ab, sofern sie nicht explizit aktualisiert werden. In diesem Fall können sie auf unbestimmte Zeit aktualisiert werden.
Wenn Sie den .NET-Treiber verwenden, führen Sie bitte die folgenden Schritte aus:
Globale HTTP-Verbindungseinstellungen – Snowflake hat ein Problem identifiziert, bei dem der Treiber TLS 1.2 und Zertifikatssperrprüfungen mit dem .NET-Treiber v1.2.1 und früheren Versionen global erzwingt. Ab v2.0.0 werden diese vom Treiber lokal festgelegt.
Zertifikatssperrliste wurde nicht ausgeführt, wenn insecureMode deaktiviert war – Snowflake hat eine Schwachstelle identifiziert, bei der die Prüfungen anhand der Zertifikatssperrliste (CRL) nicht durchgeführt wurden, wenn das Flag „insecureMode“ auf „false“ gesetzt war, was die Standardeinstellung ist. Ab Version v2.1.5 funktioniert CRL wieder wie vorgesehen.
Dieser Treiber unterstützt derzeit keine regionalen GCP-Endpunkte. Bitte stellen Sie sicher, dass für alle Workloads, die diesen Treiber verwenden, keine Unterstützung für regionale Endpunkte auf der GCP erforderlich ist. Wenn Sie hierzu Fragen haben, wenden Sie sich bitte an den Snowflake-Support.
Beachten Sie, dass der Treiber jetzt auf .NET Standard 2.0 abzielt. Beim Upgrade müssen Sie möglicherweise auch „Update-Package -reinstall“ ausführen, um die Abhängigkeiten zu aktualisieren.
Mehr sehen: