当前位置: 首页 > news >正文

【HarmonyOS】端云一体化初始化项目

简介

端云一体化开发是HarmonyOS对云端开发的支持、实现端云联动。云开发服务提供了云函数、云数据库、云存储等服务,可以使开发者专注于应用的业务逻辑开发,无需关注基础设施,例如:服务器、操作系统等问题。

因此,在开发过程中,开发人员无需重新学习后端开发语言,可以通过对云函数的访问来读写云数据库和云存储。访问路径如下图:

云端收费明细

官方提供了云函数、云数据库、云存储的免费配额,如果访问需求大时,可以升级为付费档。

云函数

云数据库

云存储

云端开通流程

AGC(AppGallery Connect)

用开发者账号登录AGC->点击我的项目

新建项目

点击添加项目->输入项目名称->开通分析服务->设置默认数据处理位置->项目新建完成

新建应用

  1. 跳转到证书和APPID界面,去新建应用的ID。示例开发的是端云一体化项目,因此需要选择为HarmonyOS应用,并输入应用名称和包名。
  2. 选择应用对应的项目
  3. 选择开放能力,可以先不选,后期在需要使用的时候在去开启也是可以的。点击确认完成项目创建
  4. 返回到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 herecallback({code: 0,desc: "Success."});
};export { myHandler };

简单修改一下代码,使日志中打印传入参数,callback值自定义

let myHandler = async function (event, context, callback, logger) {logger.info(JSON.stringify(event));// do something herecallback({code: 200,desc: "Hello MyTest"});
};export { myHandler };

把本地的云函数部署到云端AGC中

新建的话,可以删除掉框架自带的id-generator函数。鼠标在cloudfunctions目录上,点击右键-> Deploy Cloud Functions

提示Deploy successfully说明部署成功了,可以去AGC上查看

在项目下的云函数选项中可以看到函数名字已经部署上来了

点击测试按钮可以弹出测试界面

查看执行结果和运行日志,如下图:

http://www.lryc.cn/news/427768.html

相关文章:

  • LLM之KG:利用大语言模型(LLM)对文本语料提取概念和概念之间的语义关系进而实现自动构建知识图谱
  • Spring Security 6如何使用?
  • PyTorch深度学习快速入门教程--学习笔记
  • SQLALchemy 分组过滤、子查询
  • 华为od(D卷) 环中最长子串/字符成环找偶数LOX
  • 机器学习--常见算法总结
  • QT 网络聊天室简易版
  • Linux_Shell三剑客grep,awk,sed-08
  • uniapp实现足球数据分析平台移动端H5
  • Redis5优化-Redis
  • Element UI【详解】el-scrollbar 滚动条组件
  • 【精选】基于Python大型购物商城系统(京东购物商城,淘宝购物商城,拼多多购物商城爬虫系统)
  • QT翻金币小游戏(含音频图片文件资源)
  • Linux配置JDK8环境变量
  • Fiddle抓手机app的包
  • Oracle+ASM+High冗余详解及空间计算
  • 如何为 Nextcloud 配置自动数据库备份 - 应用程序
  • child_process.spawn简介
  • 整理给测试人看的千页面试题
  • Linux 内核中的并发与竞争
  • Ubuntu修改命令提示符格式PS1
  • 指针详解(五)
  • 智慧安防/一网统管/视频监控EasyCVR视频汇聚平台的视频轻量化特点及应用
  • nginx代理转发如何配置
  • JavaScript学习笔记(十三):网络请求JS AJAX
  • go for 循环变量的使用及易错点
  • 2024嵌入式面试:OPPO嵌入式面试题及参考答案
  • Cesium模型制作,解决Cesium加载glb/GLTF显示太黑不在中心等问题
  • Java 操作 Redis和redis持久化
  • Expo创建的React Native项目如何在Windows上进行打包