製品をチェック

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

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

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

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

加藤龍彦
ウェブデベロッパー

最終更新日:2022-12-05

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

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

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

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

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

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

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

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

    Server=127.0.0.1;Port=9200;User=admin;Password=123456;

    Elasticsearch 接続プロパティの取得・設定方法

    接続するには、Server およびPort 接続プロパティを設定します。 認証には、User とPassword プロパティ、PKI (public key infrastructure)、またはその両方を設定します。 PKI を使用するには、SSLClientCert、SSLClientCertType、SSLClientCertSubject、およびSSLClientCertPassword プロパティを設定します。

    CData 製品は、認証とTLS/SSL 暗号化にX-Pack Security を使用しています。TLS/SSL で接続するには、Server 値に'https://' を接頭します。Note: PKI を 使用するためには、TLS/SSL およびクライアント認証はX-Pack 上で有効化されていなければなりません。

    接続されると、X-Pack では、設定したリルムをベースにユーザー認証およびロールの許可が実施されます。

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

    The connection string used by the adapter.(Salesforce is shown.)
  3. [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.)
  4. 次の[Statement Information]ページでは、アップデートグラムの形式(Insert、Update、Delete)を選択します。 スキーマに含ませたいテーブル名とカラムを選択します。アップデートまたはデリートを行う場合、ID カラムを選択します。

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

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

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

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

インサート

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

<ns0:parameters xmlns:ns0="http://www.cdata.com/jp/ElasticsearchProvider"> <ns0:sync> <ns0:before></ns0:before> <ns0:after> <ns0:Orders OrderName="OrderName_0" Freight="Freight_1" /> </ns0:after> </ns0:sync> </ns0:parameters>

アップデート

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

<ns0:parameters xmlns:ns0="http://www.cdata.com/jp/ElasticsearchProvider"> <ns0:sync> <ns0:before> <ns0:Orders Id=001d000000YBRseAAH></ns0:Orders> </ns0:before> <ns0:after> <ns0:Orders OrderName="OrderName_0" Freight="Freight_1" ></ns0:Orders> </ns0:after> </ns0:sync> </ns0:parameters>

デリート

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

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

スキーマを処理する

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

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

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