0

私のプロジェクトでは、データを収集し、データを処理/分析して公開する必要があります。同じために WSO2 DAS 3.0.0 を使用しています。

これを達成するために、私は以下の手順に従いました:-

  1. イベントストリームを作成しました(属性定義)。
  2. イベント レシーバーを作成しました。(HTTP、SOAP)
  3. イベント パブリッシャーを作成しました (My SQL にイベントを保存しますが、SQL サーバーでエラーが発生します)。

私の質問は以下の通りです: -

  1. 永続化されたイベントをデータベースに保存する他の方法はありますか? Main->stream->persist イベントを使用してデータベースにイベントを保存できますか? これを使用してデータベースにイベントを保存できますか、または Main->publishers を使用する必要があります。「出力イベント アダプタ タイプ」を選択 - RDBMS でイベントを格納しますか?

  2. SQL Server 2008 を使用してイベントを SQL Server 2008 に保存できますか? SQL Server 2008 にデータを保存しているときに、以下のエラーが発生します。

テーブル作成クエリを実行できません。データベースには「tbl_City」という名前のオブジェクトが既に存在します。したがって、イベントはドロップされます。

TID[-1234] [DAS] [2015-11-09 12:28:06,265] エラー {org.wso2.carbon.event.output.adapter.rdbms.RDBMSEventAdapter} - テーブル作成クエリを実行できません。データベースには「tbl_City」という名前のオブジェクトが既に存在します。したがって、イベントはドロップされます。org.wso2.carbon.event.output.adapter.rdbms.RDBMSEventAdapter.createTableIfNotExist(RDBMSEventAdapter.java:416) org.wso2.carbon.event.output.adapter.rdbms.RDBMSEventAdapter.executeProcessActions(RDBMSEventAdapter.java:290) org. wso2.carbon.event.output.adapter.rdbms.RDBMSEventAdapter.publish(RDBMSEventAdapter.java:134) org.wso2.carbon.event.output.adapter.core.internal.OutputAdapterRuntime.publish(OutputAdapterRuntime.java:62) org. wso2.carbon.event.output.adapter.core.internal.CarbonOutputEventAdapterService.publish(CarbonOutputEventAdapterService.java:143) org.wso2.carbon.event.publisher.core.internal.

確認してください。

4

4 に答える 4

0

お返事をありがとうございます。

はい。それで合っています。イベント/データ発行者の間で混乱しました。イベントを公開したくありません。イベントを SQL サーバーに保存したいのです。

以下のように私のシステムフローを見てください:-

外部システムがデータを DAS にプッシュします。そのデータは SQL サーバーに保存する必要があり、さらに分析するために処理する必要があります。

そのために以下の手順を実行しました。

  1. イベント ストリームを作成しました。5 つの属性を定義します。:- 終わり
  2. イベント レシーバーを作成しました。HTTP エンドポイントを公開しました。:- 完了
  3. このデータを SQL Server 2008 に保存する必要があります。 - 保留中

以下のサンプル データを DAS に発行できます。:-

"<events>
<event>
    <payloadData>
        <queueName>data3</queueName>
        <agentsOnThreshold>100</agentsOnThreshold>
        <agentsAvailThreshold>45</agentsAvailThreshold>
        <callsWtngThreshold>4</callsWtngThreshold>
        <avgWaitInSecThreshold>100</avgWaitInSecThreshold>
        <oldestCallInSecThreshold>45</oldestCallInSecThreshold>
    </payloadData>
</event>`enter code here`

"

だから私の質問は、DAS(イベントレシーバー)で受け取った上記のデータをSQLサーバーに保存する方法です。

于 2015-11-12T23:40:49.050 に答える
0

イベント パブリッシャーとデータ パブリッシャーを混同しているようです。

イベント パブリッシャーは、さらにアクションを実行するために結果を外部システムに公開するために使用されます。イベント パブリッシャーは、イベント通知とアラートを WSO2 DAS から外部システムに送信する機能を提供します。

このユース ケースでは、データを DAS にパブリッシュする必要があります。それにはいくつかの方法があります。詳しくは[1]をご覧ください。

DAS クイック スタート ガイド [2] に従って、概念をよりよく理解することもできます。

SQL サーバー 2008 の使用に関する質問については、はい、DAS は Microsoft SQL サーバーをサポートしています。

[1] https://docs.wso2.com/display/DAS300/Publishing+Data+to+DAS

[2] https://docs.wso2.com/display/DAS300/Quick+Start+Guide

于 2015-11-10T07:06:08.860 に答える
0

特定のストリームで DAS が受信するデータを永続化するには、データの永続化を有効にする必要があります。[1] に従って、ストリームを永続化してください。

DAS に組み込まれたイベント シミュレーション機能 [2] を使用してサンプル イベントを DAS に送信することにより、DAS データ受信機能を検証できます。

データが Event Store に永続化されているかどうかを確認するには、Data Exporer [3] に移動して、公開されたデータを調べます。

[1] https://docs.wso2.com/display/DAS300/Persisting+Data+for+Batch+Analytics

[2] https://docs.wso2.com/display/DAS300/Publishing+Data+Using+Event+Simulation

[3] https://docs.wso2.com/display/DAS300/Data+Explorer

于 2015-11-14T10:52:56.123 に答える