Le connecteur Snowflake .NET prend en charge les versions de framework et de bibliothèques .NET suivantes :
Avis de non-responsabilité : bien que le connecteur cible netstandard2.0 et puisse fonctionner avec les versions de sa matrice de support, seules les versions répertoriées ci-dessus sont prises en charge et testées par le connecteur.
Veuillez vous référer à la section Avis ci-dessous pour plus d'informations sur l'utilisation sûre du pilote .NET.
Si vous souhaitez contribuer à ce projet, veuillez connaître les conventions de codage que nous aimerions suivre : Conventions de codage.
Vous pouvez créer des applications de connecteur Snowflake .NET pour les systèmes d'exploitation Windows, Macintosh et Linux. Pour plus d’informations sur les versions du système d’exploitation prises en charge, reportez-vous aux versions client et à la politique de support.
Ce projet est développé sous Visual Studio 2017. Les versions antérieures de Visual Studio ne sont pas prises en charge.
Conditions préalables : installer dotnet, git, nuget et mono (uniquement sur 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
L’ID du package pour Snowflake Connector pour .Net est Snowflake.Data.
Les packages peuvent être directement téléchargés depuis nuget.org.
Il peut également être téléchargé à l'aide de l'interface utilisateur de Visual Studio (Outils > Gestionnaire de packages NuGet > Gérer les packages NuGet pour la solution et recherchez « Snowflake.Data »).
Alternativement, les packages peuvent également être téléchargés à l'aide de la console Package Manager :
PM> Install-Package Snowflake.Data
A partir de la version v4.2.0 le package du pilote est signé avec une signature permettant de vérifier son authenticité et son intégrité. Étapes pour vérifier la signature :
cosign
.nupkg
) depuis nuget, par exemple : 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
Exécution de tests
Couverture du code
Pour créer une connexion, familiarisez-vous avec : Méthodes de connexion et d'authentification
Description du pool de connexions : plusieurs pools de connexions.
Le pooling antérieur à la version 4.0.0 est décrit : Pool de connexion unique - deprecated
Les types de données Snowflake et leurs types .NET sont traités dans : Types de données et formats de données
Comment exécuter une requête, utiliser des liaisons de requête, exécuter des requêtes de manière synchrone et asynchrone : exécution de requêtes et lecture des résultats
Utilisation de types structurés : types structurés
Utilisation du type de vecteur : Type de vecteur
Utilisation de fichiers de scène dans les commandes PUT/GET : fichiers PUT et GET vers/depuis la scène
Description et configuration de la journalisation : journalisation et journalisation facile
La méthode de validation des certificats de connexion dans le pilote .NET diffère du reste des pilotes Snowflake. En savoir plus dans les documents de validation des certificats.
CVE-2019-0820 - Ce CVE a été signalé dans Systems.text.regularexpressions.dll qui est utilisé par les packages d'expressions régulières - Systems.text.regularexpressions.4.3.1.nupkg. Cette vulnérabilité se manifeste UNIQUEMENT lorsque les environnements d'exécution .NET suivants sont utilisés :
* 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.
Journalisation - Snowflake a identifié un problème le 20 février 2020 avec notre code de journalisation pour les pilotes .NET dans lequel nous écrivons les jetons maître et session en clair dans les journaux de débogage. Les journaux de débogage sont collectés localement sur le lecteur sur lequel vos programmes sont exécutés. Ce problème affecte uniquement les cas où les programmes sont exécutés avec les indicateurs de débogage activés, c'est-à-dire en définissant la valeur du niveau de journalisation = "Debug" ou "All" dans la configuration log4Net.
Dans des conditions normales, les jetons maître et session capturés dans les fichiers journaux sont de courte durée, respectivement environ 4 et 1 heure. Ils expireront après la fenêtre de 4 heures, à moins qu'ils ne soient explicitement actualisés, auquel cas ils pourraient être actualisés indéfiniment.
Si vous utilisez le pilote .NET, veuillez effectuer l'action suivante :
Paramètres de connexion HTTP globaux : Snowflake a identifié un problème dans lequel le pilote applique globalement TLS 1.2 et les contrôles de révocation de certificat avec le pilote .NET v1.2.1 et les versions antérieures. À partir de la version 2.0.0, le pilote les définira localement.
Liste de révocation de certificats non effectuée lorsque insecureMode a été désactivé - Snowflake a identifié une vulnérabilité dans laquelle les vérifications par rapport à la liste de révocation de certificats (CRL) n'ont pas été effectuées lorsque l'indicateur insecureMode était défini sur false, ce qui est le paramètre par défaut. À partir de la version v2.1.5, la CRL fonctionne comme prévu.
Ce pilote ne prend actuellement pas en charge les points de terminaison régionaux GCP. Veuillez vous assurer que les charges de travail utilisant ce pilote ne nécessitent pas la prise en charge des points de terminaison régionaux sur GCP. Si vous avez des questions à ce sujet, veuillez contacter l'assistance Snowflake.
Notez que le pilote cible désormais .NET Standard 2.0. Lors de la mise à niveau, vous devrez peut-être également exécuter « Update-Package -reinstall » pour mettre à jour les dépendances.
En savoir plus :