Azure QnA Bot与WhatsApp集成及对接Azure SQL Database方案咨询
Azure QnA Bot对接WhatsApp+Azure SQL实现方案
1. 打通Bot与WhatsApp的通信链路
你现有Azure QnA Bot归属Azure Bot Service,直接在对应资源的Azure门户配置页新增*Twilio(WhatsApp)*渠道即可完成基础互通:
- 提前申请Twilio平台的WhatsApp Business账号,绑定可用的WhatsApp服务号码
- 将Twilio后台生成的Account SID、Auth Token、服务号码填入Azure Bot的渠道配置表单,验证通过后即可实现WhatsApp端消息和Bot的双向同步
2. 适配双交互模式(选项选择+自由文本查询)
不需要重构原有QnA Bot的核心逻辑,只需要新增交互适配层即可:
- 选项交互:直接使用Bot Framework的自适应卡片,或者WhatsApp专属的交互式消息模板实现,用户首次触发对话时主动推送选项列表,用户点击选项后直接匹配对应业务逻辑
- 自由文本查询:用户输入的非选项类文本直接走原有QnA Bot的知识库匹配逻辑,匹配到结果直接返回,未匹配到可以引导用户选择预设选项或者提交人工诉求
3. 对接Azure SQL Database实现数据读写
直接在Bot的服务代码中新增SQL操作逻辑即可,步骤如下:
- 按你使用的开发语言引入对应SQL客户端依赖:C#使用
Microsoft.Data.SqlClient包,Python使用pyodbc包,Node.js使用mssql包 - 在Azure SQL的防火墙配置中放行Azure Bot服务的出站IP段,将SQL连接字符串存储到Bot的应用配置项或者Azure Key Vault中,禁止硬编码到代码里
- 给不同交互场景绑定对应SQL操作:查询类请求执行
SELECT语句读取数据后格式化返回给WhatsApp端,编辑类请求先做参数合法性、权限校验,校验通过后执行INSERT/UPDATE语句,操作完成后给用户返回执行结果提示
注意事项
- WhatsApp对主动推送的非交互类消息有模板审核要求,涉及主动通知类的内容需要提前申请官方模板,避免被平台拦截
- 涉及数据修改的操作建议加二次确认流程,比如用户提交编辑请求后先回显待修改内容,用户确认后再执行SQL写入操作,降低误操作概率
内容的提问来源于stack exchange,提问作者Adele
相关产品推荐
相关产品推荐

