更新函數信息。
調試
您可以在OpenAPI Explorer中直接運行該接口,免去您計算簽名的困擾。運行成功后,OpenAPI Explorer可以自動生成SDK代碼示例。
授權信息
下表是API對應的授權信息,可以在RAM權限策略語句的Action
元素中使用,用來給RAM用戶或RAM角色授予調用此API的權限。具體說明如下:
- 操作:是指具體的權限點。
- 訪問級別:是指每個操作的訪問級別,取值為寫入(Write)、讀取(Read)或列出(List)。
- 資源類型:是指操作中支持授權的資源類型。具體說明如下:
- 對于必選的資源類型,用背景高亮的方式表示。
- 對于不支持資源級授權的操作,用
全部資源
表示。
- 條件關鍵字:是指云產品自身定義的條件關鍵字。
- 關聯操作:是指成功執行操作所需要的其他權限。操作者必須同時具備關聯操作的權限,操作才能成功。
操作 | 訪問級別 | 資源類型 | 條件關鍵字 | 關聯操作 |
---|---|---|---|---|
fc:UpdateFunction | update |
|
| 無 |
請求語法
PUT /2021-04-06/services/{serviceName}/functions/{functionName} HTTP/1.1
請求參數
名稱 | 類型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
If-Match | string | 否 | 用于確保實際更改的資源和期望更改的資源是一致的,該值來自 CreateFunction 、 GetFunction 和 UpdateFunction 的響應。 | e19d5cd5af0378da05f63f891c7467af |
serviceName | string | 是 | 服務名稱。 | demoService |
functionName | string | 是 | 函數名稱。 | demoFunction |
functionUpdateFields | object | 否 | 更新函數結構體。 | |
code | Code | 否 | Code 支持兩種方式提供函數代碼包,在一次請求中必須且只能使用其中一種:
| |
customContainerConfig | CustomContainerConfig | 否 | Custom Container 運行時的相關配置。配置后函數可以使用自定義容器鏡像執行函數。 | |
layers | array | 否 | 層的列表。 說明
多個層會按照數組下標從大到小的順序進行合并,下標小的層的內容會覆蓋下標大的層的同名文件。
| |
string | 否 | 層資源的名稱。 | layername | |
description | string | 否 | 函數描述。 | test desc |
environmentVariables | object | 否 | 為函數設置的環境變量,可以在函數中獲取環境變量的值。更多信息,請參見環境變量。 | |
string | 否 | 環境變量配置。 | {"key":"value"} | |
handler | string | 否 | 函數執行的入口,具體格式和語言相關。詳細信息,請參見函數入口。 | index.handler |
memorySize | integer | 否 | 函數的內存規格,單位為 MB,內存大小為 64 MB 的倍數。不同的函數實例類型,內存規格存在差異。更多信息,請參見實例規格。 | 512 |
runtime | string | 否 | 函數運行的語言環境。目前支持 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 和custom-container。更多信息,請參見支持的函數運行環境列表。 | python3.9 |
timeout | integer | 否 | 函數運行的超時時間,單位為秒,最小 1 秒,默認 3 秒。函數超過這個時間后會被終止執行。 | 60 |
initializationTimeout | integer | 否 | 初始化函數運行的超時時間,單位為秒,最小 1 秒,默認 3 秒。初始化函數超過這個時間后會被終止執行。 | 60 |
initializer | string | 否 | 初始化函數執行的入口,具體格式和語言相關。詳細信息,請參見函數入口。 | index.handler |
caPort | integer | 否 | 自定義、自定義容器運行時 HTTP Server 的監聽端口。 | 9000 |
InstanceConcurrency | integer | 否 | 實例最大并發度。 | 10 |
instanceSoftConcurrency | integer | 否 | 實例軟并發度,用于優雅擴容。當實例上的并發數超過軟并發度時,會觸發實例擴容。例如,您的實例啟動較慢,可以通過設置合適的軟實例并發度,提前啟動實例。 取值小于或等于 instanceConcurrency。 | 5 |
instanceType | string | 否 | 函數的實例類型,取值如下:
| e1 |
instanceLifecycleConfig | InstanceLifecycleConfig | 否 | 實例生命周期配置。 | |
customDNS | CustomDNS | 否 | 函數自定義 DNS 配置。 | |
customRuntimeConfig | CustomRuntimeConfig | 否 | Custom Runtime 函數詳細配置。 | |
customHealthCheckConfig | CustomHealthCheckConfig | 否 | 函數自定義健康檢查配置,僅適用于 Custom Runtime 和 Custom Container。 | |
cpu | float | 否 | 函數的 CPU 規格,單位為 vCPU,為 0.05 vCPU 的倍數。 | 1.5 |
diskSize | integer | 否 | 函數的磁盤規格,單位為 MB,可選值為 512 MB 或 10240 MB。 | 512 |
gpuMemorySize | integer | 否 | function 的 GPU 顯存規格,單位為 MB,為 1024MB 的倍數 | 2048 |
X-Fc-Account-Id | string | 否 | 您的阿里云賬號(主賬號)ID。 | 188077086902**** |
X-Fc-Code-Checksum | string | 否 | 函數代碼包的 CRC-64 值。 | 1506052139770049xxxx |
X-Fc-Date | string | 否 | 函數的調用開始日期,格式為EEE,d MMM yyyy HH:mm:ss GMT。 | Wed, 11 May 2022 09:00:00 GMT |
X-Fc-Trace-Id | string | 否 | 調用函數的 ID,與返回參數 requestId 對應。 | test-trace-id |
返回參數
示例
正常返回示例
JSON
格式
{
"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"
]
}
錯誤碼
訪問錯誤中心查看更多錯誤碼。
變更歷史
變更時間 | 變更內容概要 | 操作 |
---|---|---|
2023-07-27 | OpenAPI 返回結構發生變更 | 查看變更詳情 |
2023-07-27 | OpenAPI 返回結構發生變更 | 查看變更詳情 |
2023-06-29 | OpenAPI 返回結構發生變更 | 查看變更詳情 |
2021-06-30 | OpenAPI 入參發生變更 | 查看變更詳情 |
2021-06-30 | OpenAPI 返回結構發生變更 | 查看變更詳情 |
2021-06-30 | OpenAPI 返回結構發生變更 | 查看變更詳情 |