更新时间:2023-11-21 GMT+08:00

创建程序包

要创建FunctionGraph函数,首先需要创建函数部署程序包(包含代码和所有依赖项的文件)。用户可以自行创建部署程序包或直接在FunctionGraph函数控制台在线编辑代码,控制台将创建并上传部署程序包,从而实现FunctionGraph函数的创建。用户在编辑函数代码时支持类似工程方式的管理,可以创建文件、文件夹并对其进行编辑。如果用户代码是上传zip包的方式,则前端进行相应解压展示,提供编辑能力。

  • 用户在本地开发程序之后打包,必须是ZIP包(Java、Node.js、Python、Go)或者JAR包(Java),上传至FunctionGraph即可运行,无需其它的部署操作。
  • 制作ZIP包的时候,单函数入口文件必须在根目录,保证解压后,直接出现函数执行入口文件,才能正常运行。
  • 对于Go runtime,必须在编译之后打zip包,编译后的动态库文件名称必须与函数执行入口的插件名称保持一致,例如:动态库名称为testplugin.so,则“函数执行入口”命名为testplugin.Handler。
  • 对于Java runtime,由于Java是编译型语言,所以不能在线编辑代码。如果函数没有引入其他第三方件,可以选择上传函数jar包。如果函数中引入其他三方件,则需要制作包含所有依赖三方件和函数jar的zip包,选择上传zip文件。

FunctionGraph函数支持的上传程序包的方式如表1

表1 代码上传方式说明

运行时

在线编辑

上传ZIP文件

上传JAR包

从OBS上传文件

Node.js

支持

支持

不支持

支持

Python

支持

支持

不支持

支持

Java

不支持

支持

支持

支持

GO

不支持

支持

不支持

支持

定制运行时

支持

支持

不支持

支持

上传代码时,如果代码中包含敏感信息(如帐户密码等),请您自行加密,以防止信息泄露。

表2 函数代码上传方式表

代码上传方式

操作

在线编辑

用户在编辑函数代码时支持类似工程方式的管理,可以创建文件、文件夹并对其进行编辑。如果用户代码是上传zip包的方式,则前端进行相应解压展示,并支持用户在函数详情页的“代码”页签,进行在线编辑修改。

  • 文件:支持创建文件和文件夹功能。其中包括新建文件,新建文件夹、保存、关闭所有文件功能。
  • 编辑:支持在编码框中,对代码进行撤销、恢复、剪切、复制、粘贴、查找、替换操作。
  • 设置:支持设置编码框中代码字体大小、自动格式化和编码框主题颜色。

上传ZIP文件

  1. 在函数详情页的“代码”页签,选择“上传自 > Zip文件”。
  2. 单击“添加文件”上传本地代码至平台。上传的zip文件大小限制为40M,如超过40M,请通过OBS上传。

从OBS上传文件

  1. 在函数详情页的“代码”页签,选择“上传自 > OBS地址”。
  2. 单击“添加文件”上传本地代码至平台。

Node.js程序包

在线编辑

FunctionGraph服务预装了适用于Node.js的开发工具包,如果自定义代码只需要软件开发工具包库,则可以使用FunctionGraph控制台的内联编辑器。使用控制台可以编辑代码并将代码上传到FunctionGraph,控制台会将代码及相关的配置信息压缩到FunctionGraph服务能够运行的部署程序包中。

上传程序包

如果编写的代码需要用到其他资源(如使用图形库进行图像处理),则需要先创建FunctionGraph函数部署程序包,然后再使用控制台上传部署程序包。Node.js编程语言支持以下两种方式上传程序包。

  • 制作zip包的时候,单函数入口文件必须在根目录,保证解压后,直接出现函数执行入口文件,才能正常运行。
  • 解压后的源代码不能超过1.5G,超大代码请联系专员。
  • 直接上传程序包

    在创建部署程序包后,可直接从本地上传ZIP程序包,ZIP程序包大小限制为40MB,如果超过该限制,请使用OBS存储桶。

    更多函数资源的限制,请参见使用限制

  • 上传至OBS存储桶

    在创建部署程序包后,可先将.zip文件上传到要在其中创建FunctionGraph函数的区域中的OBS存储桶中,然后指定FunctionGraph函数中设置程序包的OBS存储地址,OBS中ZIP包大小限制为300MB。

    更多函数资源的限制,请参见使用限制

Python程序包

在线编辑

FunctionGraph服务预装了适用于Python的开发工具包,如果自定义代码只需要软件开发工具包库,则可以使用FunctionGraph控制台的内联编辑器。使用控制台可以编辑代码并将代码上传到FunctionGraph,控制台会将代码及相关的配置信息压缩到FunctionGraph服务能够运行的部署程序包中。

上传程序包

如果编写的代码需要用到其他资源(如使用图形库进行图像处理),则需要先创建FunctionGraph函数部署程序包,然后再使用控制台上传部署程序包。Python编程语言支持以下两种方式上传程序包。

  • 制作zip包的时候,单函数入口文件必须在根目录,保证解压后,直接出现函数执行入口文件,才能正常运行。
  • 解压后的源代码不能超过1.5G,超大代码请联系专员。
  • 用python语言写代码时,自己创建的包名不能与python标准库同名,否则会提示module加载失败。例如“json”、“lib”,“os”等。
  • 直接上传程序包

    在创建部署程序包后,可直接从本地上传ZIP程序包,ZIP程序包大小限制为40MB,如果超过该限制,请使用OBS存储桶。

    更多函数资源的限制,请参见使用限制

  • 上传至OBS存储桶

    在创建部署程序包后,可先将.zip文件上传到要在其中创建FunctionGraph函数的区域中的OBS存储桶中,然后指定FunctionGraph函数中设置程序包的OBS存储地址,OBS中ZIP包大小限制为300MB。

    更多函数资源的限制,请参见使用限制

Java程序包

由于Java是编译型语言,所以不能在线编辑代码,只能上传程序包,部署程序包可以是.zip文件或独立的jar文件。

上传Jar包

  • 如果函数没有引入其他依赖包,可以直接上传函数jar包。
  • 如果函数引入了其他依赖包,可以先将依赖包上传至OBS桶,创建函数时设置依赖包,并上传函数jar包。

上传zip

如果函数中引入其他三方件,也可以制作包含所有依赖三方件和函数jar的zip包,选择上传zip文件。

Java编程语言支持以下两种方式上传程序包。

  • 制作zip包的时候,单函数入口文件必须在根目录,保证解压后,直接出现函数执行入口文件,才能正常运行。
  • 解压后的源代码不能超过1.5G,超大代码请联系专员。
  • 直接上传程序包

    在创建部署程序包后,可直接从本地上传ZIP程序包,ZIP程序包大小限制为40MB,如果超过该限制,请使用OBS存储桶。

    更多函数资源的限制,请参见使用限制

  • 上传至OBS存储桶

    在创建部署程序包后,可先将.zip文件上传到要在其中创建FunctionGraph函数的区域中的OBS存储桶中,然后指定FunctionGraph函数中设置程序包的OBS存储地址,OBS中ZIP包大小限制为300MB。

    更多函数资源的限制,请参见使用限制

GO语言程序包

上传程序包

只能上传程序包,部署程序包必须是.zip文件。Go编程语言支持以下两种方式上传程序包。

  • 制作zip包的时候,单函数入口文件必须在根目录,保证解压后,直接出现函数执行入口文件,才能正常运行。
  • 解压后的源代码不能超过1.5G,超大代码请联系专员。
  • 直接上传程序包

    在创建部署程序包后,可直接从本地上传ZIP程序包,ZIP程序包大小限制为40MB,如果超过该限制,请使用OBS存储桶。

    更多函数资源的限制,请参见使用限制

  • 上传至OBS存储桶

    在创建部署程序包后,可先将.zip文件上传到要在其中创建FunctionGraph函数的区域中的OBS存储桶中,然后指定FunctionGraph函数中设置程序包的OBS存储地址,OBS中ZIP包大小限制为300MB。

    更多函数资源的限制,请参见使用限制

定制运行时程序包

在线编辑

使用控制台可以编辑代码并将代码上传到FunctionGraph,控制台会将代码及相关的配置信息压缩到FunctionGraph服务能够运行的部署程序包中。

上传程序包

如果编写的代码需要用到其他资源(如使用图形库进行图像处理),则需要先创建FunctionGraph函数部署程序包,然后再使用控制台上传部署程序包。定制运行时支持以下两种方式上传程序包。

  • 制作zip包的时候,单函数入口文件必须在根目录,保证解压后,直接出现函数执行入口文件,才能正常运行。
  • 解压后的源代码不能超过1.5G,超大代码请联系专员。
  • 直接上传程序包

    在创建部署程序包后,可直接从本地上传ZIP程序包,ZIP程序包大小限制为40MB,如果超过该限制,请使用OBS存储桶。

    更多函数资源的限制,请参见使用限制

  • 上传至OBS存储桶

    在创建部署程序包后,可先将.zip文件上传到要在其中创建FunctionGraph函数的区域中的OBS存储桶中,然后指定FunctionGraph函数中设置程序包的OBS存储地址,OBS中ZIP包大小限制为300MB。

    更多函数资源的限制,请参见使用限制