简介
端云一体化开发是HarmonyOS对云端开发的支持、实现端云联动。云开发服务提供了云函数、云数据库、云存储等服务,可以使开发者专注于应用的业务逻辑开发,无需关注基础设施,例如:服务器、操作系统等问题。
因此,在开发过程中,开发人员无需重新学习后端开发语言,可以通过对云函数的访问来读写云数据库和云存储。访问路径如下图:
云端收费明细
官方提供了云函数、云数据库、云存储的免费配额,如果访问需求大时,可以升级为付费档。
云函数
云数据库
云存储
云端开通流程
AGC(AppGallery Connect)
用开发者账号登录AGC->点击我的项目
新建项目
点击添加项目->输入项目名称->开通分析服务->设置默认数据处理位置->项目新建完成
新建应用
- 跳转到证书和APPID界面,去新建应用的ID。示例开发的是端云一体化项目,因此需要选择为HarmonyOS应用,并输入应用名称和包名。
- 选择应用对应的项目
- 选择开放能力,可以先不选,后期在需要使用的时候在去开启也是可以的。点击确认完成项目创建
- 返回到APP ID界面就可以看到新建的应用ID、名称、包名(这里包名和前面显示不一样是因为提示包名已存在,就重新填了一个不会重复的)
开启云函数服务
回到项目界面,可以看到应用一栏已经有我们刚才配置的相关信息了
选择左侧边栏的云开发下面的云函数:
点击立即开通就可以完成云函数的开通了。
DevEco Studio新建项目
需要选择Application下的[CloudDev]Empty Ability项目模板
输入项目名字和包名,这里需要注意的是,包名是在AGC里面创建应用时候的包名,要不然会显示错误。而且类型也要选择和AGC里面选的一样,是应用不是元服务。
登录华为开发者账号
需要选择开发者和项目对应情况
新建完需要等待自动配置完后可以查看项目架构
Application :是应用开发的项目
CloudProgram : 是云端开发的项目
手写一个云函数,并部署到AGC进行测试
在云函数目录下,新建云函数
鼠标在cloudfunctions目录上,点击右键->新建->Cloud Function
在弹出的界面上输入函数名称,需要注意不能有大写字母
IDE会在cloudfunctions下新建一个hellotest的云函数
打开hellotest.ts文件,可以看到云函数只需要使用typescript语言就可以编辑。默认是云函数的入口函数,架构不能修改。
参数的意义:
- event :云函数的传入值
- context :环境上下文
- callback: 云函数的返回值
- logger :日志组件
let myHandler = async function (event, context, callback, logger) {
logger.info(event);
// do something here
callback({
code: 0,
desc: "Success."
});
};
export {
myHandler };
简单修改一下代码,使日志中打印传入参数,callback值自定义
let myHandler = async function (event, context, callback, logger) {
logger.info(JSON.stringify(event));
// do something here
callback({
code: 200,
desc: "Hello MyTest"
});
};
export {
myHandler };
把本地的云函数部署到云端AGC中
新建的话,可以删除掉框架自带的id-generator函数。鼠标在cloudfunctions目录上,点击右键-> Deploy Cloud Functions
提示Deploy successfully说明部署成功了,可以去AGC上查看
在项目下的云函数选项中可以看到函数名字已经部署上来了
点击测试按钮可以弹出测试界面
查看执行结果和运行日志,如下图: