tencent cloud

SCF + PostgreSQL 导入 Ckafka 数据
最后更新时间:2024-12-02 21:14:29
SCF + PostgreSQL 导入 Ckafka 数据
最后更新时间: 2024-12-02 21:14:29

背景说明

云函数是腾讯云为企业和开发者们提供的无服务器执行环境,具体可参见 云函数 SCF,下文简称 SCF。
云数据仓库 PostgreSQL 常见使用场景是将消息中间件的信息同步到云数据仓库 PostgreSQL 后再进行分析。本文提供了一种便捷的方法,即使用 SCF 实时的将 Kafka 中的数据导入到云数据仓库 PostgreSQL,无需用户维护任何服务。

注意事项

该云函数目前只能将腾讯云 CKafka 作为数据源,暂不支持自建 Kafka。
该云函数目前只能将云数据仓库 PostgreSQL 中的某一张表作为目标数据写入,如果有多张表的需求,请按照以下流程每张表创建对应的云函数。

使用步骤

步骤一:创建函数

云函数控制台 中选择函数服务 > 新建,在“新建函数”页面模糊搜索中搜索关键词“ckafka数据加载到CDW”,设置完成后单击下一步

进入“函数配置”页面后,在“高级配置”中进行环境配置网络配置,配置如下:
环境配置
内存:根据实际运行情况来设置,默认为128MB。当导入过程中出现内存不足的问题时,需调大内存。
环境变量:
参数
必填
说明
DB_DATABASE
数据库名
DB_HOST
如果函数是私有网络,并且和云数据仓库 PostgreSQL 是在同一子网,则可以填写云数据仓库 PostgreSQL 的内网 IP,否则需要填写外网 IP,并配置白名单
DB_USER
用户名
DB_PASSWORD
用户密码
DB_SCHEMA
模式名,如果创建表的时候未指定,通常是 public
DB_TABLE
表名
DB_PORT
云数据仓库 PostgreSQL 端口,默认为5436
MSG_SEPARATOR_ASCII
CKafka 中数据分隔符的 ASCII 码,默认为39(逗号),由于逗号经常会出现在业务数据中,这里建议使用11(Vertical tab)
MSG_NULL
CKafka 中消费的 NULL 值,默认是 \\N
REPLACE_0X00
是否替换字符串中的0x00,默认是0(1表示替换)
ENABLE_DEBUG
是否打印错误的记录,默认是0(1表示打印)
ENABLE_COS
是否把未写入记录转储到 COS 上,默认是0(1表示转储)
COS_SECRET_ID
访问 COS 的 secret_id,ENABLE_COS 如果为1,该字段必填
COS_SECRET_KEY
访问 COS 的 secret_key,ENABLE_COS 如果为1,该字段必填
COS_BUCKET
COS 存储桶名称,ENABLE_COS 如果为1,该字段必填
STATMENT_TIMEOUT
查询超时时间,默认是50秒
网络配置
私有网络:建议启用私有网络,并将 VPC 和子网的值配置的与云数据仓库 PostgreSQL 相同。

下图为云数据仓库 PostgreSQL 对应的值。


公网访问:建议同时启用公网访问。

步骤二:配置触发器

云函数控制台函数服务列表中,单击函数列表新建的函数名,进入函数详情页面。选择页面左侧触发管理 > 创建触发器创建新触发器。其中触发方式需设置为“Ckafka 触发”,如下图所示:


关于触发器参数配置可以参考 CKafka 触发器
本页内容是否解决了您的问题?
您也可以 联系销售 提交工单 以寻求帮助。

文档反馈