All Products
Search
Document Center

Function Compute:UpdateFunction

Last Updated:Sep 23, 2024

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

Debugging

OpenAPI Explorer automatically calculates the signature value. For your convenience, we recommend that you call this operation in OpenAPI Explorer.

Authorization information

The following table shows the authorization information corresponding to the API. The authorization information can be used in the Action policy element to grant a RAM user or RAM role the permissions to call this API operation. Description:

  • Operation: the value that you can use in the Action element to specify the operation on a resource.
  • Access level: the access level of each operation. The levels are read, write, and list.
  • Resource type: the type of the resource on which you can authorize the RAM user or the RAM role to perform the operation. Take note of the following items:
    • The required resource types are displayed in bold characters.
    • If the permissions cannot be granted at the resource level, All Resources is used in the Resource type column of the operation.
  • Condition Key: the condition key that is defined by the cloud service.
  • Associated operation: other operations that the RAM user or the RAM role must have permissions to perform to complete the operation. To complete the operation, the RAM user or the RAM role must have the permissions to perform the associated operations.
OperationAccess levelResource typeCondition keyAssociated operation
fc:UpdateFunctionupdate
  • Function
    acs:fc:{#regionId}:{#accountId}:services/{#ServiceName}/functions/{#FunctionName}
    none
none

Request syntax

PUT /2021-04-06/services/{serviceName}/functions/{functionName} HTTP/1.1

Request parameters

ParameterTypeRequiredDescriptionExample
functionUpdateFieldsobjectNo

The function update structure.

codeCodeNo

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

  • Specify the names of the Object Storage Service (OSS) bucket (ossBucketName) where the code package is stored and object name (ossObjectName).
  • Set zipFile to the Base64-encoded content of the ZIP file.
customContainerConfigCustomContainerConfigNo

The configurations of the Custom Container runtime. After you configure the Custom Container runtime, Function Compute can execute the function in by using a custom container image.

layersarrayNo

A list of layers.

Note Multiple 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 of a layer with a larger subscript.
stringNo

The ARN 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 configurations of environment variables.

{"key":"value"}
handlerstringNo

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

index.handler
memorySizeintegerNo

The memory capacity for the function. Unit: MB. The memory capacity must be a multiple of 64 MB. The memory size varies based on the function instance type you use. For more information, see the "Instance specifications" section of the Instance types and usage modes topic.

512
runtimestringNo

The runtime of the function. Valid values: nodejs20, nodejs18, nodejs16, nodejs14, nodejs12, nodejs10, nodejs8, nodejs6, nodejs4.4, python3.10, python3.9, python3, python2.7, java11, java8, go1, php7.2, dotnetcore3.1, dotnetcore2.1, custom.debian10, custom, and custom-container. For more information, see Runtimes that are supported by Function Compute.

python3.9
timeoutintegerNo

The timeout period for function execution. Unit: seconds. Minimum value: 1. Default value: 3. The execution of the function is terminated when the time elapses.

60
initializationTimeoutintegerNo

The timeout period for the initializer. Unit: seconds. The minimum value is 1 second. The default value is 3 seconds. When the period ends, the execution of the initializer is terminated.

60
initializerstringNo

The handler of the initializer. The format varies based on 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 property to implement graceful scale-ups for instances. If the number of concurrent requests on an instance is greater than the soft concurrency value of the instance, 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 instanceConcurrency.

5
instanceTypestringNo

The instance type of the function. Valid values:

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

The lifecycle configurations of the instance.

customDNSCustomDNSNo

The custom Domain Name System (DNS) settings of the function.

customRuntimeConfigCustomRuntimeConfigNo

The configurations of the function that runs in the custom runtime.

customHealthCheckConfigCustomHealthCheckConfigNo

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

cpufloatNo

The CPU size of the function. Unit: vCPUs. The value is a multiple of 0.05 vCPUs.

1.5
diskSizeintegerNo

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

512
gpuMemorySizeintegerNo

The GPU memory size of the function. Unit: MB, which is a multiple of 1024 MB.

2048

Response parameters

ParameterTypeDescriptionExample
headersobject
ETagstring
5e547e5605e1dc17a78a6191bc18fbc5
object

The returned data.

layersarray

The layers.

Note Multiple 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 of a layer with a larger subscript.
layerstring
md5#layername#version
runtimestring

The runtime of the function. Valid values: nodejs20, nodejs18, nodejs16, nodejs14, nodejs12, nodejs10, nodejs8, nodejs6, nodejs4.4, python3.10, python3.9, python3, python2.7, java11, java8, go1, php7.2, dotnetcore3.1, dotnetcore2.1, custom.debian10, custom, and custom-container. For more information, see Runtimes that are supported by Function Compute.

python3.9
layersArnV2array

A list of layer ARNs.

layerstring

The layer ARN.

acs:fc:cn-hangzhou:official:layers/Python310/versions/2

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,
  "layersArnV2": [
    "acs:fc:cn-hangzhou:official:layers/Python310/versions/2"
  ]
}

Error codes

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

Change history

Change timeSummary of changesOperation
2023-07-27The response structure of the API has changedView Change Details
2023-07-27The response structure of the API has changedView Change Details
2023-06-29The response structure of the API has changedView Change Details
2021-06-30The request parameters of the API has changedView Change Details
2021-06-30The response structure of the API has changedView Change Details
2021-06-30The response structure of the API has changedView Change Details