- 最新动态
- 功能总览
- 产品介绍
- 计费说明
- 快速入门
- 用户指南
-
最佳实践
- FunctionGraph最佳实践汇总
-
数据处理类实践
- 使用FunctionGraph函数对OBS中的图片进行压缩
- 使用FunctionGraph函数为OBS中的图片打水印
- 使用FunctionGraph函数对DIS数据进行格式转换并存储到CloudTable
- 使用FunctionGraph函数实现通过API方式上传文件
- 使用FunctionGraph函数对IoTDA中的设备坐标数据进行转换
- 使用FunctionGraph函数对OBS中的文件进行加解密
- 使用FunctionGraph函数识别LTS中的异常业务日志并存储到OBS
- 使用FunctionGraph函数对LTS中的日志进行实时过滤
- 使用FunctionGraph函数流对OBS中的图片进行旋转
- 使用FunctionGraph函数流对图片进行压缩和打水印
- 功能应用类实践
- 函数构建类实践
- 开发指南
- API参考
- SDK参考
- 场景代码示例
-
常见问题
-
产品咨询
- 使用FunctionGraph是否需要开通计算、存储、网络等服务?
- 使用FunctionGraph开发程序之后是否需要部署?
- FunctionGraph为函数分配的磁盘空间有多少?
- 是否支持在函数中启动TCP的监听端口,通过EIP接收外部发送过来的TCP请求?
- 函数发起HTTP请求的源地址如何获取?
- FunctionGraph是否支持对上传的zip文件进行反编译?
- FunctionGraph的函数是否支持功能扩展?
- FunctionGraph中的代码是如何隔离的?
- 函数常规信息中的“应用”如何理解?
- 用户需要为函数的冷启动时间付费吗?
- 函数计费中的调用次数,是某一账号下在不同region的所有函数的调用次数总和吗?
- Python语言的函数从V1版本迁移到V2版本时需注意哪些兼容性问题?
- FunctionGraph函数支持哪些编程语言?
- 创建函数
-
配置函数
- 能否在函数环境变量中存储敏感信息?
- FunctionGraph的函数如何读写上传的文件?
- 为函数挂载文件系统时,报“failed to mount exist system path”
- FunctionGraph如何实现域名解析?
- FunctionGraph如何通过域名访问专享版APIG中注册的接口?
- FunctionGraph函数通过域名访问APIG中注册的接口时,报域名无法解析?
- 使用定制运行时语言的函数能操作哪些目录?
- FunctionGraph的函数支持哪些中文字体?
- 能否在函数代码中使用线程和进程?
- 函数如何访问MySQL数据库?
- 函数无法通过VPC连接对应的Redis?
- 如何读取函数的请求头?
- Python语言的函数中,中文注释报乱码错误
-
调用函数
- FunctionGraph的函数执行需要多长时间?
- FunctionGraph的函数执行包含了哪些过程?
- FunctionGraph函数长时间不执行时,相关的实例会如何处理?
- 如何获取函数运行过程中的内存使用量信息?
- 为什么首次调用函数时速度会比较慢?
- 为什么函数实际使用内存大于预估内存,甚至触发内存溢出OOM?
- 函数执行失败返回“runtime memory limit exceeded”时,如何查看内存占用大小?
- 自定义镜像函数执行失败报“CrashLoopBackOff”
- 同步调用函数时,未收到调用响应的可能原因?
- 函数中os.system("command &")命令的执行日志未采集,应如何处理?
- 函数执行超时的可能原因有哪些?
- 使用APIG触发器调用一个返回String的FunctionGraph函数时,报500错误
- Python2.7在执行reload(sys)后无法通过print打印日志
- 运行函数时报错error while loading shared libraries时如何处理?
- 配置触发器
- 配置依赖包
-
产品咨询
- 视频帮助
- 文档下载
- 通用参考
链接复制成功!
函数工程打包规范
打包规范说明
函数除了支持在线编辑代码,还支持上传ZIP、JAR、引入OBS文件等方式上传代码,上传操作过程请参见配置函数代码,函数工程的打包规范说明如表1所示。
编程语言 |
JAR包 |
ZIP包 |
OBS文件 |
---|---|---|---|
Node.js |
不支持该方式 |
|
将工程打成ZIP包,上传到OBS存储桶。 |
PHP |
不支持该方式 |
|
将工程打成ZIP包,上传到OBS存储桶。 |
Python 2.7 |
不支持该方式 |
|
将工程打成ZIP包,上传到OBS存储桶。 |
Python 3.6 |
不支持该方式 |
|
将工程打成ZIP包,上传到OBS存储桶。 |
Java 8 |
如果函数没有引用第三方件,可以直接将函数工程编译成Jar包。 |
如果函数引用第三方件,将函数工程编译成Jar包后,将所有依赖三方件和函数JAR包打成ZIP包。 |
将工程打成ZIP包,上传到OBS存储桶。 |
Go 1.x |
不支持该方式 |
必须在编译之后打ZIP包,编译后的二进制文件必须与执行函数入口保持一致,例如二进制名称为Handler,则执行入口为Handler。 |
将工程打成ZIP包,上传到OBS存储桶。 |
C# |
不支持该方式 |
必须在编译之后打ZIP包,必须包含“工程名.deps.json”,“工程名.dll”,“工程名.runtimeconfig.json”,“工程名.pdb”和“HC.Serverless.Function.Common.dll”文件。 |
将工程打成ZIP包,直接上传到OBS存储桶。 |
定制运行时 |
不支持该方式 |
打ZIP包,必须包含“bootstrap”可执行引导文件。 |
将工程打成ZIP包,直接上传到OBS存储桶。 |
Cangjie |
不支持该方式 |
必须在编译之后打ZIP包,编译后的二进制文件必须与执行函数入口保持一致,例如二进制名称为libuser_func_test_success.so,则执行入口为libuser_func_test_success.so。 |
将工程打成ZIP包,上传到OBS存储桶。 |
ZIP工程包示例
- Nods.js工程ZIP包目录示例
Example.zip 示例工程包 |--- lib 业务文件目录 |--- node_modules npm三方件目录 |--- index.js 入口js文件(必选) |--- package.json npm项目管理文件
- PHP工程ZIP包目录示例
Example.zip 示例工程包 |--- ext 扩展库目录 |--- pear PHP扩展与应用仓库 |--- index.php 入口PHP文件
- Python工程ZIP包目录示例
Example.zip 示例工程包 |--- com 业务文件目录 |--- PLI 第三方依赖PLI目录 |--- index.py 入口py文件(必选) |--- watermark.py 实现打水印功能的py文件 |--- watermark.png 水印图片
- Java工程ZIP包目录示例
Example.zip 示例工程包 |--- obstest.jar 业务功能JAR包 |--- esdk-obs-java-3.20.2.jar 第三方依赖JAR包 |--- jackson-core-2.10.0.jar 第三方依赖JAR包 |--- jackson-databind-2.10.0.jar 第三方依赖JAR包 |--- log4j-api-2.12.0.jar 第三方依赖JAR包 |--- log4j-core-2.12.0.jar 第三方依赖JAR包 |--- okhttp-3.14.2.jar 第三方依赖JAR包 |--- okio-1.17.2.jar 第三方依赖JAR包
- Go工程ZIP包目录示例
Example.zip 示例工程包 |--- testplugin.so 业务功能包
- C#工程ZIP包目录示例
Example.zip 示例工程包 |--- fssExampleCsharp2.0.deps.json 工程编译产生文件 |--- fssExampleCsharp2.0.dll 工程编译产生文件 |--- fssExampleCsharp2.0.pdb 工程编译产生文件 |--- fssExampleCsharp2.0.runtimeconfig.json 工程编译产生文件 |--- Handler 帮助文件,可直接使用 |--- HC.Serverless.Function.Common.dll 函数工作流提供的dll
- Cangjie工程ZIP包目录示例
fss_example_cangjie.zip 示例工程包 |--- libuser_func_test_success.so 业务功能包
- 定制运行时
Example.zip 示例工程包 |--- bootstrap 可执行引导文件