tencent cloud

文档反馈

SCF + PostgreSQL 导入 Ckafka 数据

最后更新时间:2023-03-14 15:54:10

    背景说明

    云函数是腾讯云为企业和开发者们提供的无服务器执行环境,具体可参见 云函数 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 电话支持