HarmonyOS Developer DevEco Studio使用指南-开发云函数

丶龙八夷
发布于 2023-4-3 18:50
浏览
0收藏

您可以在云侧工程下开发云函数资源,包括​​创建函数​​​、​​部署函数​​。

创建函数

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

HarmonyOS Developer DevEco Studio使用指南-开发云函数-鸿蒙开发者社区

  1. 输入函数名称后,点击“OK”。

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

HarmonyOS Developer DevEco Studio使用指南-开发云函数-鸿蒙开发者社区

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

HarmonyOS Developer DevEco Studio使用指南-开发云函数-鸿蒙开发者社区

  1. 配置函数。
  • function-config.json:函数的配置文件,可配置触发器。

HarmonyOS Developer DevEco Studio使用指南-开发云函数-鸿蒙开发者社区

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

  • HTTP触发器

参数

说明

type

触发器类型,配置为“http”。

enableUriDecode

触发器是否启用decode。

  • true:启用。
  • false:不启用。

authFlag

是否鉴权,默认为true。

authAlgor

鉴权算法,默认为HDA-System。

authType

HTTP触发器的认证类型。

  • apigw-client:端侧网关认证,适用于来自APP客户端侧(即本地应用或者项目)的函数调用。
  • cloudgw-client:云侧网关认证,适用于来自APP服务器侧(即云函数)的函数调用。
  • CLOUDDB触发器

参数

说明

type

触发器类型,配置为“clouddb”。

eventSourceId

CLOUDDB触发器的数据源。

格式为:项目ID-CloudDB存储区名称-CloudDB对象类型名称,例如99034201568569469-StorageArea-student

  • CloudDB存储区名称以字母开头,可选范围为[0-9A-Za-z],不带下划线,长度为1~20个字符。
  • CloudDB对象类型名称以字母开头,可选范围为[0-9A-Za-z_],不允许以sqlite_开头,不允许以下划线结尾,长度为1~30个字符。

eventType

触发器支持的事件类型。

  • onUpsert:数据表插入或更新数据。
  • onDelete:数据表删除数据。
  • onDeleteAll:数据表清空。
  • onWrite:数据插入或更新事件、数据删除事件、数据表清空事件。

enabled

是否启用该触发器。默认为启用(true)。

  • AUTH触发器

参数

说明

type

触发器类型,配置为“auth”。

eventType

触发器支持的事件类型。

  • 0:用户注册事件。
  • 1:用户销户事件。
  • 2:用户登录事件。
  • 3:用户登出事件。













说明



  • 同一个事件,一个函数只能绑定一次。
  • 一个函数可以被认证服务的多个事件类型触发,一个认证服务的事件类型可以触发多个函数执行。





  • CLOUDSTORAGE触发器

参数

说明

type

触发器类型,配置为“cloud_storage”。

bucketName

云存储服务中已创建的存储实例名称,仅支持字母、数字、中划线,长度为1~64字符。

eventName

触发器支持的事件类型。

  • storage.upload.completed:数据增加。
  • storage.file.delete:数据删除。
  • CRON触发器

参数

说明

type

触发器类型,配置为“cron”。

triggerMode

调用方式。

  • Sync:同步调用。
  • ASync:异步调用。

schedule

触发函数调用的时间点,支持两种设置方式:

  • 以“@every ValueUnit”格式设置,其中Value为一个正整数,Unit可以为“s”、“m”、“h”,表示每隔ValueUnit的时间触发一次函数。例如,“@every 6m” 表示每隔6分钟触发一次函数。
  • 通过kubernetes cronjob支持的标准的cron表达式的形式(Minutes Hours Day-of-month Month Day-of-week)设置
  • Minutes:值范围0-59,支持括号内的特殊字符(, - * /)
  • Hours:值范围0-23,支持括号内的特殊字符(, - * /)
  • Day-of-month:值范围1-31,支持括号内的特殊字符(, - * /)
  • Month:值范围1-12或JAN-DEC,支持括号内的特殊字符(, - * /)
  • Day-of-week:值范围1-7或SUN-SAT,支持括号内的特殊字符(, - * )

说明

cron以UTC时间运行,即北京时间减去8个小时。

下列提供了cron表达式的一些常用设置示例:

  • 如希望北京时间每天12:00触发函数,则UTC时间为每天4:00触发函数,cron表达式设为:0 4 * * *
  • 如希望北京时间每天12:30触发函数,则UTC时间为每天4:30触发函数,cron表达式设为:30 4 * * *
  • 如希望北京时间每小时的26分,29分,33分触发函数,则UTC时间为每小时的26分,29分,33分触发函数,cron表达式设为:26,29,33 * * * *
  • 如希望北京时间周一到周五的每天12:30触发函数,则UTC时间为周一到周五的每天4:30触发函数,cron表达式设为:30 4 * * MON-FRI
  • 如希望北京时间周一到周五的每天12:00-14:00每5分钟触发函数,则UTC时间为周一到周五的每天4:00-6:00每5分钟触发函数,cron表达式设为:0/5 4-6 * * MON-FRI
  • 如希望北京时间一到四月每天12:00触发函数,则UTC时间为一到四月每天4:00触发函数,cron表达式设为:0 4 * JAN,FEB,MAR,APR *

triggerSwitch

触发器是否自动开启。

triggerName

触发器名称,不超过32位,仅支持输入小写字母、数字、$和中划线,以小写字母开头,数字或小写字母结尾。触发器名称必须唯一。

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

HarmonyOS Developer DevEco Studio使用指南-开发云函数-鸿蒙开发者社区

  • package.json:包含了当前函数的名称、版本等函数元数据。package.json内自动引入了云数据库的最新版本Node.js Server SDK,您也可以在“dependencies”下添加其他需要的依赖。

HarmonyOS Developer DevEco Studio使用指南-开发云函数-鸿蒙开发者社区

部署函数

完成函数代码开发后,您可将函数部署到AGC控制台,支持单个部署和批量部署。

部署单个函数

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

HarmonyOS Developer DevEco Studio使用指南-开发云函数-鸿蒙开发者社区

  1. “Event Log”区域可查看函数打包与部署状态日志。

请您耐心等待,直至出现“Deploy succeed”日志,表示函数已成功部署。

HarmonyOS Developer DevEco Studio使用指南-开发云函数-鸿蒙开发者社区

  1. 登录​AppGallery Connect​,进入当前项目的云函数服务菜单,可查看到您刚刚部署的函数,函数名称与本地工程的函数目录名相同。

HarmonyOS Developer DevEco Studio使用指南-开发云函数-鸿蒙开发者社区

批量部署函数

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

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

HarmonyOS Developer DevEco Studio使用指南-开发云函数-鸿蒙开发者社区

  1. DevEco Studio将依次部署各个函数,您可在“Event Log”区域查看函数打包与部署状态日志。

请您耐心等待,直至出现“Deploy succeed”日志,表示所有函数均已成功部署。

HarmonyOS Developer DevEco Studio使用指南-开发云函数-鸿蒙开发者社区

  1. 登录​AppGallery Connect​,进入当前项目的云函数服务菜单,可查看到您刚刚部署的云函数目录下的所有函数,函数名称均与本地工程的函数目录名相同。

HarmonyOS Developer DevEco Studio使用指南-开发云函数-鸿蒙开发者社区



文章转载自:​​https://developer.harmonyos.com/cn/docs/documentation/doc-guides-V3/agc-harmonyos-clouddev-cloudfunctions-0000001493089797-V3​

分类
标签
已于2023-4-3 18:50:18修改
收藏
回复
举报
回复
    相关推荐