更新时间:2023-07-06 GMT+08:00

获取函数列表

功能介绍

获取函数列表

URI

GET /v2/{project_id}/fgs/functions

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

租户项目 ID,获取方式请参见获取项目ID

表2 Query参数

参数

是否必选

参数类型

描述

marker

String

上一次查询到的最后的记录位置。

maxitems

String

每次查询获取的最大函数记录数量 最大值:400 如果不提供该值或者提供的值大于400或等于0,则使用默认值:400 如果该值小于0,则返回参数错误。

package_name

String

应用名称。

请求参数

表3 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。

通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。

响应参数

状态码: 200

表4 响应Body参数

参数

参数类型

描述

functions

Array of ListFunctionResult objects

函数列表。

next_marker

Integer

函数下次记录读取位置。

count

Long

满足查询条件的函数总数。

表5 ListFunctionResult

参数

参数类型

描述

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函数的执行环境 Python2.7: Python语言2.7版本。 Python3.6: Pyton语言3.6版本。 Python3.9: Python语言3.9版本。 Go1.8: Go语言1.8版本。 Go1.x: Go语言1.x版本。 Java8: Java语言8版本。 Java11: Java语言11版本。 Node.js6.10: Nodejs语言6.10版本。 Node.js8.10: Nodejs语言8.10版本。 Node.js10.16: Nodejs语言10.16版本。 Node.js12.13: Nodejs语言12.13版本。 Node.js14.18: Nodejs语言14.18版本。 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版本。 http: HTTP函数。

枚举值:

  • Java8

  • Java11

  • Node.js6.10

  • Node.js8.10

  • Node.js10.16

  • Node.js12.13

  • Node.js14.18

  • Python2.7

  • Python3.6

  • Go1.8

  • Go1.x

  • C#(.NET Core 2.0)

  • C#(.NET Core 2.1)

  • C#(.NET Core 3.1)

  • Custom

  • PHP7.3

  • Python3.9

  • http

timeout

Integer

函数执行超时时间,超时函数将被强行停止,范围3~900秒,可以通过白名单配置延长到12小时,具体可以咨询华为云函数工作流服务进行配置

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。

gpu_memory

Integer

函数消耗的显存,只支持自定义运行时与自定义镜像函数配置GPU。 单位MB。 取值范围为:1024、2048、3072、4096、5120、6144、7168、8192、9216、10240、11264、12288、13312、14336、15360、16384。 最小值为1024,最大值为16384。

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函数。

枚举值:

  • inline

  • zip

  • obs

  • jar

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

函数描述。

last_modified

String

函数最后一次更新时间。

func_vpc_id

String

用户的vpcid。

strategy_config

StrategyConfig object

函数策略配置。

extend_config

String

函数扩展配置。

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为原来版本。

枚举值:

  • v1

  • v2

fail_count

Integer

函数最近1天内执行失败的次数。

is_bridge_function

Boolean

是否为bridge函数

bind_bridge_funcUrns

Array of strings

绑定bridge函数的urn列表

表6 StrategyConfig

参数

参数类型

描述

concurrency

Integer

单函数最大实例数,v1取值0和-1,v2取值-1到1000 -1代表该函数实例数无限制 0代表该函数被禁用

concurrent_num

Integer

单实例最大并发数,v2版本才支持,取值-1到1000

状态码: 401

表7 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误信息

状态码: 403

表8 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误信息

状态码: 404

表9 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误信息

状态码: 500

表10 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误信息

请求示例

当前租户函数列表。

GET https://{Endpoint}/v2/{project_id}/fgs/functions?marker=0&maxitems=400

响应示例

状态码: 200

ok

{
  "functions" : [ {
    "func_urn" : "urn:fss:xxxxxxxxx:7aad83af3e8d42e99ac194e8419e2c9b:function:default:test",
    "func_name" : "test",
    "domain_id" : "cff01_hk",
    "namespace" : "7aad83af3e8d42e99ac194e8419e2c9b",
    "project_name" : "xxxxxxxx",
    "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",
    "xrole" : "cff",
    "image_name" : "latest-191025153727@zehht",
    "last_modified" : "2019-10-25 15:37:27",
    "strategy_config" : {
      "concurrency" : 0
    },
    "initializer_handler" : "index.initializer",
    "initializer_timeout" : 3,
    "fail_count" : 12
  } ],
  "next_marker" : 4
}

状态码

状态码

描述

200

ok

401

Unauthorized 鉴权失败。

403

Forbidden 没有操作权限。

404

Not Found 找不到资源。

500

Internal Server Error 服务内部错误。

错误码

请参见错误码