Updates the information about a function.

Request headers

This operation uses both common request headers and special request headers. The following table describes the special request headers. For more information about common request headers, see Common parameters.

Parameter Type Required Example Description
If-Match String No e19d5cd5af0378da05f63f891c7467af

The value that is used to ensure that the modified resource is consistent with the resource to be modified. You can obtain the value from the responses of the CreateFunction, GetFunction, and UpdateFunction operations.

X-Fc-Code-Checksum String No 543402527838814****

The CRC-64 value of the function code package.

Request syntax

PUT /services/{serviceName}/functions/{functionName} HTTP/1.1

Request parameters

Parameter Type Position Required Example Description
serviceName String Path Yes service_name

The name of the service.

functionName String Path Yes function_name

The name of the function.

Object Body No

The definition of the function.

code Code Body No

The code package in ZIP format.

customContainerConfig CustomContainerConfig Body No

The configurations of the custom container runtime. After you configure the custom container runtime, you can use a custom container image to execute functions.

layers Array of String Body No 02f81d283888f5ec63442a88fe82b260#Layer-name#1

The name of the layer resource.

description String Body No test_description

The description of the function.

environmentVariables Map Body No

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

handler String Body No index.handler

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

memorySize Integer Body No 512

The memory size for the function. Unit: MB. The memory size is a multiple of 64 MB. The memory size that is available for an instance varies with the instance type. For more information, see Instance specifications.

runtime String Body No python3

The runtime environment of the function. The following runtime environments are supported: Node.js 6.x, Node.js 8.x, Node.js 10.x, Node.js 12.x, Node.js 14.x, Python 2.7, Python 3, Java 8, Java 11, PHP 7.2, .NET Core 2.1, Go 1.x, custom runtimes and custom container runtimes. For more information about the runtime environments that are supported by Function Compute, see Supported function runtime environments.

timeout String Body No 60

The timeout period for Function Compute to execute the function. Unit: seconds. Default value: 60. Valid values: 1 to 86400. When the period expires, the function execution is terminated.

initializationTimeout Integer Body No 60

The timeout period for the execution of the initializer function. Unit: seconds. Default value: 3. Valid values: 1 to 300. When the period ends, the execution of the initializer function is terminated.

initializer String Body No index.handler

The handler of the initializer function. The format of the value varies with the programming language. For more information, see Initializer function.

caPort Integer Body No 9000

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

Function code packages can be provided in 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 the value of the zipFile parameter to the Base64-encoded content of the ZIP file.

Response parameters

Parameter Type Example Description
ETag String e19d5cd5af0378da05f63f891c74****

The value that is used to ensure that the modified function is consistent with the function that is expected to be modified. The value is obtained from the responses of the CreateFunction, GetFunction, and UpdateFunction operations.

codeChecksum String 2825179536350****

The CRC-64 value of the function code package.

codeSize Long 421

The size of the function code package. Unit: byte.

createdTime String 2020-04-01T08:14:58Z

The time when the function was created.

customContainerConfig CustomContainerConfig

The configurations of the custom container runtime. After you configure the custom container runtime, you can use a custom container image to execute functions.

layers Array of String 02f81d283888f5ec63442a88fe82****#Layer-name#1

The name of the layer resource.

description String test_description

The description of the function.

environmentVariables Map

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

functionId String e68905d5-f81c-4238-a5e4-***

The ID generated by the system for each function. The ID is globally unique.

functionName String function_name

The name of the function.

handler String index.handler

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

lastModifiedTime Long 2016-08-15T17:00:00.000+0000

The time when the function was last updated.

memorySize Integer 512

The memory size for the function. Unit: MB. The memory size is a multiple of 64 MB. The memory size that is available for an instance varies with the instance type. For more information, see Instance specifications.

runtime String python3

The runtime environment of the function. The following runtime environments are supported: Node.js 6.x, Node.js 8.x, Node.js 10.x, Node.js 12.x, Node.js 14.x, Python 2.7, Python 3, Java 8, Java 11, PHP 7.2, .NET Core 2.1, Go 1.x, custom runtimes and custom container runtimes. For more information about the runtime environments that are supported by Function Compute, see Supported function runtime environments.

timeout Integer 10

The timeout period for Function Compute to execute the function. Unit: seconds. Default value: 60. Valid values: 1 to 86400. When the period expires, the function execution is terminated.

initializationTimeout Integer 60

The timeout period for the execution of the initializer function. Unit: seconds. Default value: 3. Valid values: 1 to 300. When the period ends, the execution of the initializer function is terminated.

initializer String index.handler

The handler of the initializer function. The format of the value varies with the programming language. For more information, see Initializer function.

caPort Integer 9000

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

Examples

Sample requests

PUT /services/service_name/functions/function_name HTTP/1.1
Host:fc-ram.aliyuncs.com
If-Match:e19d5cd5af0378da05f63f891c7467af
X-Fc-Code-Checksum:543402527838814****
Content-Type:application/json

{
  "code" : {
    "ossBucketName" : "demo-bucket",
    "ossObjectName" : "demo-key",
    "zipFile" : "cHJpbnQoImhlbGxvIHdvcmxkIikK"
  },
  "customContainerConfig" : {
    "args" : "[\"-arg1\", \"value1\"]",
    "command" : "[\"/code/myserver\"]",
    "image" : "registry-vpc.cn-hangzhou.aliyuncs.com/fc-demo/helloworld:v1beta1",
    "accelerationType" : "Default",
    "instanceID" : "cri-xxxxxxxx"
  },
  "layers" : [ "02f81d283888f5ec63442a88fe82b260#Layer-name#1" ],
  "description" : "test_description",
  "handler" : "index.handler",
  "memorySize" : 512,
  "runtime" : "python3",
  "timeout" : "60",
  "initializationTimeout" : 60,
  "initializer" : "index.handler",
  "caPort" : 9000
}

Sample success responses

JSON format

HTTP/1.1 200 OK
Content-Type:application/json

{
  "codeChecksum" : "2825179536350****",
  "codeSize" : 421,
  "createdTime" : "2020-04-01T08:14:58Z",
  "customContainerConfig" : {
    "args" : "[\"-arg1\", \"value1\"]",
    "command" : "[\"/code/myserver\"]",
    "image" : "registry-vpc.cn-hangzhou.aliyuncs.com/fc-demo/helloworld:v1beta1",
    "accelerationType" : "Default",
    "instanceID" : "cri-xxxxxxxx"
  },
  "layers" : [ "02f81d283888f5ec63442a88fe82****#Layer-name#1" ],
  "description" : "test_description",
  "functionId" : "e68905d5-f81c-4238-a5e4-***",
  "functionName" : "function_name",
  "handler" : "index.handler",
  "memorySize" : 512,
  "runtime" : "python3",
  "timeout" : 10,
  "initializationTimeout" : 60,
  "initializer" : "index.handler",
  "caPort" : 9000
}