如果您希望區塊鏈上的數據能導出到關系型數據庫,您可以將區塊鏈數據和數據庫表做映射配置。云服務集成會根據配置,將區塊中的指定數據導出至目標數據庫的表中,您可以使用SQL語句或其他數據庫工具對這些信息做進一步處理。
配置數據庫觸發器
集成數據庫服務,需要您先安裝云服務集成功能。
在 我的組織 中找到目標組織,點擊右側的 云服務集成。
將云服務集成頁面的標簽切換到 數據庫,點擊添加配置。
在側邊欄中依次填寫以下配置信息:
名稱:觸發器的名稱,便于識別。
通道/網絡:需要做數據導出的Fabric通道。
智能合約:需要導出的數據所對應的智能合約,將作為默認過濾器表達式的篩選條件之一。
事件類型:需要導出的數據所對應的事件類型,Fabric只支持Tx。
數據庫類型:選擇目標數據庫的類型。
數據源:數據庫實例的公網連接地址。
用戶名:訪問數據庫的用戶名,需要對目標表有更新權限。
密碼:用戶名對應的密碼。
數據庫:目標表所在的數據庫名。
表名:目標表名。
失敗閾值:高級選項,觸發器操作失敗的次數超過該值后,觸發器進入失敗狀態并停止導出。-1 表示失敗次數不限,觸發器不會進入失敗狀態。
過濾器:高級選項,您需要在表達式中實現鏈上數據的過濾以及和數據庫表字段的映射。觸發器會提供一個默認表達式,把區塊中指定智能合約產生的有效交易篩選出來,將交易ID,創建時間,key-value等信息導出,詳細信息請參考文檔使用過濾器。
點擊添加,成功后列表會顯示剛才創建的觸發器。
說明觸發器被創建后,從當前最新區塊開始導出數據。 在導出過程中,如果出現數據庫處理錯誤或參數配置錯誤會使觸發器狀態變為異常,鼠標懸停即可查看錯誤信息。 觸發器對應的服務返回異常時,觸發器會自動重試,多次重試均失敗后,會丟棄該數據,算一次失敗。如果累計失敗次數沒有超過失敗閾值,則繼續導出后續數據。如果超過失敗閾值,觸發器進入失敗狀態并停止導出。用戶可根據錯誤信息對觸發器或相關服務進行修復后,再重新啟用,啟用后失敗次數清零。 塊高字段表示當前觸發器已處理到哪一個區塊,也反應了數據導出進度。
創建成功后,您可以對觸發器進行以下操作:
刪除:刪除該觸發器。
禁用:停止導出數據到該觸發器對應的數據庫。
啟用:重新開始導出數據到該觸發器對應的數據庫。啟用后,將從當前最新區塊開始導出,停止期間的數據會被丟棄。