我有2个疑问:
1、从钉钉客服得到的答复是:(要上架钉钉应用市场的应用必须部署在聚石塔Shang)上聚石塔的话数据库也必须部署在聚石塔上,并且外部不可链接。
那么如果我现在有一个正在运营的APP,现在我希望做一个 钉钉微应用(要上架到钉钉市场)将APP大部分功能迁移到 钉钉,
但是我们希望 APP 和 钉钉微应用 共享数据,请问你们的解决方案是什么?
2、上架到市场的微应用H5网站(之前了解到,微应用必须部署到 聚石塔)可以Ajax调用外面的接口么?(如:百度的API)
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
针对您的两个问题,我为您提供以下解答:
关于APP与钉钉微应用共享数据的解决方案:
如果您的现有APP和计划上架到钉钉市场的微应用需要共享数据,但又受限于聚石塔环境的外部链接限制,您可以考虑采用以下几种方案来实现数据互通:
API网关 + 数据同步服务:您可以在聚石塔环境中部署一个API网关,通过API网关作为中间层,将APP的数据请求转发至您的外部数据库或服务。同时,可以使用数据同步工具(如DataWorks、DTS等)定期或实时地将外部数据库的数据同步到聚石塔内的数据库中,以确保两边数据的一致性。
消息队列服务:利用阿里云的消息队列服务(如MQ、EventBridge等),实现异步的数据交换。APP端将数据变更推送到消息队列,钉钉微应用侧订阅这些消息并更新本地数据,反之亦然。这样可以避免直接的数据库连接,符合聚石塔的安全规范。
Serverless函数计算:利用阿里云的函数计算(FC),编写触发器来处理来自APP的数据请求,并调用内部或外部服务进行数据处理和交互,从而实现数据共享。
关于微应用H5网站调用外部接口的问题:
根据钉钉官方的规定,虽然微应用推荐部署在聚石塔环境下以保证安全性和稳定性,但这并不意味着完全禁止与外部服务的通信。实际上,很多应用场景中,调用外部API是必要的。因此,您的微应用H5页面理论上是可以使用Ajax调用外部接口的,比如百度API,只要这些调用遵循了钉钉的安全策略和网络访问规则。
为了确保安全和合规,建议采取如下措施:
白名单设置:在聚石塔或钉钉管理后台为您的应用配置允许访问的外部API域名白名单。
HTTPS加密:确保所有对外的API调用都使用HTTPS协议,以保护数据传输的安全性。
遵循API提供商的使用条款:确保您的应用调用外部API的行为符合提供方的服务条款和政策。
综上所述,通过合理的架构设计和技术手段,您完全可以实现在遵守钉钉市场规定的同时,让您的APP与钉钉微应用共享数据,并且在微应用中调用外部API。