如果您希望区块链上的数据能导出到关系型数据库,您可以将区块链数据和数据库表做映射配置。云服务集成会根据配置,将区块中的指定数据导出至目标数据库的表中,您可以使用SQL语句或其他数据库工具对这些信息做进一步处理。
配置数据库触发器
集成数据库服务,需要您先安装云服务集成功能。
在 我的组织 中找到目标组织,点击右侧的 云服务集成。
将云服务集成页面的标签切换到 数据库,点击添加配置。
在侧边栏中依次填写以下配置信息:
名称:触发器的名称,便于识别。
通道/网络:需要做数据导出的Fabric通道。
智能合约:需要导出的数据所对应的智能合约,将作为默认过滤器表达式的筛选条件之一。
事件类型:需要导出的数据所对应的事件类型,Fabric只支持Tx。
数据库类型:选择目标数据库的类型。
数据源:数据库实例的公网连接地址。
用户名:访问数据库的用户名,需要对目标表有更新权限。
密码:用户名对应的密码。
数据库:目标表所在的数据库名。
表名:目标表名。
失败阈值:高级选项,触发器操作失败的次数超过该值后,触发器进入失败状态并停止导出。-1 表示失败次数不限,触发器不会进入失败状态。
过滤器:高级选项,您需要在表达式中实现链上数据的过滤以及和数据库表字段的映射。触发器会提供一个默认表达式,把区块中指定智能合约产生的有效交易筛选出来,将交易ID,创建时间,key-value等信息导出,详细信息请参考文档使用过滤器。
点击添加,成功后列表会显示刚才创建的触发器。
说明触发器被创建后,从当前最新区块开始导出数据。 在导出过程中,如果出现数据库处理错误或参数配置错误会使触发器状态变为异常,鼠标悬停即可查看错误信息。 触发器对应的服务返回异常时,触发器会自动重试,多次重试均失败后,会丢弃该数据,算一次失败。如果累计失败次数没有超过失败阈值,则继续导出后续数据。如果超过失败阈值,触发器进入失败状态并停止导出。用户可根据错误信息对触发器或相关服务进行修复后,再重新启用,启用后失败次数清零。 块高字段表示当前触发器已处理到哪一个区块,也反应了数据导出进度。
创建成功后,您可以对触发器进行以下操作:
删除:删除该触发器。
禁用:停止导出数据到该触发器对应的数据库。
启用:重新开始导出数据到该触发器对应的数据库。启用后,将从当前最新区块开始导出,停止期间的数据会被丢弃。