创立函数

您可间接在DevEco Studio创立函数、编写函数业务代码、为函数配置调用触发器。

1.右击“cloudfunctions”目录,抉择“New > Cloud Function”。

2.输出函数名称后,点击“OK”。

函数名称仅反对小写英文字母、数字、中划线(-),首字符必须为小写字母,结尾不能为中划线(-)。

“cloudfunctions”目录下生成新建的函数目录。

3.配置函数。

  • node_modules:主动为该函数引入的依赖包。
  • function-config.json:函数的配置文件,可配置触发器,通过触发器裸露的触发条件来实现函数调用。


在“triggers”下配置触发器,云函数目前反对以下5种触发器。

NOTICE
如您需在函数部署实现后更新触发器,请先删除之前的触发器配置,再增加新的触发器配置,否则您的更新将不失效。
  • HTTP触发器

function-config.json文件中已为您主动实现HTTP触发器配置。函数部署到云端后会主动生成触发URL,在您向该URL发动HTTP申请时触发函数。对于如何应用HTTP触发器调用函数,请参见通过HTTP触发器调用函数。

{  "type": "http",  "properties": {    "enableUrlDecode": true,    "authFlag": "true",    "authAlgor": "HDA-SYSTEM",    "authType": "apigw-client"  }}
  • type:触发器类型,配置为“http”。
  • properties:触发器属性,属性参数如下表所示。

  • CLOUDDB触发器

为函数配置CLOUDDB触发器后,当云数据库产生插入或者更新数据、删除数据、清空数据等变更操作时将触发云函数。对于如何应用CLOUDDB触发器调用函数,请参见云数据库调用函数。

{  "type": "clouddb",  "properties": {    "eventSourceId": "9***-test-user",    "eventType": "onUpsert",    "enabled": "true"  }}
  • type:触发器类型,配置为“clouddb”。
  • properties:触发器属性,属性参数如下表所示。

AUTH触发器

您能够为函数配置AUTH触发器来接管用户的注册、登录等要害事件。例如,若增加了“用户注册”事件类型的AUTH触发器,当认证服务检测到用户注册事件产生时将触发函数。对于如何应用AUTH触发器调用函数,请参见认证服务调用函数。

{  "type": "auth",  "properties": {    "eventType": 0  }}
  • type:触发器类型,配置为“auth”。
  • properties:触发器属性,属性参数如下表所示。

  • CLOUDSTORAGE触发器

为函数配置CLOUDSTORAGE触发器后,当AGC云存储服务中产生文件或者文件夹上传或删除操作时,将触发函数并执行您想要实现的性能。对于如何应用CLOUDSTORAGE触发器调用函数,请参见云存储调用函数。

{  "type": "cloud_storage",  "properties": {    "bucketName": "harmony-0xnwg",    "eventName": "storage.upload.completed"  }}
  • type:触发器类型,配置为“cloud_storage”。
  • properties:触发器属性,属性参数如下表所示。

  • helloworld.ts:函数入口文件(此处以“helloworld.ts”为例,请以理论名称为准)。请参考开发函数编写函数代码。

  • package.json:蕴含了以后函数的名称、版本等函数元数据。package.json内主动引入了云数据库的最新版本Node.js
    Server SDK,您也能够在“dependencies”下增加其余须要的依赖。

  • package-lock.json:保留了node_modules中所有包的信息,如版本、下载地址等。

调试函数

函数开发过程中,您可在本地进行调试。或者您也能够将函数部署到AGC云端后,在本地触发调用云端函数。

目前本地调试反对Run和Debug两种模式。Debug模式反对应用断点来追踪函数的运行状况,Run模式则不反对。

NOTICE
在通用云开发模板工程与商城模板工程下调试函数的流程基本一致,但商城模板工程目前存在一些非凡限度,因而如需调试商城模板工程函数,请间接参考调试商城模板工程函数操作。

Run模式启动调试

1.右击“cloudfunctions”目录,抉择“Run Cloud Functions”。

NOTE
间接从以后门路下Run,应用的是默认的Run配置,您也可自定义Run配置。自定义Run配置后再从此门路下Run,将优先采纳自定义Run配置。


2.查看“Run”面板。如果呈现“Cloud Functions loaded successfully”,示意所有函数已胜利加载到本地运行的HTTP Server中,并生成对应的POST URL。

3.在菜单栏抉择“Tools > CloudDev > Cloud Functions Requestor”,应用Cloud Functions Requestor触发函数调用。

4.在弹出的“Cloud Functions Requestor”面板,填写触发事件参数。

  • Environment:抉择函数调用环境,Local示意本地调用,Remote示意近程调用。
NOTICE
近程调用需先将函数部署到AGC云端。
  • Cloud Function:抉择须要触发的云函数。
  • Event:输出事件参数,内容为JSON格局申请体数据。

5.(可选)点击“Save”,可保留以后触发事件。

点击右上角可开展保留的触发事件,后续可间接点击“Load”加载事件。对于不须要保留的触发事件,也能够点击“Delete”删除。

6.点击“Trigger”, 将会触发执行用户函数代码。执行后果将展现在“Result”框内,Run面板同时打印运行日志。

7.(可选)如配置了环境变量(如下图中“env1”),可将变量配置信息传入到函数执行环境中,用于函数运行时读取。

8.点击Run面板左侧,可进行运行。

9.依据运行后果批改函数代码后,点击从新以Run模式启动调试,直至没有问题。

10.参考步骤4~9,实现其余函数的调试。

Debug模式启动调试

右击“cloudfunctions”目录,抉择“Debug Cloud Functions”。

NOTE
间接从以后门路下Debug,应用的是默认的Debug配置,您也可自定义Debug配置。自定义Debug配置后再从此门路下Debug,将优先采纳自定义Debug配置。


2.查看Console面板。如果呈现“Cloud Functions loaded successfully”,示意函数胜利加载到本地运行的HTTP Server中,并生成对应的POST URL。

3.如需设置断点调试,在函数代码中选定要设置断点的无效代码行,在行号(如下图行14)后单击鼠标左键设置断点(如下图的红点)。

设置断点后,调试可能在断点处中断,并高亮显示该行。

4.在菜单栏抉择“Tools > CloudDev > Cloud Functions Requestor”,应用Cloud Functions Requestor触发函数调用。

5.在弹出的“Cloud Functions Requestor”面板,填写触发事件参数。

  • Environment:抉择函数调用环境,Local示意本地调用,Remote示意近程调用。
NOTICE
近程调用需先将函数部署到AGC云端。
  • Cloud Function:抉择须要触发的云函数。
  • Event:输出事件参数,内容为JSON格局申请体数据。

6.(可选)点击“Save”,可保留以后触发事件。


点击右上角可开展保留的触发事件,后续可间接点击“Load”加载事件。对于不须要保留的触发事件,也能够点击“Delete”删除。

7.点击“Trigger”, 将会触发执行用户函数代码。执行后果将展现在“Result”框内,Debugger面板同时打印调试日志。


8.(可选)如配置了环境变量(如下图中“env1”),可将变量配置信息传入到函数执行环境中,用于函数运行时读取。


9.点击,可进行调试。

10.依据调试后果批改函数代码后,点击从新以Debug模式启动调试,直至没有问题。

11.参考步骤5~10,实现其余函数的调试。

自定义Run/Debug配置

按以上两种办法间接启动调试采纳的是默认的Run/Debug配置。如有非凡需要,您也可应用自定义Run/Debug配置项来进行调试。

1.在菜单栏抉择“Run > Edit Configurations”。

2.在“Run/Debug Configurations”窗口,点击,抉择“Cloud Functions”,新增一个Run/Debug配置。

3.自定义Run/Debug配置,实现后点击“OK”。

  • Name:Run/Debug配置的名称,如“functions-custom1”。
  • Server Port:HTTP服务端监听端口。默认为“18090”,自定义端口号倡议大于1024。勾选“Auto
    increment”示意如以后端口被占用则端口号主动加“1”。
  • Environment variables:函数运行的环境变量,为key-value模式。

点击“Edit environment variables”按钮,在“Environment Variables”弹窗中点击“+”增加一个环境变量,而后点击“OK”。增加胜利后,您便能够将变量配置信息传入到函数执行环境中,用于函数运行时读取。

4.抉择刚刚自定义的Run/Debug配置,别离点击或进行Run或Debug。后续调试步骤与默认配置下的调试步骤统一,请别离参见Run模式启动调试或Debug模式启动调试。

调试商城模板工程函数

商城模板中有局部代码逻辑实现了云函数调用云数据库,因而须要您先部署云工程,云端才会有相干数据及环境变量。同时,云函数为拜访云数据库应用了“PROJECT_CREDENTIAL”环境变量,部署函数到AGC云端时,云端会主动配置好“PROJECT_CREDENTIAL”以运行环境变量。但在本地调试函数时,须要您手动将“PROJECT_CREDENTIAL”环境变量增加到Run/Debug配置中。否则,函数调试代码执行会因获取不到“PROJECT_CREDENTIAL”环境变量而中断。

本章节将介绍如何在本地调试商城模板工程函数,重点详述商城模板函数调试的一些非凡配置。

1.将整个云工程部署到AGC云端。

2.进入AGC控制台,抉择您的我的项目,进入“Serverless > 云函数”菜单,在函数列表点击刚刚部署的任意函数(如下图“mall-commodity”)。


3.在函数概览页面,抉择“配置 > 环境变量”页签,获取AGC为您主动配置好的环境变量“PROJECT_CREDENTIAL”的key和value值。


4.参考自定义Run/Debug配置新增函数调试配置,将步骤3获取的“PROJECT_CREDENTIAL”环境变量增加到调试配置中。您也能够增加您须要的其余环境变量。


5.抉择刚刚自定义的Run/Debug配置,别离点击或进行Run或Debug,调试步骤请别离参见Run模式启动调试或Debug模式启动调试。

部署函数

实现函数代码开发后,您可将函数部署到AGC控制台,反对单个部署和批量部署。

部署单个函数

1.右击需部署的函数目录,抉择“Deploy Function”。


2.“底部状态栏右侧将展现函数打包与部署进度。请您急躁期待,直至呈现“Deploy successfully”音讯,示意函数已胜利部署。


3.登录AppGallery Connect,进入以后我的项目的云函数服务菜单,可查看到您刚刚部署的函数,函数名称与本地工程的函数目录名雷同。

批量部署函数

批量部署指将整个云函数目录下创立的所有函数同时部署到AGC控制台。

1.右击“cloudfunctions”目录,抉择“Deploy Cloud Functions”。

2.您可在底部状态栏右侧查看函数打包与部署进度。

请您急躁期待,直至呈现“Deploy successfully”音讯,示意所有函数均已胜利部署。


3.登录AppGallery Connect,进入以后我的项目的云函数服务菜单,可查看到您刚刚部署的云函数目录下的所有函数,函数名称均与本地工程的函数目录名雷同。


那么要想成为一名鸿蒙高级开发,以上知识点是必须要把握的,除此之外,还须要把握一些鸿蒙利用开发相干的一些技术,须要咱们独特去摸索。

为了可能让大家跟上互联网时代的技术迭代,在这里我特邀了几位行业大佬整顿出一份最新版的鸿蒙学习晋升材料,有须要的小伙伴自行支付,限时开源,先到先得~~~~

支付以下高清学习路线原图请点击→《鸿蒙全套学习指南》纯血鸿蒙HarmonyOS根底技能学习路线图


支付以上残缺高清学习路线图,请点击→《鸿蒙根底入门学习指南》小编本人整顿的局部学习材料(蕴含有高清视频、开发文档、电子书籍等)

以上分享的学习路线都适宜哪些人跟着学习?
-应届生/计算机专业通过学习鸿蒙新兴技术,入行互联网,将来高起点待业。
-0根底转行提前布局新方向,抓住风口,自我晋升,取得更多就业机会。
-技术晋升/进阶跳槽倒退瓶颈期,晋升职场竞争力,疾速把握鸿蒙技术,享受蓝海红利。

最初

鸿蒙开发学习是一个系统化的过程,从基础知识的学习到实战技能的锻炼,再到对前沿技术的摸索,每一环节都至关重要。心愿这份教程材料能帮忙您疾速入门并在鸿蒙开发之路上步步攀升,成就一番事业。让咱们一起乘风破浪,拥抱鸿蒙生态的广大将来!

如果你感觉这篇内容对你有帮忙,我想麻烦大家动动小手给我:点赞,转发,有你们的 『点赞和评论』,才是我发明的能源。

关注我,同时能够期待后续文章ing,不定期分享原创常识。

想要获取更多残缺鸿蒙最新VIP学习材料,请点击→《鸿蒙 (Harmony OS)开发学习手册》