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.