更新时间:2025-04-21 gmt 08:00

函数工程打包规范-j9九游会登录

打包规范说明

函数除了支持在线编辑代码,还支持上传zip、jar、引入obs文件等方式上传代码,上传操作过程请参见,函数工程的打包规范说明如表1所示。

表1 函数工程打包规范

编程语言

jar包

zip包

obs文件

node.js

不支持该方式

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

将工程打成zip包,上传到obs存储桶。

php

不支持该方式

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

将工程打成zip包,上传到obs存储桶。

python

不支持该方式

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

将工程打成zip包,上传到obs存储桶。

java

如果函数没有引用第三方件,可以直接将函数工程编译成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存储桶。

cangjie

不支持该方式

必须在编译之后打zip包,编译后的二进制文件必须与执行函数入口保持一致,例如二进制名称为libuser_func_test_success.so,则执行入口为libuser_func_test_success.so。

将工程打成zip包,上传到obs存储桶。

定制运行时

不支持该方式

打zip包,必须包含“bootstrap”可执行引导文件。

将工程打成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                                可执行引导文件

相关文档

网站地图