如果你需要定时或者实时查询数据库数据表状态,现在通过AppFlow简单配置,即可将在阿里云DMS中托管的数据库与钉钉聊天打通,实现定时或者在钉钉中发送消息即可将数据库查询结果发送到群聊, 例如每天下班前统计UV,实时查询当前物流状态等。
下面以对话场景举例(定时场景可以自行配置或者加入支持群进行了解)
步骤一:DMS托管您的数据库
可以参考阿里云DMS官方文档进托管。
- 如果是阿里云RDS可以直接添加到DMS
- 如果是云下或者其他云的数据库,DMS也可以使用DG进行托管,参考下面的文档如何托管云下或者其他云数据库
- 托管完成后,从DMS中复制出来实例的host、port以备用。
步骤二:配置AppFlow
我们在模版中心提供了模版方便您快速进行配置,同时您也可以自定义流程。
模版中鉴权凭证的添加和各参数含义以及使用方式在下方都有介绍,如果您不太熟悉AppFlow可以在看完下方的自定义流程配置后再使用模版快速创建。
下面为您介绍自定义流程配置方法
- 访问AppFlow控制台,点击左侧菜单栏“连接流”,选择“创建连接流”,填写当前连接流的基本信息。
- “选择触发事件”,找到并点击选择“钉钉机器人”,触发事件选择“收到文本消息时”,点击“保存,进入下一步”
- 找到“DMS数据管理”连接器,选择执行动作“执行SQL查询语句”。
- 点击“选择链接凭证”,选择“添加新凭证”,。
4.1 如果您没有对应角色,点击“去RAM创建角色”,按照提示复制权限策略并点击“去RAM创建角色”。
4.2 在RAM页面点击“创建角色”,选择“阿里云服务”,点击下一步。
4.3 填写角色名称,选择受信服务“应用与数据集成 AppFlow”(在选择框最下方),点击完成。然后点击“为角色授权”。
4.4 点击“新增授权”,可以在系统策略中搜索“SFM”,选择“AliyunSFMFullAccess”,点击确定即可。如果您想要更细粒度的权限策略,可以点击“新建权限策略”。
4.5 点击“脚本编辑”,粘贴在AppFlow复制的策略文档。点击“继续编辑基本信息”,填写策略名称后点击确定。
4.6 回到“添加授权页面”,在自定义策略中选择您刚刚创建的策略并点击确认。您搜索的内容应该是您在创建过程中为策略取的名称,可能于下方图片不一致,请以实际情况为准。
4.7 回到AppFlow页面,点击按钮刷新后选择您刚刚创建的RAM角色即可。
- 点击“入参配置”,填写您的数据库相关信息。
- 在“SQL查询语句”右侧选择插入变量,可以应用钉钉机器人收到的消息作为参数。
您可以在钉钉中发送完整SQL并引用到此处,也可以在钉钉中发送您要查询的变量插入到SQL中
例如下图:
- 如果您希望完成更复杂的场景,可以在钉钉收到消息后添加文本分割功能,将钉钉收到的消息按规则分割后插入DMS连接器,即钉钉机器人-文本处理-DMS数据库服务-钉钉机器人。如果之前的过程已经可以满足您的需求,则可以忽略此步。
在入参配置中,引用钉钉输入作为分割文本内容,举例来说,“Zhangsan-18”将会被分割为[“Zhangsan”, “18”]
在您的DMS连接器中,根据分割的内容拼接SQL查询条件。
- 填写完成后点击“
”配置模型推理后的消息发送回钉钉的执行动作。选择“钉钉机器人”,执行动作选择发送文本消息,点击“保存,进入下一步”进行参数配置。
- Webhook地址点击右侧“插入变量”,选择节点1的“会话回调地址”
“加签”在稍后创建完机器人后获取并填写,这里暂时跳过。
“本文内容”配置应用您在DMS中的查询结果。
在弹框中根据您的实际情况填写,具体如下:
- 引用所有查询结果:Node2.rows
- 引用某一行:Node2.rows[0]或Node2.rows[3]
- 引用某一行某个字段:Node2.rows[0].name
- 点击保存即可完成配置。回到页面再次点击编辑,进入流编辑页面,点击第一个节点的编辑按钮,可以获取调用webhook地址,请保存改地址后续在钉钉机器人配置中使用。
步骤三:创建钉钉机器人(使用Outgoing功能,更简单)
- 直接在需要加入机器人的群聊中进入机器人管理页面添加自定义机器人,
- 填写机器人基本信息。安全设置可以选择IP地址(段),并将下列IP填入。
:::info
- 121.40.82.220
- 47.97.73.42
- 47.98.226.113
- 47.96.151.112
- 118.178.89.160
- 120.27.202.100
:::
您也可以选择加签方式,将生成的签名回调到AppFlow链接流——钉钉机器人入参配置中。
- 勾选“开启Outgoing机制”,在POST地址栏填写第一步中的Webhook地址,Token AppFlow不做校验,任意填写即可。点击完成。
- 在群里中@机器人即可实现数据库查询
步骤三:创建钉钉机器人(使用钉钉开放平台)
- 访问钉钉开放平台,联系您的组织管理员获取开发权限。然后点击创建应用。成为钉钉开发者的步骤可以参考文档https://open.dingtalk.com/document/orgapp/become-a-dingtalk-developer
- 选择左侧“机器人”Tab,然后点击右侧“创建应用”按钮。填写您的“应用名称”和“应用描述”,上传应用图标并点击保存。
- 点击保存后跳转到应用开发页面,下来当前页面到最下方选择“机器人”并点击添加。点击“机器人配置”按钮展开机器人配置信息。
- 填写相关必填信息。消息接收模式请选择“HTTP”模型,页面会出现“消息接收地址”输入框。在这里填写刚刚在AppFlow获取的地址。
- 点击调试按钮。可以钉钉扫码进群调试机器人。确认无误后点击发布。
- 回到应用开发页面,点击刚刚创建的应用名称进入应用详情页面。点击左侧菜单栏最下方的“版本管理与发布”,进入到版本发布与管理,点击右上角“创建新版本”按钮,输入版本相关信息,并选择合适的“应用可见范围”。
- 点击保存将进入权限审批环节,审批结束后应用将自动发布。如果您已经有权限了可以点击直接发布。
- 去您想要添加对话机器人的群里添加机器人。@机器人即可实现数据库查询啦~
联系我们
Appflow是阿里云计算巢团队自主研发的一款应用与数据集成平台,目前开发团队已经支持了众多公共连接器,您可以尽情发挥您的想象,使用AppFlow为您免去繁琐的重复接入和开发工作,为你的工作提速提效!
更多操作指南可查看官方帮助文档~~
点击页面左侧"连接流"Tab,去创建你自己的Flow吧~
有任何疑问或者需求或者合作意向都可以加入我们的官方支持钉钉群(群号 69295006877)~欢迎大家一起加入群聊交流,为工作和Coding提效~