函数工作流 FUNCTIONGRAPH-函数工程打包规范:打包规范说明

时间:2024-10-30 15:15:47

打包规范说明

函数除了支持在线编辑代码,还支持上传ZIP、JAR、引入OBS文件等方式上传代码,函数工程的打包规范说明如表1所示。

表1 函数工程打包规范

编程语言

JAR包

ZIP包

OBS文件

Node.js

不支持该方式

  • 假如函数工程文件保存在“~/Code/”文件夹下,在打包的时候务必进入Code文件夹下选中所有工程文件进行打包,这样做的目的是:入口函数是程序执行的入口,确保解压后,入口函数所在的文件位于根目录。
  • 如果函数工程引入了第三方依赖,可以将第三方依赖打成ZIP包,在函数代码界面设置外部依赖包;也可以将第三方依赖和函数工程文件一起打包。

将工程打成ZIP包,上传到OBS存储桶。

PHP

不支持该方式

  • 假如函数工程文件保存在“~/Code/”文件夹下,在打包的时候务必进入Code文件夹下选中所有工程文件进行打包,这样做的目的是:入口函数是程序执行的入口,确保解压后,入口函数所在的文件位于根目录。
  • 如果函数工程引入了第三方依赖,可以将第三方依赖打成ZIP包,在函数代码界面设置外部依赖包;也可以将第三方依赖和函数工程文件一起打包。

将工程打成ZIP包,上传到OBS存储桶。

Python 2.7

不支持该方式

  • 假如函数工程文件保存在“~/Code/”文件夹下,在打包的时候务必进入Code文件夹下选中所有工程文件进行打包,这样做的目的是:入口函数是程序执行的入口,确保解压后,入口函数所在的文件位于根目录。
  • 如果函数工程引入了第三方依赖,可以将第三方依赖打成ZIP包,在函数代码界面设置外部依赖包;也可以将第三方依赖和函数工程文件一起打包。

将工程打成ZIP包,上传到OBS存储桶。

Python 3.6

不支持该方式

  • 假如函数工程文件保存在“~/Code/”文件夹下,在打包的时候务必进入Code文件夹下选中所有工程文件进行打包,这样做的目的是:入口函数是程序执行的入口,确保解压后,入口函数所在的文件位于根目录。
  • 如果函数工程引入了第三方依赖,可以将第三方依赖打成ZIP包,在函数代码界面设置外部依赖包;也可以将第三方依赖和函数工程文件一起打包。

将工程打成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存储桶。

support.huaweicloud.com/devg-functiongraph/functiongraph_02_0103.html