Importing a Function
Function
This API is used to import a function.
URI
POST /v2/{project_id}/fgs/functions/import
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
project_id |
Yes |
String |
Tenant's project ID. |
Request Parameters
|
Parameter |
Mandatory |
Type |
Description |
|---|---|---|---|
|
file_code |
Yes |
String |
Function code. The code must be encoded using Base64. |
|
file_name |
Yes |
String |
File name. |
|
file_type |
Yes |
String |
File format. |
|
func_name |
Yes |
String |
Function name. |
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 |
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. |
|
depend_list |
Array of strings |
Dependency list. |
|
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. |
|
enterprise_project_id |
String |
Enterprise project ID. |
Example Requests
POST https://{functiongraph_endpoint}/v2/7aad83af3e8d42e99ac194e8419e2c9b/fgs/functions/import
{
"func_name" : "test_v1_2",
"handler" : "index.handler",
"memory_size" : 128,
"timeout" : 3,
"runtime" : "Node.js6.10",
"package" : "default",
"code_type" : "inline",
"code_filename" : "index.zip",
"enterprise_project_id" : "46b6f338fc3445b8846c71dfb1fbxxxx",
"func_code" : {
"file" : "UEsDBAoAAAAAAHYLfU2fZFKzsAAAALAAAAAIAAAAaW5kZXguanNleHBvcnRzLmhhbmRsZXIgPSBmdW5jdGlvbiAoZXZlbnQsIGNvbnRleHQsIGNhbGxiYWNrKSB7DQogICAgY29uc3QgZXJyb3IgPSBudWxsOw0KICAgIGNvbnN0IG91dHB1dCA9IGBIZWxsbyBtZXNzYWdlOiAke0pTT04uc3RyaW5naWZ5KGV2ZW50KX1gOw0KICAgIGNhbGxiYWNrKGVycm9yLCBvdXRwdXQpOw0KfVBLAQIeAwoAAAAAAHYLfU2fZFKzsAAAALAAAAAIAAAAAAAAAAAAAAC0gQAAAABpbmRleC5qc1BLBQYAAAAAAQABADYAAADWAAAAAAA="
}
}
Example Responses
Status code: 200
OK
{
"func_urn" : "urn:fss:cn-north-7:46b6f338fc3445b8846c71dfb1fbd9e8:function:default:test_v1_2",
"func_name" : "test_v1_2",
"domain_id" : "14ee2e35****a7998b******aa24cabf",
"namespace" : "46b6f338fc3445b8846c71dfb1fbd9e8",
"project_name" : "cn-north-7",
"package" : "default",
"runtime" : "Node.js6.10",
"timeout" : 3,
"handler" : "index.handler",
"memory_size" : 128,
"cpu" : 300,
"code_type" : "zip",
"code_filename" : "index.zip",
"code_size" : 6709,
"digest" : "faa825575c45437cddd4e369bea69893bcbe195d478178462ad90984fe72993f3f59d15f41c5373f807f3e05fb9af322c55dabeb16565c386e402413458e6068",
"version" : "latest",
"image_name" : "latest-191025153727@zehht",
"last_modified" : "2019-10-25T15:37:27+08:00",
"strategy_config" : {
"concurrency" : -1
},
"enterprise_project_id" : "46b6f338fc3445b8846c71dfb1fbxxxx"
}
Status code: 409
Conflict
{
"error_code" : "FSS.1061",
"error_msg" : "The function has existed"
}
Status Codes
|
Status Code |
Description |
|---|---|
|
200 |
OK |
|
409 |
Conflict |
Error Codes
See Error Codes.
Last Article: Creating a Function
Next Article: Exporting a Function
Did this article solve your problem?
Thank you for your score!Your feedback would help us improve the website.