消息队列 CKafka 支持用户转储消息的能力,您可以将 CKafka 消息转储至云数据库 MySQL(CDB)便于对筛选数据做持久化存储。
该功能目前依赖云函数(SCF)、云数据库(CDB)服务。使用时需提前开通云函数 SCF ,云数据库MySQL 等相关服务及功能。
转储 MySQL 数据库的方案将使用 SCF 的 CKafka 触发器进行,通过 CKafka 触发器消息转储到 MySQL 数据库。
登录 CKafka 控制台 。
在左侧导航栏单击实例列表,单击目标实例的“ID/名称”,进入实例详情页。
在实例详情页,单击topic管理标签页,单击操作列的消息转储。
单击添加消息转储,选择转储类型为通用模板。
创建完成后单击函数管理链接,进入云函数控制台进行下一步操作。
在云函数控制台上传 CKafkaToMysql 模板代码(Github下载地址)。
在云函数的函数配置中添加如下环境变量。
dbhost=172.16.0.59 // 数据库VPC HOST地址
dbuser=tabor // 数据库用户名
dbpwd=1237018 // 数据库密码
dbdatabase=canmengtest // 数据库名
dbtable=123321 // 数据表名
在云函数的函数配置中修改 VPC 网络,将云函数 VPC 网络与云数据库 VPC 网络设为一致即可。
在云数据库 MySQL DMC控制台 添加相关数据库,数据表与表结构。
创建数据库,与环境变量中的数据库名相同:
创建数据表,与环境变量中的数据库表相同:
创建表结构,与函数代码中的插入结构相同,默认插入 offset、Megs 列,可在 index.py 文件的33行修改相关插入结构:
数据表与数据结构创建亦可直接通过 MySQL 命令直接创建:
CREATE TABLE `test_table` ( `offset` VARCHAR(255) NOT NULL , `Megs` LONGTEXT NOT NULL ) ENGINE = InnoDB;
在云函数触发器控制台中打开 CKakfa 触发器。
本页内容是否解决了您的问题?