文档中心>云函数>实践教程>云数据仓库 PostgreSQL>SCF + PostgreSQL 导入 Ckafka 数据

SCF + PostgreSQL 导入 Ckafka 数据

最近更新时间:2023-12-07 14:37:11

我的收藏

背景说明

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

注意事项

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

使用步骤

步骤一:创建函数

1. 登录 云函数控制台,选择左侧导航中的函数服务
2. 函数服务页面,单击新建
3. 新建页面模糊搜索中搜索关键词“ckafka数据加载到CDW”,设置完成后单击下一步


4. 进入函数配置页面后,配置参数请参见 创建函数,其中环境配置网络配置,配置参数如下:
环境配置
内存:根据实际运行情况来设置,默认为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 对应的值。



公网访问:建议同时启用公网访问。
5. 单击完成

步骤二:配置触发器

1. 登录 云函数控制台,选择左侧导航中的函数服务
2. 函数服务页面,选择函数名,进入函数详情页面。
3. 选择左侧导航中的触发管理,单击创建触发器
4. 创建触发器页面,将触发方式设置为“Ckafka 触发”,如下图所示:



关于触发器参数配置可以参考 CKafka 触发器
5. 单击提交