製品をチェック

Snowflake Data Provider の30日間無償トライアルをダウンロード

 30日間の無償トライアルへ

製品の詳細

Snowflake Enterprise Data Warehouse アイコン Snowflake ADO.NET Provider 相談したい

Snowflake に簡単にデータ連携して.NET アプリケーションに統合!

LINQPad でSnowflake のデータを操作する方法

LINQPad でSnowflake にLINQ クエリを実行する方法を解説します。

加藤龍彦
デジタルマーケティング

最終更新日:2023-09-15
snowflake ロゴ

CData

ado ロゴ画像
LINQPad ロゴ

こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。

CData ADO.NET Provider for Snowflake は、LINQ やEntity Framework などの標準のADO.NET インターフェースを使ってSnowflake の操作を実現します。この記事では、LINQPad から接続してLINQ クエリを実行する方法を説明します。

Snowflake とのデータ連携について

CData は、Snowflake のライブデータへのアクセスと連携を容易にします。CData のコネクティビティを活用することで、次のようなことを実現できます。

  • Snowflake のデータを迅速かつ効率的に読み書き。
  • 指定したウェアハウス、データベース、スキーマのメタデータを動的に取得。
  • OAuth、OKTA、Azure AD、Azure Managed Service Identity、PingFederate、秘密鍵など、さまざまな方法による認証。

多くのCData ユーザーは、CData のソリューションを使用して好みのツールやアプリケーションからSnowflake にアクセスしたり、さまざまなシステムからSnowflake にデータをレプリケートして包括的なウェアハウスや分析を実現したりしています。

Snowflake とCData ソリューションの連携についての詳細は、ブログを参照してください: パフォーマンス低下でSnowflake 統合を停滞させないで

必要なもの

本記事の手順を実行してLINQPad からSnowflake に接続するには、以下の3つの製品が必要になります。

  • Snowflake の環境
  • LINQPad
  • CData ADO.NET Provider for Snowflake。右側のサイドバーから30日間無償トライアルがダウンロードできます

データモデルの作成

CData ADO.NET Provider for Snowflake およびLINQPad をダウンロード・インストールしたら、Visual Studio で新しいクラスライブラリプロジェクトを作成します。

ADO.NET Provider の利用に必要となるEF 6を設定する方法については、ヘルプドキュメントを参照してください。

  1. プロジェクトを右クリックし、[追加]→[新しい項目]→[ADO.NET Entity Data Model]をクリックします。ダイアログが表示されたら、データベースから[Code First]を選択します。 [New Connection]をクリックして、表示されたウィザードで接続文字列オプションを指定します。

    New Connectionを選択して新しい接続設定を作成
  2. Snowflake データベースに接続するには、認証に加えて次のプロパティを設定します。

    • Url:自身のSnowflake URL、例えばhttps://orgname-myaccount.snowflakecomputing.com
      • Legacy URL を使用する場合:https://myaccount.region.snowflakecomputing.com
      • 自身のURL を見つけるには:
        1. Snowflake UI の左下にある自身の名前をクリックします。
        2. Account ID にカーソルを合わせます。
        3. Copy Account URL アイコンをクリックして、アカウントURL をコピーします。
    • Database(オプション):本製品によって公開されるテーブルとビューを、特定のSnowflake データベースのものに制限します。
    • Schema(オプション):本製品によって公開されるテーブルとビューを、特定のSnowflake データベーススキーマのものに制限します。

    Snowflake への認証

    本製品は、Snowflake ユーザー認証、フェデレーション認証、およびSSL クライアント認証をサポートしています。認証するには、UserPassword を設定し、AuthScheme プロパティで認証メソッドを選択します。

    キーペア

    ユーザーアカウントに定義されたプライベートキーを使用してセキュアなトークンを作成することにより、キーペア認証を使用して認証できます。この方法で接続するには、AuthSchemePRIVATEKEY に設定し、次の値を設定します。

    • User:認証に使用するユーザーアカウント。
    • PrivateKey:プライベートキーを含む.pem ファイルへのパスなど、ユーザーに使用されるプライベートキー。
    • PrivateKeyType:プライベートキーを含むキーストアの種類(PEMKEY_FILE、PFXFILE など)。
    • PrivateKeyPassword:指定されたプライベートキーのパスワード。

    その他の認証方法は、ヘルプドキュメントの「Snowflake への認証」セクションを参照してください。

    一般的な接続文字列は次のとおりです。

    User=Admin;Password=test123;Server=localhost;Database=Northwind;Warehouse=TestWarehouse;Account=Tester1;
  3. 希望するテーブルおよびビューを選択して[Finish]をクリックし、データモデルを作成します。

    下部のFinishをクリックしてデータモデルを作成
  4. プロジェクトをビルドします。生成されたファイルを使ってLINQPad でSnowflake 接続を作成できます。

LINQPad でSnowflake のデータに接続

必要な接続プロパティを取得してデータモデルアセンブリを作成したら、以下の手順に従ってLINQPad でデータモデルを使いはじめましょう。

  1. LINQPad を開き[接続の追加]をクリックします。

    接続の追加をクリック
  2. [Use a typed data context from your own assembly]オプションを選択します。

  3. [Entity Framework DbContext]を選択します。

    下部のフィールドから[Entity Framework DbContext]を選択
  4. [Path to Custom Assembly]ボックスの横にある[参照]をクリックして、プロジェクトフォルダを参照します。bin フォルダの下の.dll または.exe を参照します。

  5. DbContext の名前を選択します。
  6. 接続文字列をApp.Config に保存した場合は、App.Config へのパスを指定します。
DbContextの名前とApp.Configへのパスを指定

これでLINQPad 経由でSnowflake にクエリできます。サポートされたLINQ クエリの例は、ヘルプドキュメントの「LINQ およびEntity Framework」を参照してください。

LINQPad からSnowflakeに接続

関連コンテンツ

トライアル・お問い合わせ

30日間無償トライアルで、CData のリアルタイムデータ連携をフルにお試しいただけます。記事や製品についてのご質問があればお気軽にお問い合わせください。