Powershell からの Redshift データ連携タスクを自動化

詳細情報をご希望ですか?

無償トライアル:

ダウンロードへ

製品の詳細情報へ:

Amazon Redshift ADO.NET Provider

Amazon Redshift データ連携のパワフルな.NET アプリケーションを素早く作成して配布。



PowerShell から Redshift に簡単に接続する方法をお探しですか? CData ADO.NET Provider for Redshift は、PowerShell スクリプトの優位性を使い、シンプルで簡単に使えるADO.NET インターフェース を提供します。PowerShell スクリプトで、ADO.NET オブジェクトを使って簡単にRedshift に接続して、同期、自動化、ダウンロードなどが可能!



CData ADO.NET Provider for Redshift は、ADO.NET 標準インターフェースへ統合し、PowerShell のような. NET アプリケーションからRedshift API へのデータ連携を可能にします。このプロバイダーは、Redshift の認証および相互作用を簡単にします。このチュートリアルでは、PowerShell から直接SQL クエリを実行するための、いくつかの一般的なADO.NET オブジェクトの使い方を説明します。

クエリの実行

次の3つのステップに従って create、read、update、およびdelete (CRUD) のデータ連携コマンドを PowerShell からリアルタイムRedshift に実行:

  1. プロバイダーのアセンブリをロード:

    [Reflection.Assembly]::LoadFile("C:\Program Files\CData\CData ADO.NET Provider for Redshift\lib\System.Data.CData.Redshift.dll")
  2. Redshift に接続:

    Redshift への接続には次を設定します:

    • Server: 接続するデータベースをホストしているクラスタのホスト名およびIP アドレス。
    • Port: クラスタのポート。
    • Database: データベース名、ブランクの場合ユーザーのデフォルトデータベースになります。
    • User: ユーザー名。
    • Password: ユーザーのパスワード。

    Server およびPort の値はAWS の管理コンソールで取得可能です:

    1. Amazon Redshift console (http://console.aws.amazon.com/redshift) を開く。
    2. Clusters ページで、クラスタ名をクリック。
    3. クラスタのConfiguration タブで、表示された接続文字列からクラスタのURL をコピーします。

      $constr = "User=admin;Password=admin;Database=dev;Server=examplecluster.my.us-west-2.redshift.amazonaws.com;Port=5439;" $conn= New-Object System.Data.CData.Redshift.RedshiftConnection($constr) $conn.Open()
    4. RedshiftDataAdapter のインスタンスを生成してSQL クエリを実行し、結果を出力:

      $sql="SELECT ShipName, ShipCity from Orders" $da= New-Object System.Data.CData.Redshift.RedshiftDataAdapter($sql, $conn) $dt= New-Object System.Data.DataTable $da.Fill($dt) $dt.Rows | foreach { Write-Host $_.shipname $_.shipcity }

    Redshift データの更新

    $cmd = New-Object System.Data.CData.RedshiftCommand("UPDATE Orders SET ShipCountry='USA' WHERE Id = @myId", $conn) $cmd.Parameters.Add(new System.Data.CData.RedshiftParameter("myId","10456255-0015501366")) $cmd.ExecuteNonQuery()

    Redshift へのデータの挿入

    $cmd = New-Object System.Data.CData.RedshiftCommand("UPDATE Orders SET ShipCountry='USA' WHERE Id = @myId", $conn) $cmd.Parameters.Add(new System.Data.CData.RedshiftParameter("myId","10456255-0015501366")) $cmd.ExecuteNonQuery()

    Redshift データの削除

    $cmd = New-Object System.Data.CData.RedshiftCommand("UPDATE Orders SET ShipCountry='USA' WHERE Id = @myId", $conn) $cmd.Parameters.Add(new System.Data.CData.RedshiftParameter("myId","10456255-0015501366")) $cmd.ExecuteNonQuery()