Publishing a Function Version
Function
This API is used to publish a function version. You can publish a version based on the code of the LATEST version. The version name can be automatically generated. A function can have a maximum of 10 versions.
URI
POST /v2/{project_id}/fgs/functions/{function_urn}/versions
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
function_urn |
Yes |
String |
Function URN. |
|
project_id |
Yes |
String |
Tenant's project ID. |
Request Parameters
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
version |
No |
String |
Name of the version to be published. If this parameter is not specified, the current time in the format of "yyyymmdd-HHMMSS" will be used. |
|
description |
No |
String |
Description of the function version. |
|
digest |
No |
String |
Code digest of the function for which you want to publish a version. If this parameter is not specified, a version will be published using the code of the LATEST version. |
Response Parameters
Status code: 200
|
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:
|
|
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:
|
|
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. |
|
Parameter |
Type |
Description |
|---|---|---|
|
concurrency |
Long |
0: The function is disabled. -1: The function is enabled. Enumeration values:
|
|
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. |
|
Parameter |
Type |
Description |
|---|---|---|
|
mount_user |
MounUser object |
User configuration for mounting. |
|
func_mounts |
Array of FuncMounts objects |
Function configuration for mounting. |
|
Parameter |
Type |
Description |
|---|---|---|
|
user_id |
Integer |
User ID. |
|
user_group_id |
Integer |
User group ID. |
|
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:
|
|
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
POST https://{functiongraph_endpoint}/v2/7aad83af3e8d42e99ac194e8419e2c9b/fgs/functions/urn:fss:xxxxxxx:7aad83af3e8d42e99ac194e8419e2c9b:function:default:test:latest/versions
{
"digest" : "",
"version" : "1.0.0",
"description" : "test publish version"
}
Example Responses
Status code: 200
OK
{
"func_urn" : "urn:fss:cn-north-7:46b6f338fc3445b8846c71dfb1fbd9e8:function:csharp:test2-1",
"func_name" : "test2-1",
"domain_id" : "14ee2e35****a7998b******aa24cabf",
"namespace" : "46b6f338fc3445b8846c71dfb1fbd9e8",
"project_name" : "cn-north-7",
"package" : "csharp",
"runtime" : "C#(.NET Core 2.1)",
"description" : "test publish version",
"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" : "1.0.0",
"image_name" : "latest-191025153727@zehht",
"last_modified" : "2019-10-25T15:37:27+08:00",
"func_code" : { },
"strategy_config" : {
"concurrency" : 0
}
}
Status code: 404
Not Found
{
"error_code" : "FSS.1051",
"error_msg" : "Not found the function"
}
Status Codes
|
Status Code |
Description |
|---|---|
|
200 |
OK |
|
404 |
Not Found |
Error Codes
See Error Codes.
Last Article: Querying the Versions of a Function
Next Article: Setting the Number of RIs
Did this article solve your problem?
Thank you for your score!Your feedback would help us improve the website.