tencent cloud

文档反馈

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 触发器
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持