ブロックチェーンデータをリレーショナルデータベースにエクスポートするには、ブロックチェーンデータとデータベース内のテーブル間のマッピングを構成します。マッピングが構成されると、Alibaba Cloud Blockchain as a Service (BaaS) は特定のデータをターゲットテーブルに自動的にエクスポートします。SQL 文などのデータベースツールを使用して、データをさらに処理できます。
データベーストリガーの構成
データベーストリガーを構成する前に、クラウドサービス統合モジュールをインストールする必要があります。
[マイ組織] セクションで対象の組織を見つけ、右側の [クラウドサービス統合] をクリックします。
[データベース] タブを クリック し、[構成を追加] を クリック します。
表示される [データベース構成の追加] サイドペインで、次のパラメーターを設定します。
名前: トリガーの名前 (識別しやすいようにするため)。
チャンネル/ネットワーク: トリガーがデータのエクスポートに選択した Fabric チャンネル。
スマートコントラクト: エクスポートされたデータに対応するスマートコントラクト。これは、以下のデフォルトのフィルター式における 1 つのスクリーニング条件になります。
イベントタイプ: エクスポートされたデータに対応するイベントのタイプ。Fabric はここで Tx のみをサポートしています。
データベースタイプ: ターゲットデータベースのタイプ。
データソース: パブリックネットワーク経由でアクセスする必要があるデータベースインスタンスのアドレス。
ユーザー名: ターゲットテーブルの更新権限を持つデータベースユーザー名。
パスワード: 対応するパスワード。
データベース: ターゲットデータベース名。
テーブル名: ターゲットテーブル名。
失敗のしきい値: 詳細オプション。失敗回数がこの値を超えると、トリガーは失敗状態になり、処理を停止します。 -1 は失敗回数が無制限であることを意味し、トリガーは失敗状態になりません。
フィルター: 詳細オプション。この式では、データフィルターとテーブル列へのマッピングを実装する必要があります。トリガーはデフォルトの式を提供します。この式は、特定のスマートコントラクトによって生成された有効なトランザクションを抽出し、トランザクション ID、作成時間、キーと値などのデータをエクスポートできます。詳細については、「フィルターの使用」をご参照ください。
[追加] をクリックします。トリガーが追加されると、リストに表示されます。
説明トリガーが作成されると、最新のブロックからデータがエクスポートされます。トリガーが統合データベースにデータをエクスポートするときに、データベース処理エラーまたはパラメーター構成エラーが発生すると、トリガーの状態が [例外] になります。[例外] にポインターを移動すると、エラー情報が表示されます。統合データベースが例外を返した場合、トリガーは処理を再試行します。再試行が複数回失敗した場合、トリガーはデータを破棄し、これは 1 回の失敗としてカウントされます。失敗の合計数が失敗のしきい値を超えない場合、トリガーは後続のデータをエクスポートします。失敗の合計数が失敗のしきい値を超えた場合、トリガーは失敗状態になり、処理を停止します。トリガーまたは関連サービスを修復して再度有効にすると、失敗回数はゼロに戻ります。[ブロックの高さ] フィールドは、トリガーによって処理された最新のブロックを示し、トリガーの進捗状況を反映します。
トリガーの作成後、次の操作を実行できます。
削除: トリガーを削除します。
無効化: データベースへのデータエクスポートを停止します。
有効: トリガー用に構成したデータベースにデータをエクスポートします。トリガーが有効になると、最新のブロックのデータをエクスポートします。トリガーが無効になっている間に生成されたデータは破棄されます。