跳到主要内容
极客日志极客日志
首页博客AI提示词GitHub精选代理工具
搜索
|注册
博客列表
TypeScriptNode.js大前端

HarmonyOS Next DevEco Studio 开发云对象指南

介绍在 HarmonyOS Next 环境下,使用 DevEco Studio 开发、调试及部署云对象的完整流程。涵盖云对象创建、代码编写规范(无状态性、输入输出限制)、本地与远程调试方法,以及单个或多个云对象的云端部署步骤。旨在帮助开发者利用云对象封装特性,实现端云一体化的高效开发体验。

氛围发布于 2026/3/21更新于 2026/5/515 浏览
HarmonyOS Next DevEco Studio 开发云对象指南

1. 开发流程

除去传统的云函数,您还可在端云一体化云侧工程下开发云对象。云对象是一种特殊的云函数,本质是对云函数的一种封装,客户端可通过导入一个云对象来直接使用这个对象的方法,提供在端侧直接调用云侧代码的开发体验。相对普通云函数方式,云对象代码更精简、逻辑更清晰,大多数场景下推荐使用云对象代替传统云函数。开发流程大致如下:

  1. 创建云对象:您可直接在 DevEco Studio 创建云对象。
  2. 开发云对象:云对象创建完成后,您便可以开始编写云对象业务代码了。
  3. 调试云对象:您可以对云对象进行调试,以测试云对象代码运行是否正确。
  4. 部署云对象:完成云对象代码开发与调试后,您可将云对象部署到 AGC 云端,支持单个部署和批量部署。

说明

一般建议先将云对象调试无误后再部署至云端,但某些业务场景下需要先部署云对象才能进行调试。请根据实际业务需要操作。

2. 创建云对象

首先您需要在云侧工程下创建云对象。

  1. 右击'cloudfunctions'目录,选择'New > Cloud Function'。

文章配图

  1. 在'Select the Cloud Function Type'栏选择'Cloud Object',输入云对象名称 (如'my-cloud-object'),点击'OK'。

与云函数名一样,云对象名称长度 2-63 个字符,仅支持小写英文字母、数字、中划线(-),首字符必须为小写字母,结尾不能为中划线(-)。

文章配图

'cloudfunctions'目录下生成新建的云对象目录,目录下主要包含如下文件:

  • 云对象配置文件'function-config.json':包含 handler、触发器等信息。说明云对象的配置文件'function-config.json'不建议手动修改,否则将导致云对象部署失败或其它错误。
    • handler: 云对象的入口模块及云对象导出的类,通过'.'连接。
    • functionType:表示函数类型,'0'表示云函数,'1'表示云对象。
    • triggers:定义了云对象使用的触发器类型,当前云对象仅支持 HTTP 触发器。

文章配图

  • 云对象入口文件'*.ts'(如'myCloudObject.ts'):在此文件中编写云对象代码。

文章配图

  • 云对象依赖配置文件'package.json':在此文件中添加依赖。

文章配图

3. 开发云对象

云对象创建完成后,您便可以直接在云对象中编写需要实现的方法。例如,通过云对象实现 add 与 subtract 两个方法。

  1. 打开云对象入口文件 (此处以'myCloudObject.ts'为例),添加 add 与 subtract 方法。
export class MyCloudObject {
  add(num1: number, num2: number) {
    return { result: num1 + num2 };
  }
  subtract(num1: number, num2: number) {
    return { result: num1 - num2 };
  }
}

文章配图

注意

  • 云对象是无状态性。云对象部署至云侧后,每一次调用都可能是不同的后台节点,因此在云对象上定义类成员变量是无意义的。从一个 Method 中对一个类成员属性赋值,然后期望从另一个 Method 去获取类成员属性,这样的做法是错误的。
  • 云对象无需编写构造函数。云侧在收到对云对象的某一个函数的请求时,会调用云对象的默认的无参构造函数。
  • 云对象方法的输入是从 JSON 反序列化而来,只能是 string、number 或者 Object,不支持 Date、Uint8Array 等类型。如果在编写云对象代码的过程中需要传递 Date 或 Uint8Array,建议通过定义成 number 或者数组,在 Method 内通过显式地调用 Date 或 Uint8Array 的构造函数来达到目的。
  • 云对象的方法的输出当前不支持单个 number 返回。
  • 云对象的方法的输入、输出可以使用自定义对象,不能使用第三方依赖定义的对象或类型。注意,并不是云对象不能有第三方依赖,而是云对象的输入和输出不能有第三方依赖,否则在

目录

  1. 1. 开发流程
  2. 2. 创建云对象
  3. 3. 开发云对象
  • 💰 8折买阿里云服务器限时8折了解详情
  • GPT-5.5 超高智商模型1元抵1刀ChatGPT中转购买
  • 代充Chatgpt Plus/pro 帐号了解详情
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • 人民大学《大语言模型》核心内容与技术体系解析
  • AIVideo 与 Stable Diffusion 结合:自定义视频风格
  • AI 大模型提示词工程核心技术与实践
  • Java 并发编程艺术:原子操作类核心解析
  • 爬虫前端调试常见反调试问题及解决方案
  • VSCode + Continue + Ollama 实现本地 AI 编程助手
  • Android 设备 Termux 安装 llama.cpp 并启动 WebUI
  • Python+PyGame 实现数独游戏:多难度、实时验证与成绩记录
  • Flutter jwt_io 库在 OpenHarmony 上的适配指南
  • VS Code 中 GitHub Copilot 无法使用的排查与修复方案
  • 开源 GEO 优化工具源码部署搭建指南
  • Linux 进程核心原理:从体系结构到实战操作(含 fork、状态与优先级)
  • Windows 下 llama.cpp 编译与 Qwen 模型本地部署实战
  • 宇树 G1 人形机器人 VR 遥操作与 IL 集成开发指南
  • Microi 吾码低代码平台技术特性与集成实践
  • AI-Goofish-Monitor 闲鱼智能监控工具使用指南
  • LLaMA Factory 在国产 DCU 上微调 Llama 3 模型实战
  • 人工智能如何重塑细胞生物学研究流程与范式
  • Go Channel 深入解析
  • Python 缠论分析框架 chan.py 快速入门

相关免费在线工具

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online

  • HTML转Markdown

    将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online

  • JSON 压缩

    通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online

  • JSON美化和格式化

    将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online