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

简介: 本文整理自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

 

相关文章
|
1月前
|
Serverless
电子好书发您分享《五天玩转EMAS Serverless》
电子好书发您分享《五天玩转EMAS Serverless》
618 2
|
1月前
|
Serverless PyTorch 文件存储
EMAS Serverless文件存储问题之上传视频真机报错如何解决
在进行Serverless应用开发和部署时,开发者可能会遇到不同类型的报错信息;本合集着重收录了Serverless环境中常见的报错问题及其解决策略,以助于开发者迅速诊断和解决问题,保证服务的连续性和可用性。
409 1
|
6月前
|
Serverless
电子好书分享您《五天玩转EMAS Serverless》
电子好书分享您《五天玩转EMAS Serverless》
114 1
|
9月前
|
存储 小程序 IDE
EMAS Serverless搭建《私人云相册》小程序
基于EMAS Serverless的云函数、云数据库、云存储等云服务能力一站式快速开发一个小程序。
240 0
EMAS Serverless搭建《私人云相册》小程序
|
5天前
|
消息中间件 Serverless PyTorch
Serverless 应用引擎产品使用合集之FC内网访问VPC内的资源不通是什么导致的
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
5天前
|
消息中间件 Serverless 文件存储
Serverless 应用引擎产品使用合集之在NAS中下载torch和diffusers依赖包,如何加载
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
5天前
|
运维 Serverless PHP
Serverless 应用引擎产品使用合集之官方Stable Diffusion模板采用的是什么方式
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
5天前
|
NoSQL Java Serverless
Serverless 应用引擎产品使用合集之Java如何使用ScheduledExecutorService来实现定时触发
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
5天前
|
缓存 运维 Serverless
Serverless 应用引擎产品使用合集之基于django应用模板创建的FC,如何配置数据库
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
5天前
|
存储 运维 Kubernetes
Serverless 应用引擎产品使用合集之部署Stable Diffusion启动失败一般是什么导致的
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。

热门文章

最新文章

相关产品

  • 移动研发平台