CData PowerShell Cmdlets for Snowflake はじめに:インストールから接続まで
このガイドでは、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 から配布されており、プラットフォーム間で簡単かつ一貫したインストールプロセスを実現しています。
インストール手順
- 管理者モードで PowerShell を開きます
- 以下のコマンドを実行して 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 は以下のステップで確認できます。
- Snowflake UI の左下にあるユーザー名をクリックします
- Account ID にカーソルを合わせます
- Copy Account URL アイコンをクリックして、アカウントURL をコピーします
- Database(オプション):CData 製品によって公開されるテーブルとビューを、特定のSnowflake データベースのものに制限したい場合に設定します
- Schema(オプション):CData 製品によって公開されるテーブルとビューを、特定のSnowflake データベーススキーマのものに制限したい場合に設定します
Snowflakeへの認証
CData 製品では、Snowflake ユーザー認証、フェデレーション認証、およびSSL クライアント認証をサポートしています。認証するには、User とPassword を設定し、AuthScheme プロパティで認証方法を選択してください。
キーペア認証
ユーザーアカウントに定義されたプライベートキーを使用してセキュアなトークンを作成し、キーペア認証で接続することも可能です。この方法で接続するには、AuthScheme をPRIVATEKEY に設定し、以下の値を設定してください。
- User:認証に使用するユーザーアカウント
- PrivateKey:プライベートキーを含む.pem ファイルへのパスなど、ユーザーに使用されるプライベートキー
- PrivateKeyType:プライベートキーを含むキーストアの種類(PEMKEY_FILE、PFXFILE など)
- PrivateKeyPassword:指定されたプライベートキーのパスワード
その他の認証方法については、ヘルプドキュメントの「Snowflakeへの認証」セクションをご確認ください。
Snowflake のデータ の取得
-
モジュールをインストールします:
Install-Module SnowflakeCmdlets
-
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 のインストール、ライセンス認証、接続設定が完了しました。以下のシナリオを参考に、さらに活用してみてください:
| PowerShell | 記事タイトル |
|---|---|
| Piping Cmdlets | PowerShell で Snowflake のデータ を CSV にパイプする方法 |
| Replication | PowerShell スクリプトで Snowflake のデータ を MySQL にレプリケートする |
サポート
ご不明な点がございましたら、お気軽にお問い合わせください:
- テクニカルサポート: [email protected]
- コミュニティフォーラム: CData Community Site
- ヘルプドキュメント: ローカルにインストールされているほか、オンラインでも参照可能です
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
Cmdlet は ODBC DSN を使用しません。すべての接続プロパティは
Connect-Snowflakeで直接渡されます。
多くの Cmdlet は以下のようなプロキシプロパティをサポートしています:
- ProxyServer
- ProxyPort
- ProxyUser
- ProxyPassword
データソース固有のヘルプドキュメントを参照してください。
パフォーマンスとトラブルシューティング
- クエリが遅いのはなぜですか?
- フィルターがない(WHERE 句がない)
- 大量の結果セットを取得している
- クラウド API からのレイテンシ
- 増分戦略を使用していない
- データをフィルタリングする(-Where パラメータ)
- 必要なカラムのみを選択する
- データソースの API スロットリング制限を確認する
- ログを有効にするにはどうすればよいですか?
よくある原因:
以下をお試しください:
クエリ最適化のサポートについては [email protected] までお問い合わせください。
以下のコマンドでモジュールのログを有効にします:
Set-ModuleLogging -Path "C:\logs\cdata.log" -Verbosity 3CData サポートと連携する際は、ログファイルを安全にアップロードしてください。
ほとんどのクラウドアプリケーション(Salesforce、HubSpot、Dynamics、Google API など)は HTTPS(443)を使用します。
ソースが追加のポートを必要とする場合は、固有のドキュメントを確認するか、[email protected] までお問い合わせください。
コンテナに PowerShell 7 をインストールし、モジュールをインストールします:
pwsh -Command "Install-Module SnowflakeCmdlets -Force"その後、通常どおり認証を行います。
一般
- サポートされているすべての SQL/コマンド操作はどこで確認できますか?
- PowerShell Cmdlets はどのくらいの頻度で更新されますか?
- コード例はどこで確認できますか?
- 基本的なクエリ
- Insert/Update/Delete
- OAuth フロー
- ファイル操作
- API 連携
各 Cmdlet にはローカルにインストールされたヘルプドキュメントが含まれており、オンラインでも参照可能です:https://www.cdata.com/powershell/
CData はメジャーアップデートを年次でリリースし、年間を通じて増分アップデートを行います。バージョンの入手可能性については、カスタマーポータルを確認するか、[email protected] までお問い合わせください。
すべての Cmdlet にはヘルプドキュメントに例が含まれており、多くのサービスのオンライン例も提供されています:https://www.cdata.com/powershell/ 例には以下が含まれます:
この FAQ で解決しない場合は、[email protected] までお問い合わせください。