The function model of FunctionGraph is as follows:
{
"functions": [
{
"func_urn": "urn:fss:xxxxxxxxx:7aad83af3e8d42e99ac194e8419e2c9b:function:default:test",
"func_name": "test",
"domain_id": "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_url": "",
"code_filename": "index.js",
"code_size": 272,
"user_data": "",
"digest": "decbce6939297b0b5ec6d1a23bf9c725870f5e69fc338a89a6a4029264688dc26338f56d08b6535de47f15ad538e22ca66613b9a46f807d50b687bb53fded1c6",
"version": "latest",
"image_name": "latest-5qe8e",
"xrole": "cff",
"app_xrole": null,
"description": "111",
"version_description": "",
"last_modified": "2018-03-28T11:30:32+08:00",
"func_code": {
"file": "",
"link": ""
},
"func_vpc":null,
"mount_config":null,
"depend_list": null,
"strategy_config": {
"concurrency": -1
},
"extend_config": "",
"dependencies": null,
"initializer_handler": "index.initializer",
"initializer_timeout": 3
}
],
"next_marker": 45
}
Table 1 describes the parameters in the function model.
Parameter |
Description |
|---|---|
func_urn |
Function URN. |
func_name |
Function name. |
domain_id |
Tenant name. |
namespace |
Project ID. |
project_name |
Project name. |
package |
Group to which the function belongs. This field is defined to group functions. |
runtime |
Environment for executing the function. FunctionGraph supports 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), and PHP 7.3. |
timeout |
Maximum duration the function can be executed. Value range: 3sā900s. |
handler |
Handler of the function in the format of "xx.xx". It must contain a period (.). For example, for Node.js function myfunction.handler, the file name is myfunction.js, and the entry point function is handler. |
memory_size |
Memory (MB) consumed by the function. Options: 128, 256, 512, 768, 1024, 1280, 1536, 1792, 2048, 2560, 3072, 3584, and 4096. |
cpu |
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 |
Function code type. Options:
|
code_url |
|
code_filename |
Function file name.
|
code_size |
Code size in bytes. |
user_data |
Name/Value information defined for the function. For example, if a function needs to access a host, define Host={host_ip}. You can define a maximum of 20 such parameters, and their total length cannot exceed 4 KB. |
digest |
SHA512 hash value of function code, which is used to determine whether the function is changed. |
version |
Function version, which is automatically generated by the system. The version name is in the format of "vYYYYMMDD-HHMMSS" (v+year/month/day-hour/minute/second). |
image_name |
Internal identifier of a function version. |
xrole |
Agency used by the function. You need to create an agency on the Identity and Access Management (IAM) console. This field is mandatory when a function needs to access other services. |
app_xrole |
Agency used by the function app. You need to create an agency on the IAM console. This field is mandatory when a function needs to access other services. |
description |
Description of the function. |
version_description |
Description of the function version. |
last_modified |
Time when the function was last updated. |
func_code |
Function code. See Table 2. |
depend_list |
Dependency list. |
strategy_config |
Function policy configuration. See Table 3. |
extend_config |
Function extension configuration. |
dependencies |
Dependency list. See Table 5. |
initializer_handler |
Initializer of the function in the format of "xx.xx". It must contain a period (.). For example, for Node.js function myfunction.initializer, the file name is myfunction.js, and the initialization function is initializer. |
initializer_timeout |
Maximum duration the function can be initialized. Value range: 1sā300s. |
func_vpc |
Virtual Private Cloud (VPC) configuration. See Table 4. |
mount_config |
File system configuration. See Table 6. |
Parameter |
Description |
|---|---|
file |
Function code. Nothing will be returned. |
link |
Function code link. Nothing will be returned. |
Parameter |
Description |
|---|---|
concurrency |
|
Parameter |
Type |
Mandatory |
Description |
|---|---|---|---|
vpc_name |
String |
- |
VPC name. |
vpc_id |
String |
Yes when func_vpc is not empty. |
VPC ID. |
subnet_name |
String |
- |
Subnet name. |
subnet_id |
String |
Yes when func_vpc is not empty. |
Subnet ID. |
cidr |
String |
- |
Subnet mask. |
gateway |
String |
- |
Gateway. |
Parameter |
Type |
Mandatory |
Description |
|---|---|---|---|
owner |
String |
- |
Domain ID of the dependency owner. |
link |
String |
- |
URL of the dependency package on OBS. |
runtime |
String |
- |
Language of the dependency package (only used for classification purposes). |
etag |
String |
- |
MD5 value of the dependency package. |
size |
Int |
- |
Size of the dependency package. |
name |
String |
- |
Name of the dependency package. |
description |
String |
- |
Description of the dependency package. |
file_name |
String |
- |
File name of the dependency package (ZIP). |
Parameter |
Type |
Mandatory |
Description |
|---|---|---|---|
mount_user |
- |
File system user configuration. |
|
func_mounts |
- |
File system list. |
Parameter |
Type |
Mandatory |
Description |
|---|---|---|---|
user_id |
Int |
Yes when mount_user is not empty. |
User ID, which is an integer from ā1 to 65,534, excluding 0, 1000, and 1002. |
user_group_id |
Int |
Yes when mount_user is not empty. |
User group ID, which is an integer from ā1 to 65,534, excluding 0, 1000, and 1002. |
Parameter |
Type |
Mandatory |
Description |
|---|---|---|---|
mount_type |
String |
Yes when func_mounts is not empty. |
Mount type. Options: ecs. |
mount_resource |
String |
Yes when func_mounts is not empty. |
ID of the mounted resource (corresponding cloud service). |
mount_share_path |
String |
Yes when mount_type is set to ecs. |
Remote mount path. Example: 192.168.0.12:/data. |
local_mount_path |
String |
Yes when func_mounts is not empty. |
Function access path. |
The format of a function URN is as follows:
urn:fss:<region_id>:<project_id>:function:<package>:<function_name>[:<version>|:!<alias>]
A function URN is divided into eight fields by colons. The value of region_id is included in the system configuration. You can set this parameter to the same as that in the backend. The content in the brackets ([]) is a function version or alias. If you enter an alias, add an exclamation mark (!) in front of it for easy identification.
When a function URN is used as an API parameter, you can provide it in a simplified format as follows: