《五天玩转EMAS Serverless》——第一节 初识EMAS Serverless【中】

本文涉及的产品
移动研发平台 EMAS,开发者版免费套餐
简介: 本文整理自EMAS Serverless讲师柳色在《5天玩转EMAS Serverless训练营》的分享。本篇内容主要分为四个部分:1.EMAS Serverless使用场景2.EMAS Serverless产品能力 3.云函数是怎样工作的4.控制台功能演示

接上篇:

https://developer.aliyun.com/article/1224201?spm=a2c6h.13148508.setting.14.4f394f0em1x0Jq


三、 云函数是怎样工作的

image.png

接下来,讲一下EMAS Serverless云函数的工作原理。

 

如上图所示,左侧是用户操作部分。开发人员编写业务代码,把业务代码打包上传到EMAS Serverless的控制台并点击部署按钮即可。

 

小程序用户可以通过三种方式运行云函数:

 

1. 通过集成EMAS Serverless SDK调用云函数。它是一种同步调用,会把云函数的运行结果返回给用户。这是最常用的集成方式,用在小程序中和后端处理业务数据。

2. 用户也可以通过配置http触发功能,通过http请求调用云函数。

3. 开发者可以通过配置定任务时触发运行云函数。

 

当云函数运行之后会产生一个日志方便用户调试。通过日志系统,开发者可以在控制台查看日志确认函数是否运行成功。

 image.png

当EMAS Serverless收到一个运行请求要运行云函数。

 

首先系统进入系统冷启动阶段。冷启动主要包括后端调度一个实例容器,下载代码并解压以及启动实例。

 

然后当实例完成冷启动后,实例进入到运行阶段。首先会运行一个初始化函数。然后开始执index函数。当函数运行完成后进入实例释放时间。

 

如上图所示,假设在t3之前,EMAS Serverless收到了第二个请求EMAS Serverless会直接跳到执行函数阶段。

 

当第二个请求执行完成,EMAS Serverless会重新计算实例释放时间当没有新的请求进入后,这个实例会被回收。

 

此时,如果EMAS Serverless收到了第三个请求由于实例已经回收EMAS Serverless会重新进入系统冷启动阶段。

image.png

接下来,我们实战运行一个云函数。

 

首先,选中一个项目空间进入云函数控制台并新建一个云函数TwoNumberSum。

 

在本地电脑上新建文件index.js,并输入以下代码:


module.exports = async ctx => {

const x = ctx.args.x

const y = ctx.args.y

const sum = x + y

ctx.logger.info('first num: %d', x)

ctx.logger.info('second num: %d', y)

return sum

};

将该文件打包成zip文件。

image.png

进入函数开发页面,上传更新js包上传代码包,然后点击代码部署。

image.png

代码部署成功之后,在EMAS Serverless控制台,输入参数{"x": 1, "y": 2}运行云函数。

image.png

点击日志页面,即可查询函数的运行日志。

image.png

接下来,看看怎样在小程序里使用云函数。

 

打开支付宝的小程序开发工具。关键代码为serverless.function.invoke('twoNumberSum', {num1, num2})。即可完成云函数调用。invoke接收两个参数,分别是函数名字和函数入参对象。


接下篇:

https://developer.aliyun.com/article/1224193?groupCode=emas

 

相关文章
|
10天前
|
缓存 前端开发 JavaScript
|
4月前
|
Serverless PyTorch 文件存储
EMAS Serverless文件存储问题之上传视频真机报错如何解决
在进行Serverless应用开发和部署时,开发者可能会遇到不同类型的报错信息;本合集着重收录了Serverless环境中常见的报错问题及其解决策略,以助于开发者迅速诊断和解决问题,保证服务的连续性和可用性。
424 1
|
存储 小程序 IDE
EMAS Serverless搭建《私人云相册》小程序
基于EMAS Serverless的云函数、云数据库、云存储等云服务能力一站式快速开发一个小程序。
289 0
EMAS Serverless搭建《私人云相册》小程序
|
开发框架 Serverless 文件存储
EMAS Serverless文件存储的uploadFile方法
EMAS Serverless文件存储的uploadFile方法
150 1
|
4月前
|
网络协议 开发工具 Android开发
应用研发平台EMAS产品常见问题之接入httpdns后 访问重定向的url访问有问题如何解决
应用研发平台EMAS(Enterprise Mobile Application Service)是阿里云提供的一个全栈移动应用开发平台,集成了应用开发、测试、部署、监控和运营服务;本合集旨在总结EMAS产品在应用开发和运维过程中的常见问题及解决方案,助力开发者和企业高效解决技术难题,加速移动应用的上线和稳定运行。
|
4月前
|
运维 监控 Android开发
应用研发平台EMAS产品常见问题之流水线符号表无法下载如何解决
应用研发平台EMAS(Enterprise Mobile Application Service)是阿里云提供的一个全栈移动应用开发平台,集成了应用开发、测试、部署、监控和运营服务;本合集旨在总结EMAS产品在应用开发和运维过程中的常见问题及解决方案,助力开发者和企业高效解决技术难题,加速移动应用的上线和稳定运行。
应用研发平台EMAS产品常见问题之流水线符号表无法下载如何解决
|
4月前
|
运维 监控 Android开发
应用研发平台EMAS产品常见问题之热更新和云发布不能共存如何解决
应用研发平台EMAS(Enterprise Mobile Application Service)是阿里云提供的一个全栈移动应用开发平台,集成了应用开发、测试、部署、监控和运营服务;本合集旨在总结EMAS产品在应用开发和运维过程中的常见问题及解决方案,助力开发者和企业高效解决技术难题,加速移动应用的上线和稳定运行。
|
4月前
|
缓存 运维 Android开发
应用研发平台EMAS产品常见问题之私有云部署失败如何解决
应用研发平台EMAS(Enterprise Mobile Application Service)是阿里云提供的一个全栈移动应用开发平台,集成了应用开发、测试、部署、监控和运营服务;本合集旨在总结EMAS产品在应用开发和运维过程中的常见问题及解决方案,助力开发者和企业高效解决技术难题,加速移动应用的上线和稳定运行。
|
4月前
|
缓存 测试技术 开发工具
应用研发平台EMAS产品常见问题之拿不到推送如何解决
应用研发平台EMAS(Enterprise Mobile Application Service)是阿里云提供的一个全栈移动应用开发平台,集成了应用开发、测试、部署、监控和运营服务;本合集旨在总结EMAS产品在应用开发和运维过程中的常见问题及解决方案,助力开发者和企业高效解决技术难题,加速移动应用的上线和稳定运行。
|
4月前
|
运维 监控 数据挖掘
应用研发平台EMAS产品常见问题之华为离线推送接收失败如何解决
应用研发平台EMAS(Enterprise Mobile Application Service)是阿里云提供的一个全栈移动应用开发平台,集成了应用开发、测试、部署、监控和运营服务;本合集旨在总结EMAS产品在应用开发和运维过程中的常见问题及解决方案,助力开发者和企业高效解决技术难题,加速移动应用的上线和稳定运行。

热门文章

最新文章

相关产品

  • 移动研发平台