创建服务
服务(Service)是管理函数计算的基本资源单位。您可以在服务级别上授权、配置日志和创建函数等。
相关参考文档:
- 服务简介
-
创建函数
函数(Function)是调度与运行的基本单位,更是一段代码的处理逻辑。您需要根据函数计算提供的函数接口形式编写代码,并将代码以函数的形式部署到函数计算。函数计算中的服务对应于软件应用架构领域中的微服务。在函数计算平台构建应用时,首先根据需求将业务逻辑抽象为微服务,然后再实现为函数计算中的服务。
一个服务下可以创建多个函数,每个函数可以设置不同的内存规格、环境变量等属性,并可以结合用户的实际业务场景来决定是否开启Initializer 功能,详情请参见 Initializer 函数。这种服务或者函数层次化的抽象,在系统抽象和实现灵活度上能够取得很好的平衡。例如,实现一个微服务,调用阿里云语音合成服务,将文字转成语音,再把这段语音和一系列图片组合为视频。其中文字转语音函数是调用其他服务,可以设置很小的内存规格。而视频合成函数是计算密集型,需要更大的内存。因此您可以组合多个不同规格的函数实现微服务,优化成本。
相关参考文档: -
触发函数
函数计算支持事件触发,即当某个事件发生时触发函数的执行。例如配置 OSS 触发器后,当 OSS 对应 Bucket 中有对象新增或删除后都会触发函数的执行,方便您处理上传的对象。配置日志服务触发器,当日志服务对应 Logstore 中有新日志写入后可以触发函数的执行,方便您处理写入的日志。您需要设置触发器来设置事件触发的方式。
相关参考文档: - 触发器的增删改查
如果不配置触发器,您也可以使用控制台、命令行工具 fcli 或者 SDK 等方式直接调用函数执行。
查看执行日志
查看日志是帮助您调试的一个重要环节。关于使用函数计算配置日志并查看日志,请参见函数日志。
查看服务监控
代码开发
node
- event : 参数是您调用函数时传入的数据,其类型是 Buffer,是函数的输入参数。
- 您在函数中可以根据实际情况对
event
进行转换。如果输入数据是一个 JSON 字符串 ,您可以把它转换成一个 Object 。
context 参数
context 参数中包含一些函数的运行信息,例如 request Id 、 临时 AK 等。您在代码中可以使用这些信息。信息类型是 Object,其定义如下所示
callback 函数
callback 是由系统定义的函数,作为入口函数的入参用于返回调用函数的结果,标识函数执行结束。其签名是 function(err, data)
,与 Node.js 中使用的 callback
一样,它的第一个参数是 error
,第二个参数 data
。
如果调用时 error
不为空,则函数返回 HandledInvocationError
,否则返回 data
的内容。
- 如果
data
是Buffer
类型则它的数据将直接被返回。 - 如果
data
是object
,则会将其转换成 JSON 字符串返回, - 如果
data
是其他类型将被转换成字符串返回。