CData PowerShell Cmdlets for Snowflake はじめに:インストールから接続まで

Somya Sharma
Somya Sharma
Technical Marketing Engineer
Snowflake PowerShell Cmdlet のインストール、ライセンス認証、接続設定の完全ガイドです。

このガイドでは、Snowflake PowerShell Cmdlet の使い方を詳しく解説します。Cmdlet のインストール、初回接続の設定、クエリの実行、そして PowerShell で Snowflake のデータ を操作するための次のステップをご紹介します。

Snowflake データ連携について

CData は、Snowflake のライブデータへのアクセスと統合を簡素化します。お客様は CData の接続機能を以下の目的で活用しています:

  • Snowflake データを迅速かつ効率的に読み書きできます。
  • 指定された Warehouse、Database、Schema のメタデータを動的に取得できます。
  • OAuth、OKTA、Azure AD、Azure マネージド サービス ID、PingFederate、秘密鍵など、さまざまな方法で認証できます。

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

CData ソリューションとの Snowflake 統合についての詳細は、ブログをご覧ください:https://jp.cdata.com/blog/snowflake-integrations


はじめに


インストールとライセンス認証

システム要件

CData PowerShell Cmdlets は、PowerShell が動作するあらゆる環境で実行できます。

Windows

  • Windows 10/11
  • Windows Server 2016 以降
  • PowerShell 5.1 または PowerShell 7 以降

macOS / Linux

  • PowerShell 7 以降
  • 追加のシステムライブラリは不要
  • アーキテクチャ固有のインストーラーは不要

Cmdlet のインストール

CData Cmdlets は PowerShell Gallery から配布されており、プラットフォーム間で簡単かつ一貫したインストールプロセスを実現しています。

インストール手順

  1. 管理者モードPowerShell を開きます
  2. 以下のコマンドを実行して Cmdlet モジュールをインストールします:
    Install-Module SnowflakeCmdlets -Repository PSGallery -Force

    このコマンドは:

    • 公式の PowerShell Gallery からモジュールをダウンロードします
    • PowerShell 環境にインストールします
    • すべての Cmdlet をすぐに使用できるように登録します

モジュールの確認

インストールを確認するには:

Get-Module -ListAvailable "*Snowflake*"

ライセンス認証

Cmdlets は試用版正規ライセンスの両方の認証に対応しています。

試用版ライセンス

試用版の認証は自動的に行われ、キーは不要です。インストール後すぐに Cmdlet を使用できます。

正規ライセンスの認証

正規ライセンスを購入された場合、CData Orders チームからプロダクトキーを受け取ります。

ライセンスの認証

以下のコマンドを実行します:

Set-ModuleLicense ""

認証が成功すると、確認メッセージが表示されます。

ライセンスに関するよくある質問

ライセンスは複数のマシンで使用できますか?

サブスクリプションプランによります。注文確認メールを確認するか、[email protected] までお問い合わせください。

ライセンスキーを紛失しました。どうすればよいですか?

注文番号を添えて [email protected] までメールでお問い合わせください。

ライセンスを別のマシンに移行できますか?

以下のリンクからライセンス移行リクエストを送信してください:https://www.cdata.com/lic/transfer/

ライセンスはどこで管理できますか?

CData カスタマーポータルにアクセスしてください:https://portal.cdata.com/

接続設定

モジュールがインストールされ、ライセンスが認証されたら、

Connect-Snowflake cmdlet
を使用して Snowflake への接続を確立できます。

必要な接続プロパティを取得したら、PowerShell で Snowflake のデータ にアクセスしてレプリケーションを準備するには、基本的に 4 つのステップがあります。

それでは、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(オプション):CData 製品によって公開されるテーブルとビューを、特定のSnowflake データベースのものに制限したい場合に設定します
  • Schema(オプション):CData 製品によって公開されるテーブルとビューを、特定のSnowflake データベーススキーマのものに制限したい場合に設定します

Snowflakeへの認証

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

キーペア認証

ユーザーアカウントに定義されたプライベートキーを使用してセキュアなトークンを作成し、キーペア認証で接続することも可能です。この方法で接続するには、AuthSchemePRIVATEKEY に設定し、以下の値を設定してください。

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

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

Snowflake のデータ の取得

  1. モジュールをインストールします:

    Install-Module SnowflakeCmdlets
  2. Snowflake に接続します:

      $snowflake = Connect-Snowflake  -User $User -Password $Password -Server $Server -Database $Database -Warehouse $Warehouse -Account $Account
      

PowerShell での Snowflake のデータ のクエリ

接続後、標準 SQL のようなコマンドを使用してデータをクエリできます。

クエリ例:

$results = Select-Snowflake `
    -Connection $conn `
    -Table "Products" `
    -Columns "Id,ProductName" `
    -Where "Id != ''"

結果を表示します:

$results

これで PowerShell から Snowflake のデータ にアクセスできるようになりました。

よくある問題

認証エラー

解決策: ユーザー名、パスワード、セキュリティトークンを確認してください。OAuth アプリケーションの場合、アプリケーションのセキュリティ設定で CData を認可する必要がある場合があります。認可のサポートについては [email protected] までお問い合わせください。

ネットワークまたはプロキシの問題

解決策: ファイアウォール設定とアウトバウンドアクセスを確認してください。ほとんどのクラウドアプリケーションはポート 443 を使用します。

Cmdlet が見つからない

解決策: モジュールがインストールされていることを確認してください -

Get-Module -ListAvailable "*Snowflake*"

クエリが遅い

解決策:

  • フィルターを追加してデータセットのサイズを削減してください
  • サポートされている場合は $Limit または $Top プロパティを使用してください
  • 最適化のサポートについては [email protected] までお問い合わせください

接続に関するその他のトラブルシューティングについては、具体的なエラーメッセージを添えて [email protected] までお問い合わせください。

次のステップ

PowerShell Cmdlets のインストール、ライセンス認証、接続設定が完了しました。以下のシナリオを参考に、さらに活用してみてください:


サポート

ご不明な点がございましたら、お気軽にお問い合わせください:

FAQ(PowerShell Cmdlets)

インストールとライセンス

  • Cmdlet のインストールには管理者権限が必要ですか?
  • 必ずしも必要ではありません。

    • Windows PowerShell 5.1(Windows):管理者権限が推奨されます。特にすべてのユーザー向けにモジュールをインストールする場合に必要です。
    • PowerShell 7 以降(Windows、macOS、Linux):以下のコマンドを使用することで、管理者権限なしで現在のユーザー向けに Cmdlet をインストールできます:
      Install-Module SnowflakeCmdlets -Scope CurrentUser
  • インストーラーをダウンロードする必要がありますか?
  • CData PowerShell Cmdlets は PowerShell Gallery から配布されています。インストールは以下のコマンドで実行します:

    Install-Module SnowflakeCmdlets -Repository PSGallery -Force

接続

  • 同じデータソースの複数のアカウントに接続するにはどうすればよいですか?
  • 異なる認証プロパティを持つ個別の接続オブジェクトを作成します:

    $conn1 = Connect-Snowflake -User User1 -Password Pwd1
    $conn2 = Connect-Snowflake -User User2 -Password Pwd2
  • PowerShell Cmdlets には DSN が必要ですか?
  • Cmdlet は ODBC DSN を使用しません。すべての接続プロパティは

    Connect-Snowflake
    で直接渡されます。

  • プロキシサーバー経由で接続できますか?
  • 多くの Cmdlet は以下のようなプロキシプロパティをサポートしています:

    • ProxyServer
    • ProxyPort
    • ProxyUser
    • ProxyPassword

    データソース固有のヘルプドキュメントを参照してください。

パフォーマンスとトラブルシューティング

  • クエリが遅いのはなぜですか?
  • よくある原因:

    • フィルターがない(WHERE 句がない)
    • 大量の結果セットを取得している
    • クラウド API からのレイテンシ
    • 増分戦略を使用していない

    以下をお試しください:

    • データをフィルタリングする(-Where パラメータ)
    • 必要なカラムのみを選択する
    • データソースの API スロットリング制限を確認する

    クエリ最適化のサポートについては [email protected] までお問い合わせください。

  • ログを有効にするにはどうすればよいですか?
  • 以下のコマンドでモジュールのログを有効にします:

    Set-ModuleLogging -Path "C:\logs\cdata.log" -Verbosity 3
    CData サポートと連携する際は、ログファイルを安全にアップロードしてください。

  • どのポートを開放する必要がありますか?
  • ほとんどのクラウドアプリケーション(Salesforce、HubSpot、Dynamics、Google API など)は HTTPS(443)を使用します。

    ソースが追加のポートを必要とする場合は、固有のドキュメントを確認するか、[email protected] までお問い合わせください。

  • コンテナ(Docker、Kubernetes)で Cmdlet を使用できますか?
  • コンテナに PowerShell 7 をインストールし、モジュールをインストールします:

    pwsh -Command "Install-Module SnowflakeCmdlets -Force"
    その後、通常どおり認証を行います。

一般

  • サポートされているすべての SQL/コマンド操作はどこで確認できますか?
  • 各 Cmdlet にはローカルにインストールされたヘルプドキュメントが含まれており、オンラインでも参照可能です:https://www.cdata.com/powershell/

  • PowerShell Cmdlets はどのくらいの頻度で更新されますか?
  • CData はメジャーアップデートを年次でリリースし、年間を通じて増分アップデートを行います。バージョンの入手可能性については、カスタマーポータルを確認するか、[email protected] までお問い合わせください。

  • コード例はどこで確認できますか?
  • すべての Cmdlet にはヘルプドキュメントに例が含まれており、多くのサービスのオンライン例も提供されています:https://www.cdata.com/powershell/ 例には以下が含まれます:

    • 基本的なクエリ
    • Insert/Update/Delete
    • OAuth フロー
    • ファイル操作
    • API 連携

この FAQ で解決しない場合は、[email protected] までお問い合わせください。

はじめる準備はできましたか?

Snowflake Cmdlet の無料トライアルをダウンロードしてお試しください:

 ダウンロード