PublishVersion - AWS Lambda

PublishVersion

함수의 현재 코드 및 구성에서 버전을 만듭니다. 버전을 사용하여 변경되지 않은 함수 코드 및 구성의 스냅샷을 만듭니다.

AWS Lambda은(는) 함수의 구성 및 코드가 마지막 버전 이후에 변경되지 않은 경우 버전을 게시하지 않습니다. 버전을 게시하기 전에 함수를 업데이트하려면 UpdateFunctionCode 또는 UpdateFunctionConfiguration 을(를) 사용합니다.

클라이언트는 직접 또는 별칭을 사용하여 버전을 호출할 수 있습니다. 별칭을 만들려면 CreateAlias 을(를) 사용합니다.

요청 구문

POST /2015-03-31/functions/FunctionName/versions HTTP/1.1 Content-type: application/json { "CodeSha256": "string", "Description": "string", "RevisionId": "string" }

URI 요청 파라미터

요청은 다음의 URI 파라미터를 사용합니다.

FunctionName

Lambda 함수의 이름입니다.

이름 형식

  • 함수 이름 - MyFunction.

  • 함수 ARN - arn:aws:lambda:us-west-2:123456789012:function:MyFunction.

  • 부분적 ARN - 123456789012:function:MyFunction.

길이 제한은 전체 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-_]+))?

Required: Yes

요청 본문

요청은 JSON 형식의 다음 데이터를 받습니다.

CodeSha256

해시 값이 지정된 값과 일치하는 경우에만 버전을 게시합니다. 함수 코드를 마지막으로 업데이트한 후 함수 코드가 변경된 경우 버전 게시를 방지하려면 이 옵션을 사용합니다. UpdateFunctionCode 의 결과에서 업로드한 버전의 해시를 얻을 수 있습니다.

유형: 문자열

Required: No

Description

함수 구성의 설명을 재정의하는 버전에 대한 설명입니다.

유형: 문자열

길이 제약: 최소 길이 0. 최대 길이 256.

Required: No

RevisionId

개정 ID가 지정된 ID와 일치하는 경우에만 정책을 함수를 업데이트합니다. 함수 구성을 마지막으로 업데이트한 후 함수 구성이 변경된 경우 버전 게시를 방지하기 위해 이 옵션을 사용합니다.

유형: 문자열

Required: No

응답 구문

HTTP/1.1 201 Content-type: application/json { "CodeSha256": "string", "CodeSize": number, "DeadLetterConfig": { "TargetArn": "string" }, "Description": "string", "Environment": { "Error": { "ErrorCode": "string", "Message": "string" }, "Variables": { "string" : "string" } }, "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" } ], "MasterArn": "string", "MemorySize": number, "PackageType": "string", "RevisionId": "string", "Role": "string", "Runtime": "string", "SigningJobArn": "string", "SigningProfileVersionArn": "string", "State": "string", "StateReason": "string", "StateReasonCode": "string", "Timeout": number, "TracingConfig": { "Mode": "string" }, "Version": "string", "VpcConfig": { "SecurityGroupIds": [ "string" ], "SubnetIds": [ "string" ], "VpcId": "string" } }

응답 요소

작업이 성공하면 서비스가 HTTP 201 응답을 다시 전송합니다.

다음 데이터는 서비스에 의해 JSON 형식으로 반환됩니다.

CodeSha256

함수 배포 패키지의 SHA256 해시입니다.

유형: 문자열

CodeSize

함수 배포 패키지의 크기(바이트)입니다.

유형: Long

DeadLetterConfig

함수의 배달 못한 편지 대기열입니다.

유형: DeadLetterConfig 객체

Description

함수의 설명입니다.

유형: 문자열

길이 제약: 최소 길이 0. 최대 길이 256.

Environment

함수의 환경 변수입니다.

유형: EnvironmentResponse 객체

FileSystemConfigs

Amazon EFS 파일 시스템에 대한 연결 설정입니다.

유형: FileSystemConfig 객체 배열

배열 멤버: 최대 항목 수는 1개입니다.

FunctionArn

함수의 Amazon 리소스 이름(ARN)입니다.

유형: 문자열

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-_]+))?

FunctionName

함수의 이름입니다.

유형: 문자열

길이 제약: 최소 길이는 1입니다. 최대 길이는 170입니다.

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-_]+))?

Handler

Lambda가 함수 실행을 시작하기 위해 호출하는 함수입니다.

유형: 문자열

길이 제약: 최대 길이는 128입니다.

Pattern: [^\s]+

ImageConfigResponse

함수의 이미지 구성 값입니다.

유형: ImageConfigResponse 객체

KMSKeyArn

함수의 환경 변수를 암호화하는 데 사용되는 KMS 키입니다. 이 키는 고객 관리형 CMK를 구성한 경우에만 반환됩니다.

유형: 문자열

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

LastModified

함수가 마지막으로 업데이트된 날짜 및 시간(ISO-8601 형식)(YYYY-MM-DDThh:mm:ss.sTZD)입니다.

유형: String

LastUpdateStatus

함수에 대해 수행된 마지막 업데이트의 상태입니다. 함수 생성이 완료된 후 처음에는 Successful(으)로 설정됩니다.

유형: 문자열

유효한 값: Successful | Failed | InProgress

LastUpdateStatusReason

함수에 대해 수행된 마지막 업데이트의 사유입니다.

유형: 문자열

LastUpdateStatusReasonCode

함수에 대해 수행된 마지막 업데이트의 사유 코드입니다.

유형: 문자열

유효한 값: EniLimitExceeded | InsufficientRolePermissions | InvalidConfiguration | InternalError | SubnetOutOfIPAddresses | InvalidSubnet | InvalidSecurityGroup | ImageDeleted | ImageAccessDenied | InvalidImage

Layers

함수의 계층입니다.

유형: Layer 객체 배열

MasterArn

Lambda@Edge 함수의 경우 마스터 함수의 ARN입니다.

유형: 문자열

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-_]+))?

MemorySize

런타임에 함수가 사용할 수 있는 메모리 양입니다.

Type: 정수

유효한 범위: 최소값은 128이고 최대값은 10,240입니다.

PackageType

배포 패키지의 유형입니다. 컨테이너 이미지의 경우 Image(으)로 설정하고 .zip 파일 아카이브의 경우 Zip(으)로 설정합니다.

유형: 문자열

유효한 값: Zip | Image

RevisionId

함수 또는 별칭의 최신 업데이트된 개정입니다.

유형: 문자열

Role

함수의 실행 역할입니다.

유형: 문자열

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

Runtime

Lambda 함수의 런타임 환경입니다.

유형: 문자열

유효한 값: nodejs | nodejs4.3 | nodejs6.10 | nodejs8.10 | nodejs10.x | nodejs12.x | nodejs14.x | java8 | java8.al2 | java11 | python2.7 | python3.6 | python3.7 | python3.8 | python3.9 | dotnetcore1.0 | dotnetcore2.0 | dotnetcore2.1 | dotnetcore3.1 | nodejs4.3-edge | go1.x | ruby2.5 | ruby2.7 | provided | provided.al2

SigningJobArn

서명 작업의 ARN입니다.

유형: 문자열

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

SigningProfileVersionArn

서명 프로파일 버전의 ARN입니다.

유형: 문자열

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

State

함수의 현재 상태입니다. 상태가 Inactive인 경우 함수를 호출하여 다시 활성화할 수 있습니다.

유형: 문자열

유효한 값: Pending | Active | Inactive | Failed

StateReason

함수의 현재 상태에 대한 사유입니다.

유형: 문자열

StateReasonCode

함수의 현재 상태에 대한 사유 코드입니다. 코드가 Creating인 경우 함수를 호출하거나 수정할 수 없습니다.

유형: 문자열

유효한 값: Idle | Creating | Restoring | EniLimitExceeded | InsufficientRolePermissions | InvalidConfiguration | InternalError | SubnetOutOfIPAddresses | InvalidSubnet | InvalidSecurityGroup | ImageDeleted | ImageAccessDenied | InvalidImage

Timeout

Lambda가 함수를 중지하기 전에 실행을 허용하는 시간(초)입니다.

Type: 정수

유효한 범위: 최소값 1.

TracingConfig

함수의 AWS X-Ray 추적 구성입니다.

유형: TracingConfigResponse 객체

Version

Lambda 함수의 버전입니다.

유형: 문자열

길이 제약: 최소 길이는 1입니다. 최대 길이는 1,024입니다.

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

VpcConfig

함수의 네트워킹 구성입니다.

유형: VpcConfigResponse 객체

Errors

CodeStorageExceededException

계정당 전체 코드 최대 크기를 초과했습니다. 자세히 알아보기

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

요청 처리량 제한을 초과했습니다.

HTTP 상태 코드: 429

참고 항목

이 API를 언어별 AWS SDK 중 하나로 사용하는 방법에 대한 자세한 내용은 다음을 참조하세요.