使用分布式消息服务Kafka触发器
本节介绍如何使用函数工作流控制台创建Kafka触发器,以实现FunctionGraph对Kafka实例中指定Topic的新消息进行定期轮询。FunctionGraph会将轮询得到的消息作为参数,用于调用相应函数。
关于Kafka触发器的事件源介绍,请参见支持的事件源。
约束与限制
- 除“华北-乌兰察布一”、“拉美-圣保罗一”外,其他区域均支持使用Kafka触发器。具体运行时函数是否支持使用请以控制台为准。
- Kafka触发器调用的请求正文有效负载大小为6M。
- 对于处理失败的Kafka数据,Kafka触发器会丢弃过大记录(>6MB)。
前提条件
- 函数及其配置:
- 分布式消息服务Kafka:
- 已创建Kafka实例,创建操作请参见购买Kafka专享版实例。
- 在Kafka实例下创建主题,创建操作请参见Kafka实例创建Topic。
- 开启函数访问VPC内资源后,请参见选择和配置Kafka安全组在Kafka服务安全组配置对应子网的权限。
创建Kafka触发器
- 登录函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。
- 选择待配置的函数,单击进入函数详情页。
- 选择“设置 > 触发器”,单击“创建触发器”,弹出“创建触发器”对话框。
图1 创建触发器
- 配置以下参数。
表1 Kafka触发器参数说明 参数
说明
取值样例
触发器类型
必选参数。
选择“分布式消息服务 Kafka版 (KAFKA)”。
分布式消息服务 Kafka版 (KAFKA)
实例
必选参数。
选择已创建的Kafka实例。若无实例,可单击“创建实例”完成创建。
kafka-fg
主题
必选参数。
选择专享版Kafka实例的Topic。Kafka触发器当前支持选择多个Topic主题,从而避免Topic过多导致创建的触发器数量被限制。若无主题,可单击“创建主题”完成创建。
topic-fg
批处理大小
必选参数。
输入每次从Topic消费的消息数量,设置范围:1~1000。
100
- 单击“确定”,完成kafka触发器的创建。
配置Kafka事件触发函数。
- 返回函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。
- 选择待配置的函数,单击进入函数详情页。
- 在函数详情页,选择函数版本。
- 在“代码”页签下,单击“测试”,弹出“配置测试事件”对话框。
- 填写如表2所示测试信息后,单击“保存”。
- 单击“测试”,可以得到函数运行结果,函数会返回输入kafka消息数据。