获取指定函数的版本列表
功能介绍
获取指定函数的版本列表。
URI
GET /v2/{project_id}/fgs/functions/{function_urn}/versions?marker={marker}&maxitems={maxitems} HTTP/1.1
URI参数说明如表1所示。
|
参数 |
类型 |
必选 |
说明 |
|---|---|---|---|
|
project_id |
String |
必选 |
Project ID。 |
|
function_urn |
String |
必选 |
函数的URN,请参考FunctionGraph函数模型。 |
|
marker |
String |
必选 |
上一次查询到的最后的记录位置。 |
|
maxitems |
String |
必选 |
每次查询获取的最大函数记录数量。 |
请求消息
无
响应消息
|
名称 |
参数类型 |
说明 |
|---|---|---|
|
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.js 6.10、Node.js 8.10、Node.js 10.16、Node.js 12.13、Python 2.7、Python 3.6、Java 8、Go 1.8、C#.NET Core 2.0、C#.NET Core 2.1、C#.NET Core 3.1和PHP 7.3。 |
|
timeout |
Int |
函数执行超时时间,超时函数将被强行停止,范围3 ~ 900秒。 |
|
handler |
String |
函数执行入口,规则:xx.xx,必须包含“. ”。 举例:对于Node.js函数:myfunction.handler,则表示函数的文件名为myfunction.js,执行的入口函数名为handler。 |
|
memory_size |
Int |
函数消耗的内存,单位M。 取值范围为:128、256、512、768、1024、1280、1536、1792、2048、2560、3072、3584、4096。最小值为128,最大值为4096。 |
|
cpu |
Int |
函数占用的CPU资源,单位为millicore(1 core=1000 millicores)。 取值与MemorySize成比例,默认是128M内存占0.1个核(100 millicores),函数占用的CPU为基础CPU:200 millicores,再加上内存按比例占用的CPU,计算方法:内存/128 * 100 + 200。 |
|
code_type |
String |
函数代码类型,取值有4种:
|
|
code_url |
String |
|
|
code_filename |
String |
函数的文件名。
|
|
code_size |
Int64 |
函数大小,单位:字节。 |
|
user_data |
String |
用户自定义的name/value信息,在函数中使用的参数。 举例:如函数要访问某个主机,可以设置自定义参数:Host={host_ip},最多定义20个,总长度不超过4KB。 |
|
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_code |
String |
函数代码,请参考表4。 |
|
depend_list |
[]String |
依赖包列表。 |
|
strategy_config |
String |
函数策略配置,请参考表3。 |
|
extend_config |
String |
函数扩展配置。 |
|
dependencies |
[]*String |
依赖代码包。请参考表5 |
|
initializer_handler |
String |
函数初始化入口,规则:xx.xx,必须包含“. ”。 举例:对于node.js函数:myfunction.initializer,则表示函数的文件名为myfunction.js,初始化的入口函数名为initializer。 |
|
initializer_timeout |
Int |
初始化超时时间,超时函数将被强行停止,范围1 ~ 300秒。 |
|
func_vpc |
*String |
VPC配置,请参考表6。 |
|
mount_config |
*String |
磁盘挂载配置,请参考表7。 |
示例
请求示例
GET /v2/7aad83af3e8d42e99ac194e8419e2c9b/fgs/functions/urn:fss:xxxxxxxxxx:7aad83af3e8d42e99ac194e8419e2c9b:function:default:test:latest/versions?marker=1&maxtems=10 HTTP/1.1
响应示例
成功时的返回格式:
HTTP/1.1 200
{
"versions": [
{
"func_urn": "urn:fss:xxxxxxxxxxx:7aad83af3e8d42e99ac194e8419e2c9b:function:default:test",
"func_name": "test",
"user_domain": "cff01_hk",
"namespace": "7aad83af3e8d42e99ac194e8419e2c9b",
"project_name": "xxxxxxxxxx",
"package": "default",
"runtime": "Node.js6.10",
"timeout": 3,
"handler": "test.handler",
"memory_size": 128,
"cpu": 300,
"code_type": "inline",
"code_filename": "index.js",
"code_size": 272,
"digest": "decbce6939297b0b5ec6d1a23bf9c725870f5e69fc338a89a6a4029264688dc26338f56d08b6535de47f15ad538e22ca66613b9a46f807d50b687bb53fded1c6",
"version": "latest",
"image_name": "latest-5qe8e",
"xrole": "cff",
"description": "111",
"last_modified": "2018-03-28T11:30:32+08:00",
"func_code": {
},
"strategy_config": {
"concurrency": -1
},
"initializer_handler": "index.initializer",
"initializer_timeout": 3
}
],
"next_marker": 1
}
失败时的返回格式:
HTTP/1.1 404 Not Found
{
"error_code": "FSS.1051",
"error_msg": "Not found the function"
}
状态码
状态码请参见状态码。