Modifying the Metadata of a Function
Function
This API is used to modify the metadata of a function.
URI
PUT /v2/{project_id}/fgs/functions/{function_urn}/config
Table 1 describes the URI parameters.
Parameter | Type | Mandatory | Description |
---|---|---|---|
project_id | String | Yes | Project ID. |
function_urn | String | Yes | Function URN. See Function Model. |
Request
Table 2 describes the request parameters.
Parameter | Type | Mandatory | Description |
---|---|---|---|
runtime | String | No | 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. |
code_type | String | Yes | Code type of a function. See Table 1. |
code_url | String | No | Address of a function code package in Object Storage Service (OBS). This parameter is mandatory when code_type is set to obs. |
description | String | No | Description of the function. |
handler | String | No | Entry point of the function. See Table 1. |
memory_size | Int | No | Memory (MB) consumed by the function. Options: 128, 256, 512, 768, 1024, 1280, 1536, 1792, 2048, 2560, 3072, 3584, and 4096. |
timeout | Int | No | Timeout allowed for the function. |
user_data | String | No | Name/Value information defined for the function. |
xrole | String | No | This parameter is mandatory if the function needs to access other cloud services. |
app_xrole | *String | No | This parameter is mandatory if the function needs to access apps in other cloud services. |
initializer_handler | String | No | Initializer of the function. |
initializer_timeout | Int | No | Maximum duration the function can be initialized. Value range: 1s–300s. |
func_vpc. subnet_id | String | No | Virtual Private Cloud (VPC) subnet ID. |
func_vpc.vpc_id | String | No | VPC ID. |
mount_config | mount_config | No | File system configuration. See Table 6. |
encrypted_user_data | String | No | Encryption settings. |
Response
Table 3 describes the response parameters.
Parameter | Type | Description |
---|---|---|
func_urn | String | Function URN. |
func_name | String | Function name. |
domain_id | String | Domain ID. |
namespace | String | Project ID. |
project_name | String | Project name. |
package | String | Group to which the function belongs. This field is defined to group functions. |
runtime | String | 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 | Int | Maximum duration the function can be executed. Value range: 3s–900s. |
handler | String | 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 | Int | Memory (MB) consumed by the function. Options: 128, 256, 512, 768, 1024, 1280, 1536, 1792, 2048, 2560, 3072, 3584, and 4096. |
cpu | Int | 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 | Function code type. Options:
|
code_url | String |
|
code_filename | String | Function file name.
|
code_size | Int64 | Code size in bytes. |
user_data | String | 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 | String | SHA512 hash value of function code, which is used to determine whether the function is changed. |
version | String | 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 | String | Internal identifier of a function version. |
xrole | String | 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 | *String | 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 | String | Description of the function. |
version_description | String | Description of the function version. |
last_modified | String | Time when the function was last updated. |
func_code | String | Function code. See Table 4. |
depend_list | []String | Dependency list. |
strategy_config | String | Function policy configuration. See Table 4. |
extend_config | String | Function extension configuration. |
dependencies | []*String | Dependency code package. |
initializer_handler | String | 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 | Int | Maximum duration the function can be initialized. Value range: 1s–300s. |
func_vpc | func_vpc | Virtual Private Cloud (VPC) configuration. See Table 6. |
mount_config | mount_config | File system configuration. See Table 6. |
encrypted_user_data | String | Encryption settings. |
Parameter | Type | Mandatory | Description |
---|---|---|---|
concurrency | Int | Yes | 0: The function is disabled. -1: The function is enabled. |
Example
Example request
PUT/v2/7aad83af3e8d42e99ac194e8419e2c9b/fgs/functions/urn:fss:xxxxxxxxx:7aad83af3e8d42e99ac194e8419e2c9b:function:default:test:latest/config HTTP/1.1{"description": "","handler": "test.handler","memory_size": 128,"timeout": 3,"runtime": "Python","user_data": "","code_type": "inline","func_code": {"file": "aW1wb3J0IGpzb24KZGVmIGhhbmRsZXIgKGV2ZW50LCBjb250ZXh0KToKICAgIG91dHB1dCA9ICdIZWxsbyBtZXNzYWdlOiAnICsganNvbi5kdW1wcyhldmVudCkKICAgIHJldHVybiBvdXRwdXQ="},"xrole": "cffservice"}
Example response
The format of the response for a successful request is as follows:
HTTP/1.1 200{"func_urn": "urn:fss:xxxxxxxx:7aad83af3e8d42e99ac194e8419e2c9b:function:default:test","func_name": "test","user_domain": "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","image_name": "latest-5qe8e","xrole": "cff","last_modified": "2018-03-28T11:30:32+08:00","strategy_config": {"concurrency": -1},"initializer_handler": "index.initializer","initializer_timeout": 3}
The format of the response for a failed request is as follows:
HTTP/1.1 404 Not Found{"error_code": "FSS.1051","error_msg": "Not found the function"}
Status Code
See Status Codes.
- Function
- URI
- Request
- Response
- Example
- Status Code