函数工作流 FUNCTIONGRAPH-使用容器镜像创建函数:约束与限制

时间:2025-01-10 18:13:21

约束与限制

  • 请参见配置函数的委托权限,创建一个包含“SWR Admin 容器镜像服务 (SWR)管理员”权限的委托,因为用户镜像储存在SWR服务中,只有拥有“SWR Admin”权限,才能调用与获取,拉取镜像。
  • 自定义容器镜像需包含HTTP Server,监听端口为8000。
  • HTTP函数只允许创建APIG/APIC的触发器类型,其他触发器不支持。
  • 事件函数需创建一个HTTP Server并实现Method为POST和Path为/invoke的函数执行入口,可实现Method为POST和Path为/init的函数初始化入口。
  • 通过APIG服务调用函数服务时,isBase64Encoded的值默认为true,表示APIG传递给FunctionGraph的请求体body已经进行Base64编码,需要先对body内容Base64解码后再处理。
  • 函数必须按以下结构返回字符串。
    {
        "isBase64Encoded": true|false,
        "statusCode": httpStatusCode,
        "headers": {"headerName":"headerValue",...},
        "body": "..."
    }
  • Command、Args、Working dir三个参数之和不能超过5120。
  • 初次执行时需要从SWR中拉取镜像,且冷启动时需要启动容器,所以 自定义镜像 冷启动比较慢。后续每次冷启动,如果节点上没有镜像,都需要从SWR中拉取。
  • 镜像类型支持公开和私有,具体详情请参考编辑镜像属性
  • 自定义容器镜像开放端口限定为8000。
  • 可支持的镜像包最大为10G,当镜像包过大时可以采取一些方式缩容,比如在线题库场景中,可以把原来加载在容器中的题库数据通过外部文件系统挂载盘方式挂载到容器中。
  • FunctionGraph通过LTS日志采集容器输出到控制台的所有日志,可以通过标准输出或者开源日志框架重定向到控制台的方式打印业务信息。打印的内容建议包括系统时间、组件名称、代码行、关键数据等来方便定位。
  • oom错误时,内存占用大小可以在函数执行结果中查看。
  • 用户函数需要返回一个合法的http响应报文。
support.huaweicloud.com/usermanual-functiongraph/functiongraph_01_1047.html