All Products
Search
Document Center

Function Compute:UpdateFunction

Last Updated:Mar 27, 2023

Updates a function.

Authorization information

There is currently no authorization information disclosed in the API.

Request parameters

ParameterTypeRequiredDescriptionExample
If-MatchstringNo

The parameter that is used to ensure that the modified resource is consistent with the resource to be modified. The value of this parameter is returned in the responses of the CreateFunction, GetFunction, and UpdateFunction operations.

e19d5cd5af0378da05f63f891c7467af
serviceNamestringYes

The name of the service.

demoService
functionNamestringYes

The name of the function.

demoFunction
functionUpdateFieldsobjectNo

The definition of the function.

codeCodeNo

The packaged code of the function. Function code packages can be provided with the following two methods. You must use only one of the methods in a request.

  • Specify the name of the Object Storage Service (OSS) bucket and object where the code package is stored. The names are specified in the ossBucketName and ossObjectName parameters.
  • Specify the Base64-encoded content of the ZIP file by using the zipFile parameter.
customContainerConfigCustomContainerConfigNo

The configuration of the custom container. After you configure the custom container, Function Compute can execute the function in a container created from a custom image.

layersarrayNo

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.
stringNo

The name of the layer.

layername
descriptionstringNo

The description of the function.

test desc
environmentVariablesobjectNo

The environment variables that are configured for the function. You can obtain the values of the environment variables from the function. For more information, see Environment variables.

stringNo

The environment variables that are configured for the function.

{"key":"value"}
handlerstringNo

The handler of the function. The format varies based on the programming language. For more information, see Function handlers.

index.handler
memorySizeintegerNo

The memory size for the function. Unit: MB. The memory size must be a multiple of 64. The memory size varies based on the function instance type. For more information, see Instance types.

512
runtimestringNo

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
timeoutintegerNo

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
initializationTimeoutintegerNo

The timeout period for the execution of the Initializer hook. Unit: seconds. Default value: 3. Minimum value: 1. When the period ends, the execution of the Initializer hook is terminated.

60
initializerstringNo

The handler of the Initializer hook. The format is determined by the programming language. For more information, see Function handlers.

index.handler
caPortintegerNo

The port on which the HTTP server listens for the custom runtime or custom container runtime.

9000
InstanceConcurrencyintegerNo

The number of requests that can be concurrently processed by a single instance.

10
instanceSoftConcurrencyintegerNo

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
instanceTypestringNo

The instance type of the function. Valid values:

  • e1: elastic instance
  • c1: performance instance
  • fc.gpu.tesla.1: GPU-accelerated instance (Tesla T4)
  • fc.gpu.ampere.1: GPU-accelerated instance (Ampere A10)
  • g1: same as fc.gpu.tesla.1
e1
instanceLifecycleConfigInstanceLifecycleConfigNo

The lifecycle configurations of the instance.

customDNSCustomDNSNo

The custom DNS configurations of the function.

customRuntimeConfigCustomRuntimeConfigNo

The configurations of the custom runtime.

customHealthCheckConfigCustomHealthCheckConfigNo

The custom health check configurations of the function. This parameter is applicable to only custom runtimes and custom containers.

cpufloatNo

The number of vCPUs of the function. The value must be a multiple of 0.05.

1.5
diskSizeintegerNo

The disk size of the function. Unit: MB. Valid values: 512 and 10240.

512
gpuMemorySizeintegerNo

The GPU memory capacity for the function. Unit: MB. The value must be a multiple of 1,024.

2048
X-Fc-Account-IdstringNo

The ID of your Alibaba Cloud account.

188077086902****
X-Fc-Code-ChecksumstringNo

The CRC-64 value of the function code package.

1506052139770049xxxx
X-Fc-DatestringNo

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-IdstringNo

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

ParameterTypeDescriptionExample
headersobject
ETagstring

The ETag that is used to modify the function, The value is used to ensure that the modified function is consistent with the function that is expected to be modified.

5e547e5605e1dc17a78a6191bc18fbc5
object

The returned data.

codeChecksumstring

The CRC-64 value of the function code package.

5434025278388143772
codeSizelong

The size of the function code package that is returned by the system. Unit: bytes.

1024
createdTimestring

The time when the function was created.

2016-08-15T15:00:00.000+0000
customContainerConfigCustomContainerConfig

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.

layersarray

An array that consists of the information of 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

The name of the layer.

md5#layername#version
descriptionstring

The description of the function.

This is a demo hello world function
environmentVariablesobject

The environment variables that are configured for the function. You can obtain the values of the environment variables from the function. For more information, see Environment variables.

string

The environment variables that you configured for the function.

{"key":"value"}
functionIdstring

The unique ID that is generated by the system for the function.

2d28e0e9-9ba5-4eed-8b1a-d3d9cd24****
functionNamestring

The name of the function.

demo-function
handlerstring

The handler of the function.

index.handler
lastModifiedTimestring

The time when the function was last modified.

2016-08-15T17:00:00.000+0000
memorySizeinteger

The memory size that is configured for the function. Unit: MB.

512
runtimestring

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
timeoutinteger

The timeout period for the execution. Unit: seconds.

10
initializationTimeoutinteger

The timeout period for the execution of the Initializer hook. Unit: seconds. Default value: 3. Minimum value: 1. When the period ends, the execution of the Initializer hook is terminated.

60
initializerstring

The handler of the Initializer hook. The format is determined by the programming language.

index.handler
caPortinteger

The port on which the HTTP server listens for the custom runtime or custom container runtime.

9000
instanceTypestring

The instance type of the function. Valid values:

  • e1: elastic instance
  • c1: performance instance
  • fc.gpu.tesla.1: GPU-accelerated instance (Tesla T4)
  • fc.gpu.ampere.1: GPU-accelerated instance (Ampere A10)
  • g1: same as fc.gpu.tesla.1
e1
instanceSoftConcurrencyinteger

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
instanceLifecycleConfigInstanceLifecycleConfig

The lifecycle configurations of the instance.

customDNSCustomDNS

The custom DNS configurations of the function.

customRuntimeConfigCustomRuntimeConfig

The configurations of the custom runtime.

customHealthCheckConfigCustomHealthCheckConfig

The custom health check configuration of the function. This parameter is applicable only to custom runtimes and custom containers.

cpufloat

The number of vCPUs of the function. The value must be a multiple of 0.05.

1.5
diskSizeinteger

The disk size of the function. Unit: MB. Valid values: 512 and 10240.

512
instanceConcurrencyinteger

The number of requests that can be concurrently processed by a single instance.

10
gpuMemorySizeinteger

The GPU memory capacity for the function. Unit: MB. The value must be a multiple of 1,024.

2048

Examples

Sample success responses

JSONformat

{
  "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",
  "environmentVariables": {
    "key": "{\"key\":\"value\"}"
  },
  "functionId": "2d28e0e9-9ba5-4eed-8b1a-d3d9cd24****",
  "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,
  "instanceType": "e1",
  "instanceSoftConcurrency": 5,
  "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,
  "instanceConcurrency": 10,
  "gpuMemorySize": 2048
}

Error codes

For a list of error codes, visit the Service error codes.

Change history

Change timeSummary of changesOperation
2021-06-30The input parameters of the API operation change.
Change itemChange content
Input ParametersThe input parameters of the API operation change.
    Added Input Parameters: X-Fc-Account-Id
    Added Input Parameters: X-Fc-Code-Checksum
    Added Input Parameters: X-Fc-Log-Type
    Added Input Parameters: X-Fc-Invocation-Type
    Added Input Parameters: X-Fc-Date
    Added Input Parameters: X-Fc-Trace-Id
2021-06-30The response structure of the API operation changes.
Change itemChange content
Output ParametersThe response structure of the API operation changes.
2021-06-30The response structure of the API operation changes.
Change itemChange content
Output ParametersThe response structure of the API operation changes.