UpdateFunctionConfiguration
Lambda 함수의 버전별 설정을 수정합니다.
함수를 업데이트할 때 Lambda는 함수 인스턴스와 지원하는 리소스를 프로비저닝합니다. 함수를 VPC에 연결하는 경우 이 프로세스는 1분 정도 걸릴 수 있습니다. 이 시간 동안에는 함수를 수정할 수 없지만 호출은 할 수 있습니다. GetFunctionConfiguration에서 발생한 응답의 LastUpdateStatus
, LastUpdateStatusReason
, LastUpdateStatusReasonCode
필드는 업데이트가 완료되고 함수가 새 구성으로 이벤트를 처리 중인 상황을 나타냅니다. 자세한 내용은 Lambda 함수 상태를 참조하세요.
이러한 설정은 함수의 버전에 따라 다를 수 있으며 버전을 게시하면 잠깁니다. 게시된 버전의 구성은 수정할 수 없으며, 게시되지 않은 버전만 수정할 수 있습니다.
함수 동시성을 구성하려면 PutFunctionConcurrency를 사용합니다. AWS 계정 또는 AWS 서비스 서비스에 호출 권한을 부여하려면 AddPermission을 사용합니다.
Request Syntax
PUT /2015-03-31/functions/FunctionName
/configuration HTTP/1.1
Content-type: application/json
{
"DeadLetterConfig": {
"TargetArn": "string
"
},
"Description": "string
",
"Environment": {
"Variables": {
"string
" : "string
"
}
},
"EphemeralStorage": {
"Size": number
},
"FileSystemConfigs": [
{
"Arn": "string
",
"LocalMountPath": "string
"
}
],
"Handler": "string
",
"ImageConfig": {
"Command": [ "string
" ],
"EntryPoint": [ "string
" ],
"WorkingDirectory": "string
"
},
"KMSKeyArn": "string
",
"Layers": [ "string
" ],
"LoggingConfig": {
"ApplicationLogLevel": "string
",
"LogFormat": "string
",
"LogGroup": "string
",
"SystemLogLevel": "string
"
},
"MemorySize": number
,
"RevisionId": "string
",
"Role": "string
",
"Runtime": "string
",
"SnapStart": {
"ApplyOn": "string
"
},
"Timeout": number
,
"TracingConfig": {
"Mode": "string
"
},
"VpcConfig": {
"Ipv6AllowedForDualStack": boolean
,
"SecurityGroupIds": [ "string
" ],
"SubnetIds": [ "string
" ]
}
}
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입니다.
Pattern:
(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 형식으로 다음 데이터를 받습니다.
- DeadLetterConfig
-
이벤트 처리 실패 시 Lambda가 비동기 이벤트를 전송하는 주제 또는 대기열을 지정하는 DLQ(Dead Letter Queue) 구성입니다. 자세한 내용은 DLQ(Dead Letter Queue)를 참조하세요.
유형: DeadLetterConfig객체
필수 항목 여부: 아니요
- Description
-
함수에 대한 설명입니다.
유형: 문자열
길이 제약: 최소 길이는 0. 최대 길이 256.
필수 항목 여부: 아니요
- Environment
-
실행 중 함수 코드에서 액세스할 수 있는 환경 변수입니다.
유형: Environment 객체
필수 항목 여부: 아니요
- EphemeralStorage
-
함수의
/tmp
디렉터리 크기(MB)입니다. 기본값은 512MB이지만, 512~10,240MB 사이의 정수를 입력할 수 있습니다. 자세한 내용은 임시 스토리지(콘솔) 구성을 참조하세요.유형: EphemeralStorage객체
필수 항목 여부: 아니요
- FileSystemConfigs
-
Amazon EFS 파일 시스템에 대한 연결 설정입니다.
유형: FileSystemConfig 객체 배열
어레이 멤버: 최대 항목 수 1개.
필수 항목 여부: 아니요
- Handler
-
Lambda가 함수를 실행하기 위해 호출하는 코드 내 메서드 이름입니다. 배포 패키지가 .zip 파일 아카이브인 경우 처리기가 필요합니다. 이 형식에는 파일 이름이 포함됩니다. 실행 시간에 따라 네임스페이스 및 다른 한정자가 포함될 수도 있습니다. 자세한 내용은 Lambda 프로그래밍 모델을 참조하세요.
유형: 문자열
길이 제약: 최대 길이는 128입니다.
패턴:
[^\s]+
필수 항목 여부: 아니요
- ImageConfig
-
컨테이너 이미지 도커 파일의 값을 재정의하는 컨테이너 이미지 구성 값입니다.
유형: ImageConfig객체
필수 항목 여부: 아니요
- KMSKeyArn
-
함수의 환경 변수를 암호화하는 데 사용되는 AWS Key Management Service(AWS KMS) 고객 관리형 키의 ARN. Lambda SnapStart가 활성화되면 Lambda는 또한 이 키를 사용하여 함수의 스냅샷을 암호화합니다. 컨테이너 이미지를 사용하여 함수를 배포하는 경우 Lambda는 배포 시 이 키를 사용하여 함수를 암호화합니다. 이는 Amazon Elastic Container Registry(Amazon ECR)에서 컨테이너 이미지를 보호하는 데 사용되는 것과 동일한 키가 아닙니다. 고객 관리형 키를 제공하지 않는 경우 Lambda는 기본 서비스 키를 사용합니다.
유형: 문자열
패턴:
(arn:(aws[a-zA-Z-]*)?:[a-z0-9-.]+:.*)|()
필수 항목 여부: 아니요
- Layers
-
함수의 실행 환경에 추가할 함수 계층에 대한 Amazon 리소스 이름(ARN)의 목록입니다. 버전을 비롯하여 ARN으로 각 계층을 지정하세요.
유형: 문자열 배열
길이 제약: 최소 길이는 1. 최대 길이는 140입니다.
패턴:
arn:[a-zA-Z0-9-]+:lambda:[a-zA-Z0-9-]+:\d{12}:layer:[a-zA-Z0-9-_]+:[0-9]+
필수 항목 여부: 아니요
- LoggingConfig
-
함수의 Amazon CloudWatch Logs 구성입니다.
유형: LoggingConfig객체
필수 항목 여부: 아니요
- MemorySize
-
런타임에 함수가 사용할 수 있는 메모리 양입니다. 함수 메모리를 늘리면 CPU 할당도 늘어납니다. 기본값은 128MB입니다. 값은 1MB의 배수일 수 있습니다.
Type: 정수
유효한 범위: 최소값은 128이고 최대값은 10,240입니다.
필수 항목 여부: 아니요
- RevisionId
-
개정 ID가 지정된 ID와 일치하는 경우에만 정책을 함수를 업데이트합니다. 마지막으로 읽은 후 변경된 함수를 수정하지 않으려면 이 옵션을 사용합니다.
유형: 문자열
필수 항목 여부: 아니요
- Role
-
함수의 실행 역할의 Amazon 리소스 이름(ARN)입니다.
유형: 문자열
패턴:
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
필수 항목 여부: 아니요
- SnapStart
-
함수의 SnapStart 설정입니다.
유형: SnapStart객체
필수 항목 여부: 아니요
- Timeout
-
Lambda가 함수를 중지하기 전에 실행을 허용하는 시간(초)입니다. 기본값은 3초입니다. 최대 허용값은 900초입니다. 자세한 내용은 Lambda 실행 환경을 참조하세요.
유형: 정수
유효 범위: 최소값 1.
필수 항목 여부: 아니요
- TracingConfig
-
X-Ray를 사용하여 수신되는 요청의 일부를 샘플링하고 추적하려면
Mode
을(를)Active
(으)로 설정합니다.유형: TracingConfig 객체
필수 항목 여부: 아니요
- VpcConfig
-
VPC에서 AWS 리소스에 네트워크로 연결하려면 VPC의 보안 그룹과 서브넷 목록을 지정합니다. 함수를 VPC에 연결할 경우 해당 VPC를 통해서만 리소스 및 인터넷에 액세스할 수 있습니다. 자세한 내용은 VPC의 리소스에 액세스하도록 Lambda 함수 구성(Configuring a Lambda function to access resources in a VPC)을 참조하세요.
유형: VpcConfig객체
필수 항목 여부: 아니요
응답 구문
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
-
함수의 설명입니다.
유형: String
길이 제약: 최소 길이는 0. 최대 길이는 256입니다.
- Environment
-
함수의 환경 변수입니다. AWS CloudTrail 로그에서 생략되었습니다.
유형: EnvironmentResponse객체
- EphemeralStorage
-
함수의
/tmp
디렉터리 크기(MB)입니다. 기본값은 512MB이지만, 512~10,240MB 사이의 정수를 입력할 수 있습니다. 자세한 내용은 임시 스토리지(콘솔) 구성을 참조하세요.유형: EphemeralStorage객체
- FileSystemConfigs
-
Amazon EFS 파일 시스템에 대한 연결 설정입니다.
유형: FileSystemConfig 객체 배열
어레이 멤버: 최대 항목 수 1개.
- FunctionArn
-
함수의 Amazon 리소스 이름(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
-
함수의 이름입니다.
유형: String
길이 제약: 최소 길이는 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가 활성화되면 이 키는 함수의 스냅샷을 암호화하는 데도 사용됩니다. 이 키는 고객 관리형 키를 구성한 경우에만 반환됩니다.
유형: 문자열
패턴:
(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 Logs 구성입니다.
유형: LoggingConfig객체
- MasterArn
-
Lambda@Edge 함수의 경우 main 함수의 ARN입니다.
유형: 문자열
패턴:
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
-
런타임에 함수가 사용할 수 있는 메모리 양입니다.
유형: Integer
유효한 범위: 최소값은 128이고 최대값은 10,240입니다.
- 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가 함수를 중지하기 전에 실행을 허용하는 시간(초)입니다.
유형: Integer
유효 범위: 최소값 1.
- TracingConfig
-
함수의 AWS X-Ray 추적 구성입니다.
유형: TracingConfigResponse 객체
- Version
-
Lambda 함수의 버전입니다.
유형: String
길이 제약: 최소 길이 1. 최대 길이는 1024입니다.
Pattern:
(\$LATEST|[0-9]+)
- VpcConfig
-
함수의 네트워킹 구성입니다.
유형: VpcConfigResponse 객체
Errors
모든 작업에서 발생하는 일반적인 오류에 대한 자세한 내용은 일반적인 오류 섹션을 참조하세요.
- CodeSigningConfigNotFoundException
-
지정된 코드 서명 구성이 존재하지 않습니다.
HTTP 상태 코드: 404
- CodeVerificationFailedException
-
코드 서명이 서명 불일치 또는 만료에 대한 하나 이상의 유효성 검사에 실패했으며 코드 서명 정책이 ENFORCE로 설정되어 있습니다. Lambda가 배포를 차단합니다.
HTTP 상태 코드: 400
- InvalidCodeSignatureException
-
코드 서명이 무결성 검사에 실패했습니다. Lambda는 코드 서명 정책이 WARN으로 설정되어 있더라도 무결성 검사에 실패할 경우 배포를 차단합니다.
HTTP 상태 코드: 400
- InvalidParameterValueException
-
요청의 파라미터 중 하나가 유효하지 않습니다.
HTTP 상태 코드: 400
- PreconditionFailedException
-
제공된 RevisionId가 Lambda 함수 또는 별칭에 대한 최신 RevisionId와 일치하지 않습니다. 리소스의 최신 RevisionId를 검색하려면
GetFunction
또는GetAlias
API 작업을 호출합니다.HTTP 상태 코드: 412
- ResourceConflictException
-
리소스가 이미 있거나 다른 작업이 진행 중입니다.
HTTP 상태 코드: 409
- ResourceNotFoundException
-
요청에 지정된 리소스가 없습니다.
HTTP 상태 코드: 404
- ServiceException
-
AWS Lambda 서비스에 내부 오류가 발생했습니다.
HTTP 상태 코드: 500
- TooManyRequestsException
-
요청 처리량 제한을 초과했습니다. 자세한 내용은 Lambda 할당량을 참조하세요.
HTTP Status Code: 429
참고
이 API를 언어별 AWS SDK 중 하나로 사용하는 방법에 대한 자세한 설명은 다음을 참조하세요.