Snowflake .NET コネクタは、次の .NET フレームワークとライブラリのバージョンをサポートしています。
免責事項: コネクタは netstandard2.0 をターゲットにしており、そのサポート マトリックスのバージョンで動作する可能性がありますが、コネクタによってサポートおよびテストされるのは上記のバージョンのみです
.NET ドライバーの安全な使用方法については、以下の「通知」セクションを参照してください。
このプロジェクトに貢献したい場合は、私たちが従うべきコーディング規約を知ってください: コーディング規約。
Windows、Macintosh、および Linux オペレーティング システム用の Snowflake .NET コネクタ アプリケーションを構築できます。サポートされているオペレーティング システムのバージョンについては、「クライアントのバージョンとサポート ポリシー」を参照してください。
このプロジェクトは 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
Snowflake Connector for .Net のパッケージ ID は Snowflake.Data です。
パッケージは nuget.org から直接ダウンロードできます。
Visual Studio UI を使用してダウンロードすることもできます ([ツール] > [NuGet パッケージ マネージャー] > [ソリューションの NuGet パッケージの管理] を選択し、「Snowflake.Data」を検索します)。
あるいは、パッケージ マネージャー コンソールを使用してパッケージをダウンロードすることもできます。
PM> Install-Package Snowflake.Data
バージョン v4.2.0 以降、ドライバー パッケージは、その信頼性と整合性を検証できる署名で署名されます。署名を検証する手順は次のとおりです。
cosign
をインストールする.nupkg
) をダウンロードします (例: https://www.nuget.org/packages/Snowflake.Data/4.2.0)。cosign 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
テストの実行
コードカバレッジ
接続を作成するには、接続と認証方法を理解してください。
接続プールの説明: 複数の接続プール。
v4.0.0 より前のプーリングについては、「単一接続プール - deprecated
について説明します。
Snowflake データ型とその .NET 型については、「データ型とデータ形式」で説明します。
クエリの実行方法、クエリ バインディングの使用方法、クエリの同期および非同期実行方法: クエリの実行と結果の読み取り
構造化タイプの使用: 構造化タイプ
ベクター型の使用: ベクター型
PUT/GET コマンド内でのステージ ファイルの使用: ステージへの、またはステージからの PUT および GET ファイル
ロギングの説明と構成: ロギングと簡単ロギング
.NET ドライバーで接続の証明書を検証する方法は、他の Snowflake ドライバーとは異なります。詳細については、証明書検証ドキュメントを参照してください。
CVE-2019-0820 - この CVE は、正規表現パッケージ (systems.text.正規表現.4.3.1.nupkg) で使用される system.text.正規表現.dll で報告されています。この脆弱性は、次の .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 は、2020 年 2 月 20 日に、マスター トークンとセッション トークンを平文でデバッグ ログに書き込む .NET ドライバーのロギング コードの問題を特定しました。デバッグ ログは、プログラムが実行されているドライブ上でローカルに収集されます。この問題は、デバッグ フラグを有効にしてプログラムが実行されているインスタンス、つまり、log4Net 構成でログ レベル値 = "Debug" または "All" を設定しているインスタンスにのみ影響します。
通常の状況では、ログ ファイルにキャプチャされたマスター トークンとセッション トークンの有効期間は、それぞれ約 4 時間と 1 時間です。明示的に更新しない限り、4 時間の枠が過ぎると期限切れになります。明示的に更新された場合、無期限に更新される可能性があります。
.NET ドライバーを使用している場合は、次のアクションを実行してください。
グローバル HTTP 接続設定 - Snowflake は、ドライバーが .NET ドライバー v1.2.1 以前のバージョンで TLS 1.2 と証明書失効チェックをグローバルに強制しているという問題を特定しました。 v2.0.0 以降、ドライバーはこれらをローカルに設定します。
insecureMode が無効になっている場合、証明書失効リストが実行されない - Snowflake は、insecureMode フラグがデフォルト設定である false に設定されている場合、証明書失効リスト (CRL) に対するチェックが実行されない脆弱性を特定しました。バージョン v2.1.5 以降、CRL は意図したとおりに動作するようになりました。
このドライバーは現在、GCP リージョン エンドポイントをサポートしていません。このドライバーを介して使用するワークロードが GCP 上のリージョン エンドポイントのサポートを必要としないことを確認してください。これについてご質問がある場合は、Snowflake サポートにお問い合わせください。
ドライバーは現在 .NET Standard 2.0 をターゲットにしていることに注意してください。アップグレードする場合は、「Update-Package -reinstall」を実行して依存関係を更新する必要がある場合もあります。
もっと見る: