对于 Node.js 函数,veFaaS 使用您提供的index.js文件中定义的 handler 入口函数启动函数服务进程,对请求事件进行处理。示例代码如下:
如果函数有一些全局的初始化逻辑,如与数据库建立连接,初始化下游 Client 等,推荐在 handler 函数的基础上增加 initializer 函数,用于函数实例初始化。示例代码如下:
入口函数 handler
handler 是函数请求处理逻辑的入口。handler 包含了您的核心业务逻辑,用于处理事件请求,并最终返回一个可选返回值。handler 函数的签名如下所示。
当 veFaaS 触发您的 handler 函数时,Node.js 运行时会向您的 handler 函数传递两个入参 event 和 context 。
event 参数
event 参数用于向您的 handler 函数传递触发事件数据。event 参数的类型为 Object。
context 参数
context 参数用于向您的 handler 函数传递运行时信息。context 参数包含的内容如下所示。
参数说明
返回值
函数 handler 的返回值为Object类型,返回值中只有statusCode、headers、body三个键值对最终会返回给请求方。
如果您选择不返回任何值,veFaaS 会默认返回 200 的接口返回码。
函数 handler 的返回值示例代码如下所示。
参数说明
初始化函数 Initializer
Initializer是函数的初始化逻辑入口。单个函数内的实例级别全局初始化,推荐使用 initializer 函数进行。veFaaS 目前支持的 initializer 函数签名如下,用户可以通过返回 error 来标识初始化失败。
使用环境变量
您可以在控制台配置函数运行时所需的环境变量,并在代码中读取对应的环境变量,用于函数处理逻辑。veFaaS 会将所配置的环境变量注入到函数运行所在的容器中,程序可以通过process.env获取。
例如:您配置的环境变量键值对为HELLO:VE_FAAS,运行环境读取该环境变量的代码示例如下: