云服务器内容精选

  • 运行时接口说明 FunctionGraph提供了用于自定义运行时的HTTP API来接收来自函数的调用事件,并在FunctionGraph执行环境中发送回响应数据。 获取调用 方法 – Get 路径 – http://$RUNTIME_API_ADDR/v1/runtime/invocation/request 该接口用来获取下一个事件,响应正文包含事件数据。响应标头包含信息如下。 表1 响应标头信息说明 参数 说明 X-Cff-Request-Id 请求ID。 X-CFF-Access-Key 租户AccessKey,使用该特殊变量需要给函数配置委托。 X-CFF-Auth-Token Token,使用该特殊变量需要给函数配置委托。 X-CFF-Invoke-Type 函数执行类型。 X-CFF-Secret-Key 租户SecretKey,使用该特殊变量需要给函数配置委托。 X-CFF-Security-Token Security token,使用该特殊变量需要给函数配置委托。 调用响应 方法 – POST 路径 – http://$RUNTIME_API_ADDR/v1/runtime/invocation/response/$REQUEST_ID 该接口将正确的调用响应发送到FunctionGraph。在运行时调用函数处理程序后,将来自函数的响应发布到调用响应路径。 错误上报 方法 – POST 路径 – http://$RUNTIME_API_ADDR/v1/runtime/invocation/error/$REQUEST_ID $REQUEST_ID为获取事件的响应header中X-Cff-Request-Id变量值,说明请参见表1。 $RUNTIME_API_ADDR为系统环境变量,说明请参见表2。 该接口将错误的调用响应发送到FunctionGraph。在运行时调用函数处理程序后,将来自函数的响应发布到调用响应路径。
  • 场景说明 运行时负责运行函数的设置代码、从环境变量读取处理程序名称以及从FunctionGraph运行时API读取调用事件。运行时会将事件数据传递给函数处理程序,并将来自处理程序的响应返回给FunctionGraph。 FunctionGraph支持自定义编程语言运行时。您可以使用可执行文件(名称为bootstrap)的形式将运行时包含在函数的程序包中,当调用一个FunctionGraph函数时,它将运行函数的处理程序方法。 自定义的运行时在FunctionGraph执行环境中运行,它可以是Shell脚本,也可以是可在linux可执行的二进制文件。 在本地开发程序之后打包,必须是ZIP包(Java、Node.js、Python、Go)或者JAR包(Java),上传至FunctionGraph即可运行,无需其它的部署操作。制作ZIP包的时候,单函数入口文件必须在根目录,保证解压后,直接出现函数执行入口文件,才能正常运行。 对于Go runtime,必须在编译之后打zip包,编译后的动态库文件名称必须与函数执行入口的插件名称保持一致,例如:动态库名称为testplugin.so,则“函数执行入口”命名为testplugin.Handler。
  • 运行时环境变量说明 下面是FunctionGraph执行环境中运行时相关的环境变量列表,除此之外,还有用户自定义的环境变量,都可以在函数代码中直接使用。 表2 环境变量说明 键 值说明 RUNTIME_PROJECT_ID projectID RUNTIME_FUNC_NAME 函数名称 RUNTIME_FUNC_VERSION 函数的版本 RUNTIME_PACKAGE 函数组 RUNTIME_HANDLER 函数执行入口 RUNTIME_TIMEOUT 函数超时时间 RUNTIME_USERDATA 用户通过环境变量传入的值 RUNTIME_CPU 分配的CPU数 RUNTIME_MEMORY 分配的内存 RUNTIME_CODE_ROOT 包含函数代码的目录 RUNTIME_API_ADDR 自定义运行时API的主机和端口 用户定义的环境变量也同FunctionGraph环境变量一样,可通过环境变量获取方式直接获取用户定义环境变量。