製品をチェック

製品の情報と30日間無償トライアル

Redshift 連携ソリューション 相談したい

Redshift データでアップデートグラムを使用する

アップデートグラムを使用することで、Redshift をインサート、アップデート、デリートできます。ここでは、CData BizTalk Adapter for Redshift を使用して、アップデートグラムスキーマとインスタンスを作成する方法を説明します。

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

最終更新日:2022-12-05

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

この記事では、CData BizTalk Adapter for Redshift で実行できるアップデートグラムを作成します。設計したスキーマは、インサート、アップデート、デリートのアップデートグラムを作成するためのテンプレートとして使用します。

プロジェクトにRedshift 用アダプターを追加する

[Add Adapter] ウィザードから、アダプターをVisual Studio のBizTalk サーバープロジェクトに追加します。アダプターを使って、修正したいテーブルに関するRedshift のメタデータをクエリします。

  1. [Solution Explorer] の[project] で右クリックし、[Add] -> [Add Generated Items] と進みます。
  2. [resulting dialog box] の[Add Adapter Metadata] を選択します。
  3. 表示される[Add Adapter] ウィザードで、リストからCData BizTalk Adapter for Redshift を選択します。
  4. [Port menu] では、選択を空白のままにします。もしくは、アダプターを使用するように構成されている受信場所や送信ポートを選択します。
  5. [Next]をクリックすると、[Schema]ウィザードが表示されます。
CData Data Adapters in the Select Adapter wizard.(Salesforce is shown.)

アップデートグラム用のスキーマを作成する

以下のステップに従って、Visual Studio のBizTalk サーバープロジェクトでスキーマを作成します。

  1. 未追加の場合は、Redshift アダプターをプロジェクトに追加します。
  2. 送信ポートや受信場所で、認証資格情報やその他の接続プロパティが未構成の場合、[Add Adapter]ウィザードの[Connection String]ページから入力します。下は一般的な接続文字列です。

    User=admin;Password=admin;Database=dev;Server=examplecluster.my.us-west-2.redshift.amazonaws.com;Port=5439;

    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 をコピーします。

      接続プロパティの詳細は、ヘルプドキュメントの"BizTalk Configuration" チャプターを参照してください。

      The connection string used by the adapter.(Salesforce is shown.)
    4. [Schema Information]ページで、[General Options]セクションの[Send Port]をクリックします。[CommandType]メニューから[Updategram]を選択します。要請応答送信ポートのアダプターを使用している場合、[One-Way]オプションを無効にします。 Schema options that are specific to the adapter configured in a solicit-response send port.(Salesforce is shown.)
    5. 次の[Statement Information]ページでは、アップデートグラムの形式(Insert、Update、Delete)を選択します。 スキーマに含ませたいテーブル名とカラムを選択します。アップデートまたはデリートを行う場合、ID カラムを選択します。

      Noteアップデートグラムを作成する際、修正はスキーマに含ませたカラムに限定されます。

      Schema options that specify the table and columns to be modified.(Salesforce is shown.)
    6. [Next]をクリックしてスキーマの概要を確認してウィザードを終了し、スキーマを作成します。完成した.xsd ファイルがプロジェクトに追加されます。
    The resulting updategram instance.(Salesforce is shown.)

    インサート、アップデート、デリートのインスタンスメッセージを生成する

    アップデートグラムスキーマの作成後、アップデートグラムを生成する.xsd ファイルを使用できます。.xsd ファイルを右クリックし、[Generate Instance]を選択します。このファイルは、アップデートグラムを手動で作成するテンプレートとして使用することもできます。以下は、インサート、アップデート、デリートそれぞれに生成されたアップデートグラムインスタンスの例です。

    インサート

    まず、インサートの一例です。このインスタンスでは、データの変化を指定するafter ブロックのみを扱います。

    <ns0:parameters xmlns:ns0="http://www.cdata.com/jp/RedshiftProvider"> <ns0:sync> <ns0:before></ns0:before> <ns0:after> <ns0:Orders ShipName="ShipName_0" ShipCity="ShipCity_1" /> </ns0:after> </ns0:sync> </ns0:parameters>

    アップデート

    次に、アップデートの一例です。このインスタンスでは、before ブロック(テーブルに存在するデータ)と、after ブロック(データの変化)の両方を扱います。

    <ns0:parameters xmlns:ns0="http://www.cdata.com/jp/RedshiftProvider"> <ns0:sync> <ns0:before> <ns0:Orders Id=001d000000YBRseAAH></ns0:Orders> </ns0:before> <ns0:after> <ns0:Orders ShipName="ShipName_0" ShipCity="ShipCity_1" ></ns0:Orders> </ns0:after> </ns0:sync> </ns0:parameters>

    デリート

    最後に、デリートの一例です。after ブロックは空になり、アイテムを除去していることを示します。

    <ns0:parameters xmlns:ns0="http://www.cdata.com/jp/RedshiftProvider"> <ns0:sync> <ns0:before> <ns0:Orders Id=001d000000YBRseAAH></ns0:Orders> </ns0:before> <ns0:after></ns0:after> </ns0:sync> </ns0:parameters>

    スキーマを処理する

    Redshift レコードのインサート、アップデート、デリートにアップデートグラムを使用するには、こちらのチュートリアルをご覧ください。

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

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