背景知识
Cloud Foundation Kit简介:Cloud Foundation Kit(云开发服务)可以按需为应用提供云函数、云数据库、云存储、预加载等云端服务。应用运行所需的服务器和环境可以皆由云端平台提供,开发者只需关注应用的业务逻辑,而无需关心基础设施(例如:服务器、操作系统、容器等)。
- 云函数业务介绍:云函数是一项Serverless计算服务,提供FaaS(Function as a Service)能力。
- 云数据库业务介绍:云数据库是一款端云协同的数据库产品,提供端云数据的协同管理、统一的数据模型和丰富的数据管理API接口等能力。在保证数据的可用性、可靠性、一致性,以及安全等特性基础上,能够实现数据在客户端和云端之间的无缝同步,并为应用提供离线支持,以帮助开发者快速构建端云、多端协同的应用。
云数据库触发器:支持通过云数据库相关事件来触发云函数。
- HarmonyOS 开发者中心云数据库服务为开发者提供了基于云函数服务的扩展机制,开发者可以为云函数配置云数据库触发器,当云数据库发生插入或者更新数据、删除数据、清空数据等变更操作时将触发云函数,并在云函数中扩展业务处理逻辑。
- 使用场景:云数据库有数据变更时可以自动触发函数进行逻辑处理。
解决方案
Cloud Foundation Kit的云数据库如果要实现监听云侧数据变化,需要结合云函数的云数据库触发器一起使用。
- 创建云数据库,按照以下步骤完成接入云数据库的准备工作:新增对象类型、新增存储区、引入对象类型文件、初始化数据库访问。
- 创建函数,在进入到创建触发器页面时,"触发器类型"选择"云数据库触发器","存储区"和"对象类型"选择上一步创建云数据库所新增的选项。由于需要监听云数据库数据的所有变化,所以"事件类型"选择"onWrite"。

- 根据实际业务,完成接收到云数据库触发器事件后的云函数代码,调用函数时,入口方法的入参event对象中包含了云数据库触发器传递的信息,具体event对象的字段要求请参见event对象说明中的云数据库触发器示例。入口方法的开发参见开发函数官方文档。
常见FAQ
Q:初始化数据库访问时,cloudDatabase.zone()方法传入的名称是否需要与HarmonyOS 开发者中心平台上创建的存储区名称一致?
A:必须一致。cloudDatabase.zone()方法传入的名称必须与HarmonyOS 开发者中心平台上新增的存储区名称完全一致,否则会访问失败。新增存储区的具体操作请参见新增存储区。