
# 使用开源Kafka（OPENSOURCEKAFKA）触发器
本节介绍如何通过函数工作流控制台创建开源Kafka（OPENSOURCEKAFKA）触发器，以实现FunctionGraph对Kafka实例中指定Topic的新消息进行定期轮询。FunctionGraph会将轮询得到的消息作为参数，用于调用相应函数。
![](https://support.huaweicloud.com/usermanual-functiongraph/public_sys-resources/note_3.0-zh-cn.png)
分布式消息服务Kafka版与开源Kafka的差异说明，请参见[Kafka与开源Kafka的差异](https://support.huaweicloud.com/productdesc-kafka/kafka-pd-200720001.html)。
#### 约束与限制
- 开源Kafka触发器支持使用的区域和具体运行时函数请以控制台展示为准。
- 开源Kafka触发器调用的请求正文有效负载大小为6M。
- 对于处理失败的Kafka数据，Kafka触发器会丢弃过大记录（\>6MB）。
 
#### 前提条件
- 已创建函数。
- 已开启函数访问VPC内资源的网络配置，开启后需在Kafka服务安全组配置对应子网的权限，请参见[配置网络](https://support.huaweicloud.com/usermanual-functiongraph/functiongraph_01_0222.html)。函数的网络配置需要和创建Kafka的ECS节点网络配置一样，包括VPC和子网。
 
#### 创建开源Kafka触发器
1. 登录[函数工作流控制台](https://console.huaweicloud.com/functiongraph/?locale=zh-cn)，在左侧的导航栏选择"函数 \> 函数列表"。
2. 选择待配置的函数，单击进入函数详情页。
3. 选择"设置 \> 触发器"，单击"创建触发器"，弹出"创建触发器"对话框。 
   图1创建触发器   
   ![](https://support.huaweicloud.com/usermanual-functiongraph/zh-cn_image_0000002082099598.png "点击放大")
   
   
4. 配置以下参数。 
   表1开源Kafka触发器参数说明 
   | 参数    | 说明                                                                                              | 取值样例                                   |
   |:---|:---|:---|
   | 触发器类型 | 必选参数。 选择"开源Kafka (OPENSOURCEKAFKA)"。                     | 开源Kafka (OPENSOURCEKAFKA)              |
   | 连接地址  | 必选参数。 输入搭建kafka的broker地址列表，以逗号分隔。                      | 100.85.125.151:9094,100.95.145.47:9094 |
   | 主题    | 必选参数。 输入自行创建的topic。                                    | topic-1                                |
   | 批处理大小 | 必选参数。 输入每次从Topic消费的消息数量，单次函数执行处理的最大数据量，设置范围：1\~10000。 | 100                                    |
      
   
   
5. 单击"确定"，完成开源Kafka触发器的创建。
 
#### 激活kafka触发器
开源Kafka触发器创建完成后默认是停用状态，需要在触发器界面上单击"启动"。
![](https://support.huaweicloud.com/usermanual-functiongraph/public_sys-resources/note_3.0-zh-cn.png)
如果启动失败可以在[工单系统](https://console.huaweicloud.com/ticket/?agencyId=e4ebeeb18baa4ae58946b5342fa6159d#/ticketindex/createIndex)提交工单联系技术支持工程师。
#### 配置Kafka事件触发函数
1. 返回函数工作流控制台，在左侧的导航栏选择"函数 \> 函数列表"。
2. 选择待配置的函数，单击进入函数详情页。
3. 在函数详情页，选择函数版本。
4. 在"代码"页签下，单击"测试"，弹出"配置测试事件"对话框。
5. 填写如[表2]所示测试信息后，单击"创建"。
   
    表2测试信息 
   | 参数     | 说明                                                                                     |
   |:---|:---|
   | 配置测试事件 | 可创建新的测试事件，也可编辑已有的测试事件。 选择默认值："创建新的测试事件"。          |
   | 事件模板   | 选择"开源Kafka（OPENSOURCEKAFKA）"模板，使用系统内置Kafka事件模板。                                        |
   | 事件名称   | 事件名称必须以大写或小写字母开头，支持字母（大写或小写），数字和下划线"_"（或中划线"-"），并以字母或数字结尾，长度为1-25个字符，例如：kafka-123test。 |
   | 测试事件   | 自动加载系统内置kafka事件模板，本例不做修改。                                                              |
      
   
   
6. 单击"测试"，可以得到函数运行结果，函数会返回输入kafka消息数据。
 
#### 相关文档
除使用控制台外，函数工作流支持通过API的方式使用函数触发器，详情请参见[函数触发器API参考](https://support.huaweicloud.com/api-functiongraph/FunctionTriggers.html)。
