Select your cookie preferences

We use essential cookies and similar tools that are necessary to provide our site and services. We use performance cookies to collect anonymous statistics, so we can understand how customers use our site and make improvements. Essential cookies cannot be deactivated, but you can choose “Customize” or “Decline” to decline performance cookies.

If you agree, AWS and approved third parties will also use cookies to provide useful site features, remember your preferences, and display relevant content, including relevant advertising. To accept or decline all non-essential cookies, choose “Accept” or “Decline.” To make more detailed choices, choose “Customize.”

UpdateFunctionCode

Focus mode
UpdateFunctionCode - AWS Lambda
This page has not been translated into your language. Request translation

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

更新 Lambda 函數的程式碼。如果已對函數啟用程式碼簽署,則程式碼套件必須由受信任的發佈者簽署。如需詳細資訊,請參閱為 Lambda 設定程式碼簽署

如果函數的套件類型是 Image,那麼您必須將 ImageUri 中的程式碼套件指定為 Amazon ECR 登錄檔中的容器映像

如果函數套件類型是 Zip,那麼您必須將部署套件指定為 .zip 封存檔。輸入 Amazon S3 儲存貯體和程式碼 .zip 檔案位置的金鑰。您也可以使用 ZipFile 欄位來提供內嵌的函數程式碼。

部署套件中的程式碼必須與函數 (x86-64arm64) 的目標指令集架構相容。

當您發佈版本時,函數的程式碼被鎖定。您無法修改已發佈版本的程式碼,只能修改未發佈版本。

注意

對於定義為容器映像的函數,Lambda 會將映像標籤解析為映像摘要。在 Amazon ECR 中,如果您將映像標籤更新為新映像,則 Lambda 不會自動更新該函數。

請求語法

PUT /2015-03-31/functions/FunctionName/code HTTP/1.1 Content-type: application/json { "Architectures": [ "string" ], "DryRun": boolean, "ImageUri": "string", "Publish": boolean, "RevisionId": "string", "S3Bucket": "string", "S3Key": "string", "S3ObjectVersion": "string", "ZipFile": blob }

URI 請求參數

請求會使用下列 URI 參數。

FunctionName

Lambda 函數的名稱。

名稱格式
  • 函數名稱 - my-function

  • 函數 ARN - arn:aws:lambda:us-west-2:123456789012:function:my-function

  • 部分 ARN - 123456789012:function:my-function

長度限制條件僅會套用到完整的 ARN。若您僅指定函數名稱,則其長度限制為 64 個字元。

長度限制:長度下限為 1。長度上限為 140。

模式:(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?-[a-z]+-\d{1}:)?(\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\$LATEST|[a-zA-Z0-9-_]+))?

必要:是

請求主體

請求接受採用 JSON 格式的下列資料。

Architectures

函數支援的指令集架構。輸入具有其中一個有效值 (arm64 或 x86_64) 的字串陣列。預設值為 x86_64

類型:字串陣列

陣列成員:固定項目數為 1。

有效值:x86_64 | arm64

必要:否

DryRun

設定為 true 可驗證請求參數並存取許可,而無需修改函數程式碼。

類型:布林值

必要:否

ImageUri

Amazon ECR 登錄檔中容器映像的 URI。請勿將此函數用於以 .zip 檔案封存定義的函數。

類型:字串

必要:否

Publish

設為 true,以在更新程式碼之後發佈新版本的函數。此操作與單獨呼叫 PublishVersion 效果相同。

類型:布林值

必要:否

RevisionId

只有在修訂版本 ID 符合指定的 ID 時才更新函數。使用此選項來避免修改自您最近一次讀取之後產生變更的函數。

類型:字串

必要:否

S3Bucket

與您的函數位於同一 AWS 區域的 Amazon S3 儲存貯體。儲存貯體可位於不同的 AWS 帳戶中。只能與 .zip 檔案封存部署套件定義的函數搭配使用。

類型:字串

長度限制:長度下限為 3。長度上限為 63。

模式:^[0-9A-Za-z\.\-_]*(?<!\.)$

必要:否

S3Key

部署套件的 Amazon S3 金鑰。只能與 .zip 檔案封存部署套件定義的函數搭配使用。

類型:字串

長度限制:長度下限為 1。長度上限為 1024。

必要:否

S3ObjectVersion

對於版本控制的物件,要使用的部署套件物件版本。

類型:字串

長度限制:長度下限為 1。長度上限為 1024。

必要:否

ZipFile

部署套件的 base64 編碼內容。AWSSDK 和 AWS CLI 用戶端會為您處理編碼。只能與 .zip 檔案封存部署套件定義的函數搭配使用。

類型:Base64 編碼的二進位資料物件

必要:否

回應語法

HTTP/1.1 200 Content-type: application/json { "Architectures": [ "string" ], "CodeSha256": "string", "CodeSize": number, "DeadLetterConfig": { "TargetArn": "string" }, "Description": "string", "Environment": { "Error": { "ErrorCode": "string", "Message": "string" }, "Variables": { "string" : "string" } }, "EphemeralStorage": { "Size": number }, "FileSystemConfigs": [ { "Arn": "string", "LocalMountPath": "string" } ], "FunctionArn": "string", "FunctionName": "string", "Handler": "string", "ImageConfigResponse": { "Error": { "ErrorCode": "string", "Message": "string" }, "ImageConfig": { "Command": [ "string" ], "EntryPoint": [ "string" ], "WorkingDirectory": "string" } }, "KMSKeyArn": "string", "LastModified": "string", "LastUpdateStatus": "string", "LastUpdateStatusReason": "string", "LastUpdateStatusReasonCode": "string", "Layers": [ { "Arn": "string", "CodeSize": number, "SigningJobArn": "string", "SigningProfileVersionArn": "string" } ], "LoggingConfig": { "ApplicationLogLevel": "string", "LogFormat": "string", "LogGroup": "string", "SystemLogLevel": "string" }, "MasterArn": "string", "MemorySize": number, "PackageType": "string", "RevisionId": "string", "Role": "string", "Runtime": "string", "RuntimeVersionConfig": { "Error": { "ErrorCode": "string", "Message": "string" }, "RuntimeVersionArn": "string" }, "SigningJobArn": "string", "SigningProfileVersionArn": "string", "SnapStart": { "ApplyOn": "string", "OptimizationStatus": "string" }, "State": "string", "StateReason": "string", "StateReasonCode": "string", "Timeout": number, "TracingConfig": { "Mode": "string" }, "Version": "string", "VpcConfig": { "Ipv6AllowedForDualStack": boolean, "SecurityGroupIds": [ "string" ], "SubnetIds": [ "string" ], "VpcId": "string" } }

回應元素

如果動作成功,則服務傳回 HTTP 200 回應。

服務會傳回下列 JSON 格式的資料。

Architectures

函數支援的指令集架構。架構是具有其中一個有效值的字串陣列。預設架構值為 x86_64

類型:字串陣列

陣列成員:固定項目數為 1。

有效值:x86_64 | arm64

CodeSha256

函數部署套件的 SHA256 雜湊。

類型:字串

CodeSize

函數部署套件的大小 (以位元組為單位)。

類型:Long

DeadLetterConfig

函數的無效字母佇列。

類型:DeadLetterConfig 物件

Description

函數的描述。

類型:字串

長度限制:長度下限為 0。長度上限為 256。

Environment

函數的環境變數。從 AWS CloudTrail 日誌中省略。

類型:EnvironmentResponse 物件

EphemeralStorage

函數的 /tmp 目錄大小,以 MB 為單位。預設值為 512,但可以是介於 512 和 10,240 MB 之間的任何非負整數。如需詳細資訊,請參閱設定暫時性儲存 (主控台)

類型:EphemeralStorage 物件

FileSystemConfigs

Amazon EFS 檔案系統的連線設定。

類型:FileSystemConfig 物件陣列

陣列成員:最多 1 個項目。

FunctionArn

函數的 Amazon Resource Name (ARN)。

類型:String

模式:arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}(-gov)?-[a-z]+-\d{1}:\d{12}:function:[a-zA-Z0-9-_\.]+(:(\$LATEST|[a-zA-Z0-9-_]+))?

FunctionName

函數的名稱。

類型:字串

長度限制:長度下限為 1。長度上限為 170。

模式:(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}(-gov)?-[a-z]+-\d{1}:)?(\d{12}:)?(function:)?([a-zA-Z0-9-_\.]+)(:(\$LATEST|[a-zA-Z0-9-_]+))?

Handler

Lambda 為了開始執行您的函數所呼叫的函數。

類型:字串

長度限制:長度上限為 128。

模式:[^\s]+

ImageConfigResponse

函數的映像組態值。

類型:ImageConfigResponse 物件

KMSKeyArn

用來加密函數環境變數的 AWS KMS key。啟動 Lambda SnapStart 時,也會使用此金鑰來加密函數的快照集。只有在您已設定客戶受管金鑰的情況下,才會傳回此金鑰。

類型:String

模式:(arn:(aws[a-zA-Z-]*)?:[a-z0-9-.]+:.*)|()

LastModified

上次更新函數的日期和時間,採用 ISO-8601 格式 (YYYY-MM-DDThh:mm:ss.sTZD)。

類型:字串

LastUpdateStatus

對函數執行的上次更新的狀態。這是在函數建立完成後首次設定為 Successful

類型:字串

有效值:Successful | Failed | InProgress

LastUpdateStatusReason

對函數執行的上次更新的原因。

類型:字串

LastUpdateStatusReasonCode

對函數執行的上次更新的原因代碼。

類型:字串

有效值:EniLimitExceeded | InsufficientRolePermissions | InvalidConfiguration | InternalError | SubnetOutOfIPAddresses | InvalidSubnet | InvalidSecurityGroup | ImageDeleted | ImageAccessDenied | InvalidImage | KMSKeyAccessDenied | KMSKeyNotFound | InvalidStateKMSKey | DisabledKMSKey | EFSIOError | EFSMountConnectivityError | EFSMountFailure | EFSMountTimeout | InvalidRuntime | InvalidZipFileException | FunctionError

Layers

函數的

類型:Layer 物件陣列

LoggingConfig

該功能的 Amazon CloudWatch 日誌配置設置。

類型:LoggingConfig 物件

MasterArn

若是 Lambda@Edge 函數,則為主函數的 ARN。

類型:String

模式:arn:(aws[a-zA-Z-]*)?:lambda:[a-z]{2}(-gov)?-[a-z]+-\d{1}:\d{12}:function:[a-zA-Z0-9-_]+(:(\$LATEST|[a-zA-Z0-9-_]+))?

MemorySize

可供函數在執行階段使用的記憶體量。

類型:整數

有效範圍:最小值為 128。最大值為 10240。

PackageType

部署套件的類型。針對容器影像設定為 Image,並針對 .zip 檔案封存設定 Zip

類型:字串

有效值:Zip | Image

RevisionId

函數或別名的最新更新修訂版。

類型:字串

Role

函數的執行角色。

類型:String

模式:arn:(aws[a-zA-Z-]*)?:iam::\d{12}:role/?[a-zA-Z_0-9+=,.@\-_/]+

Runtime

函數的執行時間的識別符。如果部署套件是 .zip 檔案封存,則需要執行時間。

下列清單包含已淘汰的執行時間。如需詳細資訊,請參閱執行時間淘汰政策

類型:字串

有效值:nodejs | nodejs4.3 | nodejs6.10 | nodejs8.10 | nodejs10.x | nodejs12.x | nodejs14.x | nodejs16.x | java8 | java8.al2 | java11 | python2.7 | python3.6 | python3.7 | python3.8 | python3.9 | dotnetcore1.0 | dotnetcore2.0 | dotnetcore2.1 | dotnetcore3.1 | dotnet6 | nodejs4.3-edge | go1.x | ruby2.5 | ruby2.7 | provided | provided.al2 | nodejs18.x | python3.10 | java17 | ruby3.2 | python3.11 | nodejs20.x | provided.al2023 | python3.12 | java21

RuntimeVersionConfig

執行階段的 ARN 和任何發生的錯誤。

類型:RuntimeVersionConfig 物件

SigningJobArn

簽署任務的 ARN。

類型:String

模式:arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\-])+:([a-z]{2}(-gov)?-[a-z]+-\d{1})?:(\d{12})?:(.*)

SigningProfileVersionArn

簽署描述檔版本的 ARN。

類型:String

模式:arn:(aws[a-zA-Z0-9-]*):([a-zA-Z0-9\-])+:([a-z]{2}(-gov)?-[a-z]+-\d{1})?:(\d{12})?:(.*)

SnapStart

ApplyOn 設為 PublishedVersions,即可在您發佈函數版本時建立初始化執行環境的快照。如需詳細資訊,請參閱使用 Lambda 改善啟動效能 SnapStart

類型:SnapStartResponse 物件

State

函數目前的狀態。當狀態為 Inactive 時,您可以透過調用它來重新激活該函數。

類型:字串

有效值:Pending | Active | Inactive | Failed

StateReason

函數目前狀態的原因。

類型:字串

StateReasonCode

函數目前狀態的原因代碼。當代碼為 Creating 時,則無法調用或修改函數。

類型:字串

有效值:Idle | Creating | Restoring | EniLimitExceeded | InsufficientRolePermissions | InvalidConfiguration | InternalError | SubnetOutOfIPAddresses | InvalidSubnet | InvalidSecurityGroup | ImageDeleted | ImageAccessDenied | InvalidImage | KMSKeyAccessDenied | KMSKeyNotFound | InvalidStateKMSKey | DisabledKMSKey | EFSIOError | EFSMountConnectivityError | EFSMountFailure | EFSMountTimeout | InvalidRuntime | InvalidZipFileException | FunctionError

Timeout

Lambda 在停止函數前允許函數執行的時間 (以秒為單位)。

類型:整數

有效範圍:最小值為 1。

TracingConfig

函數的 AWS X-Ray 追蹤組態。

類型:TracingConfigResponse 物件

Version

Lambda 函數的版本。

類型:字串

長度限制:長度下限為 1。長度上限為 1024。

模式:(\$LATEST|[0-9]+)

VpcConfig

函數的聯網設定。

類型:VpcConfigResponse 物件

錯誤

如需所有動作常見錯誤的資訊,請參閱常見錯誤

CodeSigningConfigNotFoundException

指定的程式碼簽署組態不存在。

HTTP 狀態碼:404

CodeStorageExceededException

您的 AWS 帳戶 已超過總程式碼大小上限。如需詳細資訊,請參閱 Lambda 配額

HTTP 狀態碼:400

CodeVerificationFailedException

程式碼簽章無法進行一個或多個驗證檢查,因為簽章不符或到期,程式碼簽署政策設定為 ENFORCE。Lambda 會阻止部署。

HTTP 狀態碼:400

InvalidCodeSignatureException

程式碼簽章無法進行完整性檢查。如果完整性檢查失敗,即使程式碼簽署政策設定為 WARN,Lambda 仍會阻止部署。

HTTP 狀態碼:400

InvalidParameterValueException

請求中的其中一個參數無效。

HTTP 狀態碼:400

PreconditionFailedException

RevisionId 提供的與 Lambda 函數或別名 RevisionId 的最新版本不相符。呼叫GetFunctionGetAlias API 作業以擷取資源 RevisionId 的最新資源。

HTTP 狀態碼:412

ResourceConflictException

資源已存在,或另一個操作正在進行中。

HTTP 狀態碼:409

ResourceNotFoundException

請求中指定的資源不存在。

HTTP 狀態碼:404

ServiceException

AWS Lambda 服務發生內部錯誤。

HTTP 狀態碼:500

TooManyRequestsException

超出請求輸送量限制。如需詳細資訊,請參閱 Lambda 配額

HTTP 狀態碼:429

另請參閱

如需在語言特定的 AWS 開發套件之一中使用此 API 的詳細資訊,請參閱下列說明:

PrivacySite termsCookie preferences
© 2025, Amazon Web Services, Inc. or its affiliates. All rights reserved.