更新时间:2024-08-15 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

不支持

支持

不支持

支持

C#

不支持

支持

不支持

支持

PHP

支持

支持

不支持

支持

定制运行时

支持

支持

不支持

支持

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

表2 函数代码上传方式表

代码上传方式

操作

在线编辑

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

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

上传ZIP文件

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

从OBS上传文件

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

当您部署的代码大于20M时,在线编辑器将不展示代码,但您仍可以测试您的函数。

图1 编辑器不展示代码

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。

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

C#语言程序包

上传程序包

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

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

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

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

  • 上传至OBS存储桶

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

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

PHP语言程序包

在线编辑

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

上传程序包

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

  • 制作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。

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