所有文档

          函数计算 CFC

          BOS触发器

          用户可以为新建的函数或已有函数配置 BOS 触发器,创建函数的流程可以具体参考 创建函数

          这里假设用户已完成一个名为 bostrigger 的 Python 函数的创建,以下内容以此为前提,指引用户在 CFC 控制台在函数管理页面中为函数配置触发器。接下来,我们将通过三步来完成一个触发器的设置。

          配置 BOS 触发器

          1. 登录管理控制台,选择“产品服务> 函数计算 CFC”,进入“函数列表”页面。
          2. 点击需要添加 BOS 触发器的函数名称(即 bostrigger),进入函数详情页面。
          3. 点击左侧导航栏中的“触发器”,进入函数配置页面,点击“新增触发器”。在弹出框中选择 BOS 触发器。

          bos-trigger.png

          1. 之后在弹出框中填入触发器的各个参数、点击确认,触发器即创建完成,各个参数的解释如下:

            • 名称:即触发器的名称。
            • 源Bucket:每个触发器需要选择一个 BOS Bucket 作为触发源,且 bucket 与函数需位于同一个地域。
            • 事件类型:选择一个或多个事件类型,当覆盖资源在源 Bucket 上发生这些事件时,您的函数就会被触发。
            • 覆盖资源:表示您想监控的 BOS 资源的文件名,您可以用文件全名来特指某一个文件,或者用指定前后缀的方式,来指定一类文件名。

          bos-config.png

          1. 在函数配置页面“触发器”一栏中,可以看到刚刚创建好的 BOS 触发器及其信息。

          trigger_created.png

          编写函数代码

          使用 BOS 触发器时,一般情况下您需要读取函数的 event,根据 event 中的信息做相应的处理。在“函数代码”页点击“测试”,在“当前测试事件”中选择 BOS 触发器的某个事件。可以看到每种事件类型都有它对应的 event,以及每个 event 的内容示例。

          trigger-event.png

          本例选择“文件上传”,根据该 event 的事件格式编写如下代码:

          def handler(event, context): 
              for record in event['events']:        
                  event_type = record['eventType']
                  bucket = record['content']['bucket']
                  object_key = record['content']['object']
                  file_name = object_key.split('/')[-1]
                  print("function is triggered, bucket:%s, object:%s, event:%s" % (bucket, file_name, event_type))
              return object_key

          测试触发器

          在“函数代码”页点击“测试”,在“当前测试事件”中选择“文件上传”,点击“执行”。

          函数执行结果如图 bos-invoke-res.png

          BOS 事件通知

          CFC 的 BOS 触发器与 BOS 的事件通知是互通的,您在 CFC 创建、修改触发器后,在 BOS 对应 bucket 的事件通知页可以看到相应的事件通知,反之亦然。所以,若您需要在 CFC 和 BOS 之间建立触发关系,您在 CFC 或 BOS 的其中一个进行配置即可,不需要重复配置。

          关于更多 BOS 事件通知的更多说明,您可以参考 BOS 事件通知

          更多应用

          为了便于您编写代码,CFC 为您提供了 BOS 触发器蓝图,每个蓝图都有自己的功能。创建函数时您可以选择“从模板创建函数”,“关键词”输入 BOS 即可获取相关蓝图,在此蓝图基础上修改代码实现您的逻辑。

          上一篇
          HTTP触发器
          下一篇
          DuerOS触发器