Function Model
Function Model
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 }
Description
Table 1 describes the parameters in the function model.
Parameter |
Description |
---|---|
func_urn |
Function URN. |
func_name |
Function name. |
domain_id |
Tenant name. |
namespace |
Tenant's project ID. |
project_name |
Tenant's 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, a non-0 integer from –1 to 65534. |
user_group_id |
Int |
Yes when mount_user is not empty. |
User group ID, a non-0 integer from –1 to 65534. |
Parameter |
Type |
Mandatory |
Description |
---|---|---|---|
mount_type |
String |
Yes when func_mounts is not empty. |
Mount type. Options: sfsTurbo and 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:
- 1 field: <function_name>. project_id is obtained from a token, package is default, and version is latest.
- 2 fields: <package>:<function_name>. project_id is obtained from a token, and version is latest.
- 3 fields: <project_id>:<package>:<function_name>. version is latest.
- 4 fields: <project_id>:<package>:<function_name>:<Version or Alias>.
- 7 fields: urn:fss:<region_id>:<project_id>:function:<package>:<function_name>. version is latest.
- 8 fields: urn:fss:<region_id>:<project_id>:function:<package>:<function_name>:<Version or Alias>.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot