全部產品
Search
文件中心

Function Compute:UpdateFunction

更新時間:Aug 20, 2025

調用UpdateFunction介面更新函數資訊。

調試

您可以在OpenAPI Explorer中直接運行該介面,免去您計算簽名的困擾。運行成功後,OpenAPI Explorer可以自動產生SDK程式碼範例。

要求標頭

該介面使用公用要求標頭和特殊要求標頭。本文已列出特殊要求標頭,公用要求標頭,請參見公用參數

名稱 類型 是否必選 樣本 描述
If-Match String e19d5cd5af0378da05f63f891c7467af

用於確保實際更改的資源和期望更改的資源是一致的,該值來自CreateFunctionGetFunctionUpdateFunction的響應。

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

函數程式碼封裝的CRC-64值。

請求文法

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

請求參數

名稱 類型 位置 是否必選 樣本值 描述
serviceName String Path service_name

服務的名稱。

functionName String Path function_name

函數的名稱。

Object Body

函數的定義。

code Code Body

指定Code ZIP包。

customContainerConfig CustomContainerConfig Body

Custom Container運行時的相關配置。配置後函數可以使用自訂容器鏡像執行函數。

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

層資源的名稱。

description String Body test_description

函數的描述資訊。

environmentVariables Map Body

為函數設定的環境變數,可以在函數中擷取環境變數的值。更多資訊,請參見環境變數

handler String Body index.handler

函數執行的入口,具體格式和語言相關。更多資訊,請參見函數入口

memorySize Integer Body 512

函數的記憶體規格,單位為MB,記憶體大小為64 MB的倍數。不同的函數執行個體類型,記憶體規格存在差異,更多資訊,請參見執行個體規格

runtime String Body python3

函數啟動並執行語言環境,支援nodejs14nodejs12nodejs10nodejs8nodejs6nodejs4.4python3.9python3python2.7java11java8go1php7.2dotnetcore2.1customcustom-container。更多資訊,請參見支援的函數運行環境列表

timeout String Body 60

函數啟動並執行逾時時間,單位為秒,預設60秒。最小1秒,最長86400秒。函數超過這個時間後會被終止執行。

initializationTimeout Integer Body 60

初始化函數啟動並執行逾時時間,單位為秒,預設3秒。最小1秒,最長5分鐘。初始化函數超過這個時間後會被終止執行。

initializer String Body index.handler

初始化函數執行的入口,具體格式與語言相關,更多資訊,請參見Initializer函數

caPort Integer Body 9000

Custom Runtime或Custom Container運行時HTTP Server的監聽連接埠。

Code支援兩種方式提供函數程式碼封裝,在一次請求中必須且只能使用其中一種:

  • 指定儲存程式碼封裝的ossBucketName和ossObjectName。
  • 指定zipFile為ZIP包的Base64編碼內容。

返回資料

名稱 類型 樣本值 描述
ETag String e19d5cd5af0378da05f63f891c74****

確保實際修改的函數和期望更改的函數是一致的。該值來自CreateFunctionGetFunctionUpdateFunction的響應。

codeChecksum String 2825179536350****

函數程式碼封裝的CRC-64值。

codeSize Long 421

系統返回的函數的程式碼封裝大小,單位為Byte。

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

函數的建立時間。

customContainerConfig CustomContainerConfig

Custom Container運行時的相關配置。配置後函數可以使用自訂容器鏡像執行函數。

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

層資源的名稱。

description String test_description

函數的描述。

environmentVariables Map

為函數設定的環境變數,可以在函數中擷取環境變數的值。更多資訊,請參見環境變數

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

系統為每個函數產生的ID,全網唯一。

functionName String function_name

函數的名稱。

handler String index.handler

函數執行的入口,具體格式和語言相關,更多資訊,請參見函數入口

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

函數上一次被更新的時間。

memorySize Integer 512

函數的記憶體規格,單位為MB,記憶體大小為64 MB的倍數。不同的函數執行個體類型,記憶體規格存在差異,更多資訊,請參見執行個體規格

runtime String python3

函數啟動並執行語言環境,支援nodejs14nodejs12nodejs10nodejs8nodejs6nodejs4.4python3.9python3python2.7java11java8go1php7.2dotnetcore2.1customcustom-container。更多資訊,請參見支援的函數運行環境列表

timeout Integer 10

函數啟動並執行逾時時間,單位為秒,預設60秒。最小1秒,最長86400秒。函數超過這個時間後會被終止執行。

initializationTimeout Integer 60

初始化函數啟動並執行逾時時間,單位為秒,預設3秒。最小1秒,最長5分鐘。初始化函數超過這個時間後會被終止執行。

initializer String index.handler

初始化函數執行的入口,具體格式與語言相關,更多資訊,請參見Initializer函數

caPort Integer 9000

Custom Runtime或Custom Container運行時HTTP Server的監聽連接埠。

樣本

請求樣本

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
}

正常返回樣本

JSON格式

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
}

錯誤碼

訪問錯誤中心查看更多錯誤碼。