更新时间:2024-03-29 GMT+08:00
分享

使用DIS触发器

关于DIS触发器事件源具体介绍请参见支持的事件源

前提条件

进行操作之前,需要做好以下准备。

  • 已经创建函数,创建过程请参见创建函数
  • 已经创建接入通道,此处以dis-function为例,创建过程请参见创建DIS通道

设置函数委托

创建DIS触发器时,需要设置函数委托,委托权限需要包括DIS,委托的创建请参见配置委托权限

由于创建HelloWorld函数的时候没有设置委托,所以需要先修改函数委托。

  1. 登录函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。
  2. 选择待配置的函数,单击进入函数详情页。
  3. 在“设置 > 权限”页签,修改函数委托,将委托修改为配置委托权限创建的serverless-trust委托。
  4. 单击“保存”,完成委托修改。

创建DIS触发器

  1. 返回函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。
  2. 选择待配置的函数,单击进入函数详情页。
  3. 选择“设置 > 触发器”,单击“创建触发器”,弹出“创建触发器”对话框。
  4. 设置以下信息。

    • 触发器类型:数据接入服务 (DIS)。
    • 通道名称:选择已创建的DIS通道,例如:dis-function。
    • 起始位置:选择流中开始读取数据的位置。
      • TRIM_HORIZON:从最早被存储至分区的有效记录开始读取。
      • latest:从分区中的最新记录开始读取,此设置可以保证你总是读到分区中最新记录。
    • 数据处理方式:“按字节数”和“按批处理”。
      表1 数据处理方式介绍

      数据处理方式

      说明

      按字节数

      需配置“最大字节数”,每次触发时获取记录的最大字节数。只有当分区中单条记录小于该值,才能被获取。设置范围:0KB-4MB。

      按批处理

      需配置“批处理大小”,单次拉取的最大数据条数。只有当分区中单条记录小于该值,才能被获取。设置范围:1-10000,同时拉取的数据条数总大小不超过4MB。

      用户默认没有权限使用“按批处理”方式,如果需要使用该功能,请在工单系统提交工单添加白名单。

    • 拉取周期:设置拉取流数据的周期。
    • 串行处理数据:如果开启该选项,取一次数据处理完之后才会取下一次数据;否则只要拉取周期到了就会取数据进行处理。
      关闭“串行处理数据”开关后,您可以根据业务需要配置并发数(范围:1-80)。该参数的功能是:当DIS触发器配置为异步执行时,它可以控制DIS触发器异步调用函数的并发数,防止单个触发器流量较大导致单租户并发跑满,进而影响其他DIS触发器无法执行。(目前暂时只有北京四支持该功能)
      图1 关闭“串行处理数据”

  5. 单击“确定”,完成DIS触发器的创建。

修改DIS触发器配置

DIS触发器创建后,支持对部分参数进行修改。

  1. 返回函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。
  2. 选择待配置的函数,单击进入函数详情页。
  3. 选择“设置 > 触发器”,单击DIS触发器上的“编辑”,弹出“创建触发器”对话框
  4. 您可以修改“最大字节数/批处理大小”、“拉取周期”、“串行处理数据”,修改完成后单击“确定”。

配置DIS事件触发函数

  1. 返回函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。
  2. 选择待配置的函数,单击进入函数详情页。
  3. 在函数详情页,选择函数版本。
  4. 在“代码”页签下,单击“测试”,弹出“配置测试事件”对话框。
  5. 填写如表2所示测试信息后,单击“保存”。

    表2 测试信息

    参数

    说明

    配置测试事件

    可创建新的测试事件也可编辑已有的测试事件。

    选择默认值:“创建新的测试事件”。

    事件模板

    选择"数据接入服务(DIS)"模板,使用系统内置dis事件模板。

    事件名称

    事件名称必须以大写或小写字母开头,支持字母(大写或小写),数字和下划线“_”(或中划线“-”),并以字母或数字结尾,长度为1-25个字符。例如输入dis-123test。

    测试事件

    自动加载系统内置dis事件模板,本例不做修改。

  6. 单击“测试”,可以得到函数运行结果,函数会返回输入DIS数据。

相关文档