Querying a Function List

Function

This API is used to query a function list.

URI

GET /v2/{project_id}/fgs/functions

Table 1 Path parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Tenant's project ID.

Table 2 Query parameters

Parameter

Mandatory

Type

Description

marker

No

String

Final record queried last time.

Default: 0

maxitems

No

String

Maximum number of functions that can be queried each time. If this parameter is not set or is 0 or greater than 400, the default value 400 is used. If this parameter is less than 0, a message indicating a parameter error is returned.

Default: 400

package_name

No

String

App name.

Request Parameters

None

Response Parameters

Status code: 200

Table 3 Response body parameters

Parameter

Type

Description

count

Integer

Total number of functions that match the query conditions.

functions

Array of Function objects

Function list.

next_marker

Long

Next read location.

Table 4 Function

Parameter

Type

Description

func_urn

String

Function URN.

func_name

String

Function name.

domain_id

String

Tenant's domain ID.

namespace

String

Tenant's project ID.

project_name

String

Project name.

package

String

App name.

runtime

String

Function runtime.

Enumeration values:

  • Python2.7

  • Python3.6

  • Go1.8

  • Go1.x

  • Java8

  • Node.js6.10

  • Node.js8.10

  • Node.js10.16

  • Node.js12.13

  • C#(.NET Core 2.0)

  • C#(.NET Core 2.1)

  • C#(.NET Core 3.1)

  • Custom

  • PHP7.3

timeout

Long

Timeout for function execution. Unit: second.

Minimum: 3

Maximum: 900

handler

String

Function handler.

memory_size

Long

Memory consumed by the function. Unit: MB.

Minimum: 128

cpu

Long

Number of CPU millicores used by the function (1 core = 1000 millicores). The value of this field is proportional to that of MemorySize. By default, 100 CPU millicores are required for 128 MB memory. The value is calculated as follows: Memory/128 x 100 + 200 (basic CPU millicores).

code_type

String

Code entry mode. inline: Online editing. This mode is supported for Node.js*, PHP7.3, Python2.7, Python3.6, and custom runtimes. zip: Upload of a local ZIP package. This mode is supported for all runtimes. jar: Upload of a local JAR package. This mode is supported for the Java 8 runtime. obs: Upload of a file through the OBS console. This mode is supported for all runtimes.

Enumeration values:

  • inline

  • zip

  • obs

  • jar

code_url

String

When code_type is set to obs, this parameter indicates the address of a function code package in OBS.

code_filename

String

Function file name. When code_type is set to zip or jar, this parameter is required. When code_type is set to obs or inline, this parameter is not required.

code_size

Long

Code size. Unit: KB.

user_data

String

Name/Value defined for the function.

digest

String

Unique function hash value.

version

String

Function version.

image_name

String

Unique version number for internal use.

xrole

String

Name of the agency used by the function. You can create an agency in IAM. This parameter is mandatory if the function needs to access other cloud services.

app_xrole

String

Name of the agency used by the function. You can create an agency in IAM. This parameter is mandatory if the function needs to access other cloud services.

description

String

Description of the function.

version_description

String

Description of the function version.

last_modified

String

Latest update time.

strategy_config

StrategyConfig object

Function policy configuration.

extend_config

String

Function extension configuration.

initializer_handler

String

Initializer of the function in the format of "xx.xx". It must contain a period (.).

initializer_timeout

Integer

Maximum duration the function can be initialized. Value range: 1s to 300s.

func_vpc

FuncVpc object

VPC configuration.

mount_config

MountConfig object

Mounting configuration.

enterprise_project_id

String

Enterprise project ID.

concurrency

Long

Enabling status of a function.

dependencies

Array of Dependency objects

Function dependency list.

depend_list

Array of strings

Dependency ID list.

Table 5 StrategyConfig

Parameter

Type

Description

concurrency

Long

0: The function is disabled. -1: The function is enabled.

Enumeration values:

  • 0

  • -1

Table 6 FuncVpc

Parameter

Type

Description

vpc_name

String

VPC name.

vpc_id

String

VPC ID.

subnet_name

String

Subnet name.

subnet_id

String

Subnet ID.

cidr

String

Subnet mask.

gateway

String

Gateway.

Table 7 MountConfig

Parameter

Type

Description

mount_user

MounUser object

User configuration for mounting.

func_mounts

Array of FuncMounts objects

Function configuration for mounting.

Table 8 MounUser

Parameter

Type

Description

user_id

Integer

User ID.

user_group_id

Integer

User group ID.

Table 9 FuncMounts

Parameter

Type

Description

id

String

Unique ID.

mount_type

String

Mount type. Options: sfs, sfsTurbo, and ecs.

mount_resource

String

ID of the mounted resource (corresponding cloud service).

mount_share_path

String

Remote mount path. Example: 192.168.0.12:/data.

local_mount_path

String

Function access path.

status

String

Status. Options: ACTIVE and DISABLED.

Enumeration values:

  • ACTIVE

  • DISABLED

Table 10 Dependency

Parameter

Type

Description

id

String

Dependency ID.

owner

String

Dependency owner.

link

String

URL of the dependency in the OBS console.

runtime

String

Runtime.

etag

String

Unique ID of the dependency.

size

String

Size of the dependency.

name

String

Name of the dependency.

description

String

Description of the dependency.

file_name

String

File name of the dependency.

Example Requests

GET https://{functiongraph_endpoint}/v2/7aad83af3e8d42e99ac194e8419e2c9b/fgs/functions?marker=0&maxitems=400

Example Responses

Status code: 200

OK

{
  "count" : 1,
  "functions" : [ {
    "func_urn" : "urn:fss:cn-north-4:46b6f338fc3445b8846c71dfb1fbd9e8:function:csharp:test2-1",
    "func_name" : "test2-1",
    "domain_id" : "14ee2e3501124efcbc*******a24cabf",
    "namespace" : "46b6f338fc3445b8846c71dfb1fbd9e8",
    "project_name" : "cn-north-7",
    "package" : "csharp",
    "runtime" : "C#(.NET Core 2.1)",
    "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" : "latest",
    "image_name" : "latest-191025153727@zehht",
    "last_modified" : "2019-10-25T15:37:27+08:00",
    "func_code" : { },
    "strategy_config" : {
      "concurrency" : 0
    }
  } ],
  "next_marker" : 2
}

Status code: 403

Forbidden

{
  "error_code" : "FSS.0403",
  "error_msg" : "namespace and token mismatch"
}

Status Codes

Status Code

Description

200

OK

403

Forbidden

Error Codes

See Error Codes.