通过第三方服务触发函数

事件总线EventBridge支持集成钉钉连接器,您可以根据业务接口入参搭建各类员工管理系统。本文以钉钉新增成员触发器函数执行为例介绍如何通过第三方服务触发HTTP API业务。

流程介绍

本文使用的方案涉及到钉钉、钉钉连接器、事件总线EventBridge函数计算等产品,流程如下图所示:

image

前提条件

您已完成以下操作:

步骤一:创建自定义事件总线

  1. 登录事件总线EventBridge控制台,在顶部菜单栏,选择地域。

  2. 在左侧导航栏,单击事件总线,在自定义事件总线区域,单击快速创建

  3. 创建自定义事件总线面板,完成以下操作。

    1. 总线页签,设置自定义事件总线名称描述,然后单击下一步

    2. 事件源页签,设置事件源名称描述,配置以下参数,然后单击下一步

      参数

      事件提供方

      HTTP/HTTPS触发

      请求类型

      HTTPS

      请求方法

      POST

      安全配置

      无需配置

    3. 规则页签,单击跳过,然后在直接创建自定义事件总线对话框单击确认,暂不在新创建的自定义事件总线上创建事件规则和事件目标。

      创建完成后,您可以在事件源列表找到刚才创建的自定义事件源,然后单击详情查看配置信息。其中公网请求 URL可以作为钉钉连接器的接入Webhook地址。pic-1

步骤二:创建钉钉连接流

  1. 登录钉钉开放平台,在顶部菜单栏选择开放能力 > 连接平台

  2. 在左侧导航栏选择我的连接 > 连接流

  3. 我的连接流页面,从新建列表中,选择业务流

    1. 创建流对话框,设置业务流的名称和描述,设置触发器官方 > 通讯录 > 通讯录用户增加

    2. 连接流页签,单击添加图标,然后单击网络请求

    3. 网络请求区域右侧,单击箭头图标,然后在网络请求面板设置请求参数,单击保存

      参数

      说明

      示例

      请求方式

      步骤一:创建自定义事件总线中配置的请求方法一致。

      POST

      请求地址

      配置步骤一:创建自定义事件总线中获取的URL地址。

      https://115964845466****.eventbridge.cn-hangzhou.aliyuncs.com/webhook/putEvents?token=8a5c4e6****

      Body

      消息体包含的字段。

      root

步骤三:使用函数计算调用HTTP API

  1. 登录函数计算控制台,在左侧导航栏,单击服务及函数
  2. 在顶部菜单栏,选择地域,然后在服务列表页面,单击创建服务
  3. 创建服务面板,填写服务名称和描述,并按需设置以下配置项,然后单击确定

    配置项

    说明

    日志功能

    是否启用阿里云日志服务。取值说明如下:

    • 启用:函数的执行日志被持久化保存到日志服务,方便您代码调试、故障分析和数据分析等。

    • 禁用:函数的执行日志将无法通过日志服务存储和查询。

    高级配置

    链路追踪功能

    是否启用阿里云链路追踪功能。取值说明如下:

    • 启用:您可以使用Jaeger上传链路信息,来跟踪函数的执行,快速分析和诊断Serverless架构下的性能瓶颈。更多信息,请参见链路追踪简介

    • 禁用:不启用链路追踪功能。

    服务角色

    配置服务中函数所使用的角色,使函数可以获得角色所拥有的权限。更多信息,请参见授予函数计算访问其他云服务的权限

    允许访问 VPC

    是否允许函数访问VPC内资源。更多信息,请参见配置网络

    专有网络

    允许访问 VPC选择时必填。创建新的VPC或在下拉列表中选择要访问的VPC ID。

    交换机

    允许访问 VPC选择时必填。创建新的交换机或在下拉列表中选择交换机ID。

    安全组

    允许访问 VPC选择时必填。创建新的安全组或在下拉列表中选择安全组。

    允许函数访问公网

    是否允许函数访问公网。关闭后,当前服务中的函数将无法通过函数计算的默认网卡访问公网。

    重要

    使用固定公网IP地址功能时,您必须关闭允许函数访问公网,否则配置的固定公网IP地址不生效。更多信息,请参见配置固定公网IP地址

  4. 服务列表页面,单击目标服务名称,然后单击创建函数

  5. 创建函数页面,按需选择使用内置运行时创建函数方式,配置以下配置项,然后单击创建

    1. 基本设置区域,设置函数名称,选择请求处理程序类型处理事件请求

    2. 函数代码区域,选择运行环境为Node.js,选择代码上传方式使用示例代码,并单击API网关触发函数

      创建函数

    创建完成后,可在函数详情页面查看详情。函数详情

步骤四:创建事件规则

  1. 登录事件总线EventBridge控制台,找到步骤一:创建自定义事件总线中创建的自定义事件总线。

  2. 单击自定义事件总线名称,然后在左侧菜单栏,单击事件规则

  3. 事件规则页面,单击创建规则,然后在创建规则配置向导,配置以下参数。

    1. 配置基本信息页签,设置事件规则的名称描述,然后单击下一步

    2. 配置事件模式页签,设置事件源类型自定义事件源,设置事件源步骤一:创建自定义事件总线中创建的自定义事件源,然后单击下一步

    3. 配置事件目标页签,设置以下参数,然后单击创建

      参数

      说明

      示例

      服务类型

      选择目标服务类型。

      函数计算

      服务

      选择步骤三:使用函数计算调用HTTP API中创建的服务。

      testserver

      函数

      配置步骤三:使用函数计算调用HTTP API中创建的函数。

      testfunction

      事件

      选择完整事件

      完整事件

      执行方式

      选择同步

      同步

步骤五:新增员工事件自动触发HTTP API

  1. 邀请成员加入您的钉钉团队。详细操作,请参见如何添加组织成员

  2. 步骤一:创建自定义事件总线中创建的自定义事件总线详情页面,单击事件追踪,设置查询时间范围,单击查询

  3. 在查询到的事件右侧操作列,单击事件轨迹,查看新增员工事件已经成功被投递。

    投递成功

结果验证

登录函数计算控制台,查看步骤三:使用函数计算调用HTTP API创建的函数,在函数日志页签的调用请求列表,您可以看到函数执行成功一次。