View a markdown version of this page

UpdateFunctionConfiguration - AWS Lambda

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": "