发布函数版本
功能介绍
发布函数版本。以最新latest代码发布版本,版本号系统自动生成,一个函数最多只能有10个版本。
调试
您可以在API Explorer中调试该接口。
URI
POST /v2/{project_id}/fgs/functions/{function_urn}/versions
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
function_urn |
是 |
String |
函数的URN(Uniform Resource Name),唯一标识函数。 |
project_id |
是 |
String |
租户Project ID。 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
version |
否 |
String |
待发布的版本号。如果未指定,则会使用当前时间格式化为“yyyymmdd-HHMMSS”的字符串作为发布版本号。 |
description |
否 |
String |
函数版本描述信息。 |
digest |
否 |
String |
待发布函数的代码的digest。如果不提供,则使用latest版本的代码进行发布。 |
响应参数
状态码: 200
参数 |
参数类型 |
描述 |
---|---|---|
func_urn |
String |
函数的URN(Uniform Resource Name),唯一标识函数。 |
func_name |
String |
函数名称。 |
domain_id |
String |
域名id。 |
namespace |
String |
租户的project id。 |
project_name |
String |
租户的project name。 |
package |
String |
函数所属的分组Package,用于用户针对函数的自定义分组。 |
runtime |
String |
FunctionGraph函数的执行环境 支持Node.js6.10、Python2.7、Python3.6、Java8、Go1.8、Node.js 8.10、C#.NET Core 2.0、C#.NET Core 2.1、PHP7.3。 Python2.7: Python语言2.7版本。 Python3.6: Pyton语言3.6版本。 Go1.8: Go语言1.8版本。 Java8: Java语言8版本。 Node.js6.10: Nodejs语言6.10版本。 Node.js8.10: Nodejs语言8.10版本。 C#(.NET Core 2.0): C#语言2.0版本。 C#(.NET Core 2.1): C#语言2.1版本。 C#(.NET Core 3.1): C#语言3.1版本。 Custom: 自定义运行时。 PHP7.3: Php语言7.3版本。 枚举值:
|
timeout |
Integer |
函数执行超时时间,超时函数将被强行停止,范围3~900秒 |
handler |
String |
函数执行入口 规则:xx.xx,必须包含“. ” 举例:对于node.js函数:myfunction.handler,则表示函数的文件名为myfunction.js,执行的入口函数名为handler。 |
memory_size |
Integer |
函数消耗的内存。 单位M。 取值范围为:128、256、512、768、1024、1280、1536、1792、2048、2560、3072、3584、4096。 最小值为128,最大值为4096。 |
cpu |
Integer |
函数占用的cpu资源。 单位为millicore(1 core=1000 millicores)。 取值与MemorySize成比例,默认是128M内存占0.1个核(100 millicores)。 函数占用的CPU为基础CPU:200 millicores,再加上内存按比例占用的CPU,计算方法:内存/128 *100 + 200。 |
code_type |
String |
函数代码类型,取值有4种。 inline: UI在线编辑代码。 zip: 函数代码为zip包。 obs: 函数代码来源于obs存储。 jar: 函数代码为jar包,主要针对Java函数。 枚举值:
|
code_url |
String |
当CodeType为obs时,该值为函数代码包在OBS上的地址,CodeType为其他值时,该字段为空。 |
code_filename |
String |
函数的文件名,当CodeType为jar/zip时必须提供该字段,inline和obs不需要提供。 |
code_size |
Long |
函数大小,单位:字节。 |
user_data |
String |
用户自定义的name/value信息。 在函数中使用的参数。 举例:如函数要访问某个主机,可以设置自定义参数:Host={host_ip},最多定义20个,总长度不超过4KB。 |
encrypted_user_data |
String |
用户自定义的name/value信息,用于需要加密的配置。 |
digest |
String |
函数代码SHA512 hash值,用于判断函数是否变化。 |
version |
String |
函数版本号,由系统自动生成,规则:vYYYYMMDD-HHMMSS(v+年月日-时分秒)。 |
image_name |
String |
函数版本的内部标识。 |
xrole |
String |
函数使用的权限委托名称,需要IAM支持,并在IAM界面创建委托,当函数需要访问其他服务时,必须提供该字段。 |
app_xrole |
String |
函数app使用的权限委托名称,需要IAM支持,并在IAM界面创建委托,当函数需要访问其他服务时,必须提供该字段。 |
description |
String |
函数描述。 |
version_description |
String |
函数版本描述。 |
last_modified |
String |
函数最后一次更新时间。 |
func_vpc |
FuncVpc object |
VPC配置 |
mount_config |
MountConfig object |
v2版本的函数版本列表。 |
strategy_config |
StrategyConfig object |
策略配置 |
dependencies |
Array of Dependency objects |
函数依赖代码包列表。 |
initializer_handler |
String |
函数初始化入口,规则:xx.xx,必须包含“. ”。 举例:对于node.js函数:myfunction.initializer,则表示函数的文件名为myfunction.js,初始化的入口函数名为initializer。 |
initializer_timeout |
Integer |
初始化超时时间,超时函数将被强行停止,范围1~300秒。 |
enterprise_project_id |
String |
企业项目ID,在企业用户创建函数时必填。 |
long_time |
Boolean |
是否允许进行长时间超时设置。 |
log_group_id |
String |
自定义日志查询组id |
log_stream_id |
String |
自定义日志查询流id |
type |
String |
v2表示为公测版本,v1为原来版本。 枚举值:
|
enable_dynamic_memory |
Boolean |
是否允许动态内存配置 |
function_async_config |
FunctionAsyncConfig object |
函数异步配置返回结构体。 |
参数 |
参数类型 |
描述 |
---|---|---|
vpc_name |
String |
虚拟私有云名称。 |
vpc_id |
String |
虚拟私有云唯一标识。 |
subnet_name |
String |
子网名称。 |
subnet_id |
String |
子网网络ID。 |
cidr |
String |
子网掩码。 |
gateway |
String |
网关。 |
参数 |
参数类型 |
描述 |
---|---|---|
mount_user |
MountUser object |
磁盘挂载用户配置。 |
func_mounts |
Array of FuncMounts objects |
磁盘挂载函数配置。 |
参数 |
参数类型 |
描述 |
---|---|---|
user_id |
Integer |
挂载用户ID,默认为-1。 缺省值:-1 |
user_group_id |
Integer |
挂载用户组ID,默认为-1。 缺省值:-1 |
参数 |
参数类型 |
描述 |
---|---|---|
mount_type |
String |
挂载类型(sfs/sfsTurbo/ecs)。 |
mount_resource |
String |
挂载资源ID(对应云服务ID)。 |
mount_share_path |
String |
远端挂载路径(例如192.168.0.12:/data)。 |
local_mount_path |
String |
函数访问路径。 |
参数 |
参数类型 |
描述 |
---|---|---|
concurrency |
Long |
枚举值:
|
concurrent_num |
Integer |
函数并发数 |
参数 |
参数类型 |
描述 |
---|---|---|
id |
String |
依赖包ID。 |
owner |
String |
依赖包拥有者。 |
link |
String |
依赖包在obs的存储地址。 |
runtime |
String |
FunctionGraph函数的执行环境 支持Node.js6.10、Python2.7、Python3.6、Java8、Go1.8、Node.js 8.10、C#.NET Core 2.0、C#.NET Core 2.1、PHP7.3。 Python2.7: Python语言2.7版本。 Python3.6: Pyton语言3.6版本。 Go1.8: Go语言1.8版本。 Java8: Java语言8版本。 Node.js6.10: Nodejs语言6.10版本。 Node.js8.10: Nodejs语言8.10版本。 C#(.NET Core 2.0): C#语言2.0版本。 C#(.NET Core 2.1): C#语言2.1版本。 C#(.NET Core 3.1): C#语言3.1版本。 Custom: 自定义运行时。 PHP7.3: Php语言7.3版本。 |
etag |
String |
依赖包唯一标志。 |
size |
Long |
依赖包大小。 |
name |
String |
依赖包名。 |
description |
String |
依赖包描述。 |
file_name |
String |
依赖包文件名。 |
参数 |
参数类型 |
描述 |
---|---|---|
max_async_event_age_in_seconds |
Integer |
消息最大存活时长,取值范围[60,86400]。单位:秒。 |
max_async_retry_attempts |
Integer |
异步调用失败后的最大重试次数,默认值为3。取值范围[0,8]。 |
destination_config |
FuncAsyncDestinationConfig object |
异步调用目标。 |
created_time |
String |
异步调用配置的创建时间。 |
last_modified |
String |
异步调用配置的最后更改时间。 |
参数 |
参数类型 |
描述 |
---|---|---|
on_success |
FuncDestinationConfig object |
当函数执行成功时,函数计算将调用该配置对应的目标。 |
on_failure |
FuncDestinationConfig object |
当函数执行失败(系统错误或函数内部错误)时,函数计算将调用该配置对应的目标。 |
参数 |
参数类型 |
描述 |
---|---|---|
destination |
String |
目标类型(非必填字段,一旦选定某种目标类型,需跟param参数一一对应)。
枚举值:
|
param |
String |
通知目标服务对应参数,json字符串。
|
状态码: 404
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码 |
error_msg |
String |
错误信息 |
请求示例
POST https://{functiongraph_endpoint}/v2/7aad83af3e8d42e99ac194e8419e2c9b/fgs/functions/urn:fss:xxxxxxx:7aad83af3e8d42e99ac194e8419e2c9b:function:default:test:latest/versions { "digest" : "", "version" : "1.0.0", "description" : "test publish version" }
响应示例
状态码: 200
OK
{ "func_urn" : "urn:fss:cn-north-7:46b6f338fc3445b8846c71dfb1fbd9e8:function:csharp:test2-1", "func_name" : "test2-1", "domain_id" : "14ee2e35****a7998b******aa24cabf", "namespace" : "46b6f338fc3445b8846c71dfb1fbd9e8", "project_name" : "cn-north-7", "package" : "csharp", "runtime" : "C#(.NET Core 2.1)", "description" : "test publish version", "timeout" : 3, "handler" : "fssExampleCsharp2.1::fssExampleCsharp21.Program::MyFunc", "memory_size" : 128, "cpu" : 300, "code_type" : "zip", "code_filename" : "fss_example_csharp2.1.zip", "code_size" : 6709, "digest" : "faa825575c45437cddd4e369bea69893bcbe195d478178462ad90984fe72993f3f59d15f41c5373f807f3e05fb9af322c55dabeb16565c386e402413458e6068", "version" : "1.0.0", "image_name" : "latest-191025153727@zehht", "last_modified" : "2019-10-25T15:37:27+08:00", "func_code" : { }, "strategy_config" : { "concurrency" : 0 } }
状态码: 404
Not Found
{ "error_code" : "FSS.1051", "error_msg" : "Not found the function" }
状态码
状态码 |
描述 |
---|---|
200 |
OK |
404 |
Not Found |
错误码
请参见错误码。
