Creates a function.
Authorization information
Request parameters
Parameter | Type | Required | Description | Example |
---|---|---|---|---|
serviceName | string | Yes | The name of the service. | serviceName |
X-Fc-Account-Id | string | No | The ID of your Alibaba Cloud account. | 188077086902**** |
function | object | No | The definition of the function. | |
code | Code | No | The code of the function. The code must be packaged into a ZIP file. Choose code or customContainerConfig for the function. | |
customContainerConfig | CustomContainerConfig | No | The configurations of the custom container runtime. After you configure the custom container runtime, Function Compute can execute the function in a container created from a custom image. Choose code or customContainerConfig for the function. | |
layers | array | No | The information about layers. NoteMultiple layers are merged based on the order of array subscripts. The content of a layer with a smaller subscript overwrites the file that has the same name as a layer with a larger subscript. | |
string | No | The name of the layer. | layerName | |
description | string | No | The description of the function. | function-description |
functionName | string | Yes | The name of the function. The name can contain letters, digits, underscores (_), and hyphens (-) only. The name cannot start with a digit or a hyphen (-). The name must be 1 to 64 characters in length. | functionName |
handler | string | Yes | The handler of the function. The format varies based on the programming language. For more information, see Function handlers. | index.handler |
initializationTimeout | integer | No | The timeout period for the execution of the Initializer hook. Unit: seconds. Default value: 3. Valid values: 1 to 300. When this period expires, the execution of the Initializer hook is terminated. | 60 |
initializer | string | No | The handler of the Initializer hook. For more information, see Initializer hooks. | index.initializer |
memorySize | integer | No | The memory size for the function. Unit: MB. The value must be a multiple of 64. The memory size varies based on the function instance type. For more information, see Instance types. | 512 |
runtime | string | Yes | The runtime environment of the function. Valid values: nodejs16, nodejs14, nodejs12, nodejs10, nodejs8, nodejs6, nodejs4.4, python3.9, python3, python2.7, java11, java8, go1, php7.2, dotnetcore3.1, dotnetcore2.1, custom and custom-container. For more information, see Supported function runtime environments. | python3.9 |
timeout | integer | No | The timeout period for the execution of the function. Unit: seconds. Default value: 3. Minimum value: 1. When the period ends, the execution of the function is terminated. | 60 |
caPort | integer | No | The port on which the HTTP server listens for the custom runtime or custom container runtime. | 9000 |
environmentVariables | object | No | The environment variables that you configured for the function. You can obtain the values of the environment variables from the function. For more information, see Overview. | |
string | No | The environment variables that are configured for the function. | {"key":"value"} | |
instanceConcurrency | integer | No | The number of requests that can be concurrently processed by a single instance. | 10 |
instanceSoftConcurrency | integer | No | The soft concurrency of the instance. You can use this parameter to implement graceful scale-up of instances. If the number of concurrent requests on an instance is greater than the value of soft concurrency, an instance scale-up is triggered. For example, if your instance requires a long time to start, you can specify a suitable soft concurrency to start the instance in advance. The value must be less than or equal to that of the instanceConcurrency parameter. | 5 |
instanceType | string | No | The instance type of the function. Valid values:
| e1 |
customRuntimeConfig | CustomRuntimeConfig | No | The configurations of the custom runtime. | |
instanceLifecycleConfig | InstanceLifecycleConfig | No | The lifecycle configurations of the instance. | |
customDNS | CustomDNS | No | The custom Domain Name System (DNS) configurations of the function. | |
customHealthCheckConfig | CustomHealthCheckConfig | No | The custom health check configurations of the function. This parameter is applicable to only custom runtimes and custom containers. | |
cpu | float | No | The number of vCPUs of the function. The value must be a multiple of 0.05. | 1.5 |
diskSize | integer | No | The disk size of the function. Unit: MB. Valid values: 512 and 10240. | 512 |
gpuMemorySize | integer | No | The GPU memory capacity for the function. Unit: MB. The value must be a multiple of 1,024. | 2048 |
X-Fc-Code-Checksum | string | No | The CRC-64 value of the function code package. | 1506052139770049xxxx |
X-Fc-Date | string | No | The time on which the function is invoked. The format of the value is: EEE,d MMM yyyy HH:mm:ss GMT. | Wed, 11 May 2022 09:00:00 GMT |
X-Fc-Trace-Id | string | No | The trace ID of the request. The value is the same as that of the requestId parameter in the response. | test-trace-id |
Response parameters
Examples
Sample success responses
JSON
format
{
"codeChecksum": "5434025278388143772",
"codeSize": 1024,
"createdTime": "2016-08-15T15:00:00.000+0000",
"customContainerConfig": {
"args": "[\"-arg1\", \"value1\"]",
"command": "[\"/code/myserver\"]",
"image": "registry-vpc.cn-hangzhou.aliyuncs.com/fc-demo/helloworld:v1beta1",
"accelerationType": "Default",
"instanceID": "cri-xxxxxxxxxx",
"webServerMode": true
},
"layers": [
"md5#layername#version"
],
"description": "This is a demo hello world function",
"functionId": "2d28e0e9-9ba5-4eed-8b1a-d3d9cd24\n****",
"functionName": "demo-function",
"handler": "index.handler",
"lastModifiedTime": "2016-08-15T17:00:00.000+0000",
"memorySize": 512,
"runtime": "python3.9",
"timeout": 10,
"initializationTimeout": 60,
"initializer": "index.handler",
"caPort": 9000,
"environmentVariables": {
"key": "{\"key\":\"value\"}"
},
"instanceConcurrency": 10,
"instanceSoftConcurrency": 5,
"instanceType": "e1",
"instanceLifecycleConfig": {
"preFreeze": {
"handler": "index.preStop",
"timeout": 10
},
"preStop": {
"handler": "index.preStop",
"timeout": 10
}
},
"customDNS": {
"nameServers": [
"8.8.x.x"
],
"searches": [
"ns1.svc.cluster-domain.example"
],
"dnsOptions": [
{
"name": "ndots",
"value": "2"
}
]
},
"customRuntimeConfig": {
"command": [
"/code/myBootstrap"
],
"args": [
"args1"
]
},
"customHealthCheckConfig": {
"httpGetUrl": "/ready",
"initialDelaySeconds": 1,
"periodSeconds": 1,
"timeoutSeconds": 2,
"failureThreshold": 1,
"successThreshold": 2
},
"cpu": 1.5,
"diskSize": 512,
"gpuMemorySize": 2048
}
Error codes
For a list of error codes, visit the Service error codes.
Change history
Change time | Summary of changes | Operation | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2021-06-29 | The internal configurations of the API operation change but you can still call the operation. | |||||||||||||||
| ||||||||||||||||
2021-06-29 | The input parameters of the API operation change. | |||||||||||||||
| ||||||||||||||||
2021-06-29 | The input parameters of the API operation change.,The response structure of the API operation changes. | |||||||||||||||
| ||||||||||||||||
2021-06-29 | The input parameters of the API operation change.,The response structure of the API operation changes. | |||||||||||||||
|