AWS::Serverless::Function - AWS Serverless Application Model

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS::Serverless::Function

함수를 트리거하는 AWS Lambda 함수, AWS Identity and Access Management (IAM) 실행 역할, 이벤트 소스 매핑을 생성합니다.

또한 AWS::Serverless::Function 리소스는 Metadata 리소스 속성을 지원하므로 애플리케이션에 필요한 사용자 지정 런타임을 AWS SAM 빌드하도록 지시할 수 있습니다. 사용자 지정 런타임을 구축하는 방법에 대한 자세한 정보는 사용자 지정 런타임 구축 섹션을 참조하세요.

참고

에 AWS CloudFormation배포하면 AWS SAM 리소스가 리소스로 AWS SAM 변환됩니다. AWS CloudFormation 자세한 정보는 생성된 AWS CloudFormation 리소스을 참조하세요.

구문

AWS Serverless Application Model (AWS SAM) 템플릿에서 이 엔티티를 선언하려면 다음 구문을 사용하십시오.

속성

Architectures

함수의 명령 세트 아키텍처입니다.

이 속성에 대한 자세한 내용은 AWS Lambda 개발자 안내서Lambda 명령 세트 아키텍처를 참조하십시오.

유효한 값: x86_64 혹은 arm64 중 하나

유형: 목록

필수 항목 여부: 아니요

기본값: x86_64

AWS CloudFormation 호환성: 이 속성은 AWS::Lambda::Function 리소스의 Architectures 속성으로 직접 전달됩니다.

AssumeRolePolicyDocument

이 함수에 AssumeRolePolicyDocument Role 대해 생성된 기본값에 a를 추가합니다. 이 속성을 지정하지 않는 경우 이 함수에 기본 역할 수임을 AWS SAM 추가합니다.

유형: JSON

필수 항목 여부: 아니요

AWS CloudFormation 호환성: 이 속성은 AWS::IAM::Role 리소스의 AssumeRolePolicyDocument 속성과 비슷합니다. AWS SAM 이 함수를 위해 생성된 IAM 역할에 이 속성을 추가합니다. 역할의 Amazon 리소스 이름(ARN)이 이 함수에 대해 제공된 경우 이 속성은 아무 작업도 수행하지 않습니다.

AutoPublishAlias

Lambda 별칭의 이름. Lambda의 별칭에 대한 자세한 내용은 AWS Lambda 개발자 안내서Lambda 함수 별칭을 참조하세요. 이 속성을 사용하는 예제는 서버리스 애플리케이션의 점진적 배포 섹션을 참조하세요.

AWS SAM 이 속성이 설정되면 AWS::Lambda::Alias리소스가 생성됩니다 AWS::Lambda::Version. 이 시나리오에 대한 자세한 내용은 AutoPublishAlias 속성이 지정되었습니다 섹션을 참조하세요. 생성된 AWS CloudFormation 리소스에 대한 일반 정보는 을 참조하십시오생성된 AWS CloudFormation 리소스.

타입: 문자열

필수 항목 여부: 아니요

AWS CloudFormation 호환성: 이 속성은 AWS SAM 고유하며 AWS CloudFormation 이에 상응하는 속성이 없습니다.

AutoPublishAliasAllProperties

AWS::Lambda::Version이 생성되는 시기를 지정합니다. true의 경우, Lambda 함수의 속성이 변경되면 새 Lambda 버전이 생성됩니다. false의 경우, 다음 속성 중 하나가 변경된 경우에만 새 Lambda 버전이 생성됩니다.

  • Environment, MemorySize, 또는 SnapStart.

  • Code 속성의 업데이트를 초래하는 일체의 변경(예:CodeDict, ImageUri, 혹은 InlineCode).

이 속성은 AutoPublishAlias이 정의될 것을 요구합니다.

만약 AutoPublishSha256도 지정되면, 그것의 행위는 AutoPublishAliasAllProperties: true에 우선합니다.

유형: 부울

필수 항목 여부: 아니요

기본값: false

AWS CloudFormation 호환성: 이 속성은 AWS SAM 고유하며 AWS CloudFormation 이에 상응하는 속성이 없습니다.

AutoPublishCodeSha256

이 문자열을 사용하면 이 CodeUri 값을 사용하여 새 Lambda 버전을 게시해야 하는지 여부를 결정합니다. 이 속성은 다음과 같은 배포 문제를 해결하는 데 자주 사용됩니다. 배포 패키지는 Amazon S3 위치에 저장되고 업데이트된 Lambda 함수 코드가 포함된 새 배포 패키지로 대체되지만 CodeUri 속성은 변경되지 않습니다 (새 배포 패키지가 새 Amazon S3 위치에 업로드되고 새 위치로 변경되는 것과 반대). CodeUri

이 문제는 다음과 같은 특징을 가진 AWS SAM 템플릿으로 나타납니다.

  • DeploymentPreference객체는 점진적 배포를 위해 구성되어 있습니다 (에 설명된 대로). 서버리스 애플리케이션의 점진적 배포

  • AutoPublishAlias속성은 설정되며 배포 간에 변경되지 않습니다.

  • CodeUri속성은 설정되며 배포 간에 변경되지 않습니다.

이 시나리오에서 AutoPublishCodeSha256을 업데이트하면 새 Lambda 버전이 성공적으로 생성됩니다. 하지만 Amazon S3에 배포된 새 함수 코드는 인식되지 않습니다. 새 함수 코드를 인식하려면 Amazon S3 버킷에서 버전 관리를 사용하는 것이 좋습니다. Lambda 함수의 Version 속성을 지정하고 항상 최신 배포 패키지를 사용하도록 버킷을 구성합니다.

이 시나리오에서 점진적 배포를 성공적으로 트리거하려면 AutoPublishCodeSha256에 대한 고유한 값을 제공해야 합니다.

타입: 문자열

필수 항목 여부: 아니요

AWS CloudFormation 호환성: 이 속성은 AWS SAM 고유하며 이에 상응하는 AWS CloudFormation 속성이 없습니다.

CodeSigningConfigArn

이 함수에 대해 코드 서명을 활성화하는 데 사용되는 AWS::Lambda::CodeSigningConfig리소스의 ARN. 코드 서명에 대한 자세한 내용은 AWS SAM애플리케이션을 위한 코드 서명 구성 섹션을 참조하세요.

타입: 문자열

필수 항목 여부: 아니요

AWS CloudFormation 호환성: 이 속성은 AWS::Lambda::Function 리소스의 CodeSigningConfigArn 속성으로 직접 전달됩니다.

CodeUri

함수의 코드입니다. 허용 가능한 값은 다음을 포함합니다.

  • 함수의 Amazon S3 URI. 예를 들어 s3://bucket-123456789/sam-app/1234567890abcdefg입니다.

  • 함수의 로컬 경로. 예를 들어 hello_world/입니다.

  • FunctionCode 객체입니다.

참고

함수의 Amazon S3 URI 또는 FunctionCode 객체를 제공하는 경우 유효한 Lambda 배포 패키지를 참조해야 합니다.

로컬 파일 경로를 제공하는 경우 배포 시 AWS SAMCLI를 사용하여 로컬 파일을 업로드하십시오. 자세한 내용은을 참조하십시오배포 시 AWS SAMCLI를 사용하여 로컬 파일 업로드하기.

CodeUri속성에 내장 함수를 사용하면 값을 제대로 분석할 수 없습니다. AWS SAM 대신 AWS::Language확장 변환을 사용해 보세요.

유형: [ 문자열 | FunctionCode ]

필수 항목 여부: 조건부. PackageTypeZip로 설정된 경우, CodeUri 또는 중 InlineCode 하나가 필요합니다.

AWS CloudFormation 호환성: 이 속성은 AWS::Lambda::Function 리소스의 Code 속성과 비슷합니다. 중첩된 Amazon S3 속성은 다르게 지정됩니다.

DeadLetterQueue

Lambda가 처리할 수 없는 이벤트를 전송하는 Amazon Simple Notification Service(Amazon SNS) 주제 또는 Amazon Simple Queue Service(SQS) 대기열을 구성합니다. DLQ(Dead Letter Queue) 기능에 대한 자세한 내용은 AWS Lambda 개발자 안내서DLQ(Dead Letter Queue)를 참조하세요.

참고

귀하의 Lambda 함수의 이벤트 소스가 Amazon SQS 대기열인 경우, Lambda 함수가 아닌 소스 대기열에 대하여 DLQ(Dead Letter Queue) 대기열을 구성합니다. 함수에 구성하는 배달하지 못한 편지 대기열은 이벤트 소스 대기열이 아닌 함수의 비동기식 호출 대기열에 사용됩니다.

유형: 맵 | DeadLetterQueue

필수 항목 여부: 아니요

AWS CloudFormation 호환성: 이 속성은 AWS::Lambda::Function 리소스의 DeadLetterConfig 속성과 유사합니다. AWS CloudFormation 형식은 에서 파생되지만 TargetArn 에서는 형식을 와 함께 AWS SAM 전달해야 합니다TargetArn.

DeploymentPreference

점진적 Lambda 배포를 가능하게 하는 설정.

DeploymentPreference개체가 지정된 경우 AWS::CodeDeploy::Application호출자 ServerlessDeploymentApplication (스택당 하나), 호출 및 AWS::CodeDeploy::DeploymentGroup<function-logical-id>DeploymentGroupAWS::IAM::Role호출자를 AWS SAM 만듭니다CodeDeployServiceRole.

유형: DeploymentPreference

필수 항목 여부: 아니요

AWS CloudFormation 호환성: 이 속성은 AWS SAM 고유하며 AWS CloudFormation 이에 상응하는 속성이 없습니다.

추가 참조: 이 속성에 대한 자세한 내용은 서버리스 애플리케이션의 점진적 배포 섹션을 참조하세요.

Description

함수에 대한 설명입니다.

타입: 문자열

필수 항목 여부: 아니요

AWS CloudFormation 호환성: 이 속성은 AWS::Lambda::Function 리소스의 Description 속성으로 직접 전달됩니다.

Environment

런타임 환경에 대한 구성.

유형: Environment

필수 항목 여부: 아니요

AWS CloudFormation 호환성: 이 속성은 AWS::Lambda::Function 리소스의 Environment 속성에 직접 전달됩니다.

EphemeralStorage

/tmp의 Lambda 함수에서 사용할 수 있는 디스크 공간 (MB)을 지정하는 객체.

실행 역할에 대한 자세한 내용은 AWS Lambda 개발자 가이드Lambda 실행 역할을 참조하세요.

유형: EphemeralStorage

필수 항목 여부: 아니요

AWS CloudFormation 호환성: 이 속성은 AWS::Lambda::Function 리소스의 EphemeralStorage 속성으로 직접 전달됩니다.

EventInvokeConfig

Lambda 함수의 이벤트 호출 구성을 설명하는 객체입니다.

유형: EventInvokeConfiguration

필수 항목 여부: 아니요

AWS CloudFormation 호환성: 이 속성은 AWS SAM 고유하며 AWS CloudFormation 이에 상응하는 속성이 없습니다.

Events

이 함수를 트리거하는 이벤트를 지정합니다. 이벤트는 유형 및 각 유형에 따라 달라지는 속성 집합으로 구성됩니다.

유형: EventSource

필수 항목 여부: 아니요

AWS CloudFormation 호환성: 이 속성은 AWS SAM 고유하며 AWS CloudFormation 이에 상응하는 속성이 없습니다.

FileSystemConfigs

Amazon Elastic File System (Amazon EFS) 파일 시스템의 연결 설정을 지정하는 FileSystemConfig객체 목록입니다.

귀하의 템플릿이 AWS::EFS::MountTarget 리소스를 포함하는 경우, 함수 전에 마운트 대상이 생성되거나 업데이트되도록 DependsOn 리소스 속성도 지정해야 합니다.

유형: 목록

필수 항목 여부: 아니요

AWS CloudFormation 호환성: 이 속성은 AWS::Lambda::Function 리소스의 FileSystemConfigs 속성으로 직접 전달됩니다.

FunctionName

함수의 이름. 이름을 지정하지 않으면 고유한 이름 하나가 귀하를 위해 생성됩니다.

타입: 문자열

필수 항목 여부: 아니요

AWS CloudFormation 호환성: 이 속성은 AWS::Lambda::Function 리소스의 FunctionName 속성에 직접 전달됩니다.

FunctionUrlConfig

함수 URL을 설명하는 객체입니다. 함수 URL은 귀하의 함수를 호출하는 데 사용할 수 있는 HTTP(S) 엔드포인트입니다.

자세한 내용은 AWS Lambda 개발자 안내서Function URLs를 참조하세요.

유형: FunctionUrlConfig

필수 항목 여부: 아니요

AWS CloudFormation 호환성: 이 속성은 AWS SAM 고유하며 AWS CloudFormation 이에 상응하는 속성이 없습니다.

Handler

코드 내에서 실행을 시작하기 위해 호출되는 함수입니다. 이 속성은 PackageType 속성이 Zip로 설정된 경우에만 필요합니다.

타입: 문자열

필수 항목 여부: 조건부

AWS CloudFormation 호환성: 이 속성은 AWS::Lambda::Function 리소스의 Handler 속성으로 직접 전달됩니다.

ImageConfig

Lambda 컨테이너 이미지 설정을 구성하는 데 사용되는 객체입니다. 자세한 내용은 AWS Lambda 개발자 가이드에서 Lambda로 컨테이너 이미지 사용하기를 참조하세요.

유형: ImageConfig

필수 항목 여부: 아니요

AWS CloudFormation 호환성: 이 속성은 AWS::Lambda::Function 리소스의 ImageConfig 속성으로 직접 전달됩니다.

ImageUri

Lambda 함수의 컨테이너 이미지에 대한 Amazon Elastic Container Registry(Amazon ECR) 리포지토리의 URI입니다. 이 속성은 PackageType 속성이 Image로 설정된 경우에만 적용되며, 그렇지 않으면 무시됩니다. 자세한 내용은 AWS Lambda 개발자 가이드에서 Lambda로 컨테이너 이미지 사용하기를 참조하세요.

참고

PackageType속성이 로 Image 설정된 경우 둘 중 하나가 필수이거나 ImageUri AWS SAM 템플릿 파일에 필요한 Metadata 항목을 포함하여 애플리케이션을 빌드해야 합니다. 자세한 정보는 애플리케이션 구축을 참조하세요.

필요한 Metadata 항목을 사용하여 애플리케이션을 빌드하는 것이 ImageUri에 우선하므로 둘 다 지정하면 ImageUri은 무시됩니다.

타입: 문자열

필수 항목 여부: 아니요

AWS CloudFormation 호환성: 이 속성은 AWS::Lambda::Function Code 데이터 유형의 ImageUri 속성으로 직접 전달됩니다.

InlineCode

템플릿에 직접 작성된 Lambda 함수 코드입니다. 이 속성은 PackageType 속성이 Zip로 설정된 경우에만 적용되며, 그렇지 않으면 무시됩니다.

참고

PackageType 속성이 Zip(기본값)으로 설정된 경우 CodeUri 또는 InlineCode 중 하나가 요구됩니다.

타입: 문자열

필수 항목 여부: 조건부

AWS CloudFormation 호환성: 이 속성은 AWS::Lambda::Function Code 데이터 유형의 ZipFile 속성에 직접 전달됩니다.

KmsKeyArn

Lambda가 함수의 환경 변수를 암호화하고 해독하는 데 사용하는 AWS Key Management Service (AWS KMS) 키의 ARN.

타입: 문자열

필수 항목 여부: 아니요

AWS CloudFormation 호환성: 이 속성은 리소스의 속성으로 직접 전달됩니다. KmsKeyArn AWS::Lambda::Function

Layers

이 함수가 사용해야 하는 LayerVersion ARN 목록. 여기에 지정된 순서는 Lambda 함수를 실행할 때 들여오는 순서입니다.

유형: 목록

필수 항목 여부: 아니요

AWS CloudFormation 호환성: 이 속성은 AWS::Lambda::Function 리소스의 Layers 속성에 직접 전달됩니다.

LoggingConfig

함수의 Amazon CloudWatch Logs 구성 설정입니다.

유형: LoggingConfig

필수 항목 여부: 아니요

AWS CloudFormation 호환성: 이 속성은 AWS::Lambda::Function 리소스의 LoggingConfig속성으로 직접 전달됩니다.

MemorySize

함수 호출당 할당된 메모리 크기(MB)입니다.

유형: 정수

필수 항목 여부: 아니요

AWS CloudFormation 호환성: 이 속성은 AWS::Lambda::Function 리소스의 MemorySize 속성에 직접 전달됩니다.

PackageType

Lambda 함수의 배포 패키지 유형. 자세한 내용은 AWS Lambda 개발자 안내서 Lambda 배포 패키지를 참조하세요.

참고:

1. 이 속성을 Zip(기본값)으로 설정하면 CodeUri 또는 InlineCode이 적용되며 ImageUri는 무시됩니다.

2. 이 속성을 Image로 설정하면 ImageUri 속성만 적용되고 CodeUriInlineCode는 둘 다 무시됩니다. 함수의 컨테이너 이미지를 저장하는 데 필요한 Amazon ECR 리포지토리는 에서 자동으로 생성할 수 있습니다. AWS SAMCLI 자세한 내용은을 참조하십시오sam deploy.

유효한 값: Zip 또는 Image

타입: 문자열

필수 항목 여부: 아니요

기본값: Zip

AWS CloudFormation 호환성: 이 속성은 AWS::Lambda::Function 리소스의 PackageType 속성으로 직접 전달됩니다.

PermissionsBoundary

이 함수의 실행 역할에 사용할 권한 경계의 ARN입니다. 이 속성은 역할이 자동으로 생성된 경우에만 작동합니다.

타입: 문자열

필수 항목 여부: 아니요

AWS CloudFormation 호환성: 이 속성은 AWS::IAM::Role 리소스의 PermissionsBoundary 속성에 직접 전달됩니다.

Policies

이 함수의 권한 정책. 정책은 함수의 기본 AWS Identity and Access Management (IAM) 실행 역할에 추가됩니다.

이 속성은 단일 값 또는 값 목록을 허용합니다. 허용되는 값은 다음과 같습니다.

참고

Role 속성을 설정하면 이 속성은 무시됩니다.

유형: 문자열 | 목록 | 맵

필수 항목 여부: 아니요

AWS CloudFormation 호환성: 이 속성은 AWS::IAM::Role 리소스의 Policies 속성과 유사합니다.

PropagateTags

Tags속성의 태그를 AWS::Serverless::Function 생성된 리소스로 전달할지 여부를 지정합니다. 귀하의 생성된 리소스에 태그를 전파하도록 True을 지정합니다.

유형: 부울

필수 항목 여부: 아니요

기본값: False

AWS CloudFormation 호환성: 이 속성은 AWS SAM 고유하며 AWS CloudFormation 이에 상응하는 속성이 없습니다.

ProvisionedConcurrencyConfig

함수의 별칭에 대한 프로비저닝된 동시성 구성.

참고

AutoPublishAlias가 설정된 경우에만 ProvisionedConcurrencyConfig을 지정할 수 있습니다. 이렇게 하지 않으면 오류가 발생합니다.

유형: ProvisionedConcurrencyConfig

필수 항목 여부: 아니요

AWS CloudFormation 호환성: 이 속성은 AWS::Lambda::Alias 리소스의 ProvisionedConcurrencyConfig 속성으로 직접 전달됩니다.

ReservedConcurrentExecutions

함수에 대해 예비하고 싶은 최대 동시 실행 수를 지정합니다.

이 속성에 대한 자세한 내용은 AWS Lambda 개발자 안내서의 Lambda함수 규모 조정을 참조하세요.

유형: 정수

필수 항목 여부: 아니요

AWS CloudFormation 호환성: 이 속성은 AWS::Lambda::Function 리소스의 ReservedConcurrentExecutions 속성에 직접 전달됩니다.

Role

이 함수의 실행 역할로 사용할 IAM 역할의 ARN.

타입: 문자열

필수 항목 여부: 아니요

AWS CloudFormation 호환성: 이 속성은 AWS::Lambda::Function 리소스의 Role 속성과 유사합니다. 이는 에서 AWS CloudFormation 필요하지만 내부에서는 필요하지 않습니다 AWS SAM. 역할을 지정하지 않으면 <function-logical-id>Role의 논리 ID로 귀하에게 하나가 생성됩니다.

RolePath

함수의 IAM 실행 역할의 경로입니다.

역할이 자동으로 생성될 때 이 속성을 사용하십시오. Role 속성에 역할이 지정된 경우에는 사용하지 마십시오.

타입: 문자열

필수 항목 여부: 조건부

AWS CloudFormation 호환성: 이 속성은 AWS::IAM::Role 리소스의 Path 속성으로 직접 전달됩니다.

Runtime

함수 런타임의 식별자입니다. 이 속성은 PackageType 속성이 Zip로 설정된 경우에만 필요합니다.

참고

이 속성의 provided 식별자를 지정하는 경우 Metadata 리소스 속성을 사용하여 이 함수에 필요한 사용자 지정 런타임을 AWS SAM 빌드하도록 지시할 수 있습니다. 사용자 지정 런타임을 구축하는 방법에 대한 자세한 정보는 사용자 지정 런타임 구축 섹션을 참조하세요.

타입: 문자열

필수 항목 여부: 조건부

AWS CloudFormation 호환성: 이 속성은 AWS::Lambda::Function 리소스의 Runtime 속성으로 직접 전달됩니다.

RuntimeManagementConfig

런타임 환경 업데이트, 롤백 동작, 특정 런타임 버전 선택 등 Lambda 함수의 런타임 관리 옵션을 구성합니다. 자세한 내용은 AWS Lambda 개발자 안내서Lambda 런타임 업데이트를 참조하세요.

유형: RuntimeManagementConfig

필수 항목 여부: 아니요

AWS CloudFormation 호환성: 이 속성은 AWS::Lambda::Function 리소스의 RuntimeManagementConfig 속성으로 직접 전달됩니다.

SnapStart

모든 새 Lambda 함수 버전의 스냅샷을 생성합니다. 스냅샷은 모든 종속성을 포함하여 초기화된 함수의 캐시된 상태입니다. 함수는 한 번만 초기화되고 캐시된 상태는 향후 모든 호출에 재사용되므로 함수를 초기화해야 하는 횟수를 줄여 애플리케이션 성능을 개선합니다. 자세히 알아보려면 개발자 안내서의 SnapStartLambda를 사용한 시작 성능 개선을 참조하십시오.AWS Lambda

유형: SnapStart

필수 항목 여부: 아니요

AWS CloudFormation 호환성: 이 속성은 AWS::Lambda::Function 리소스의 SnapStart 속성으로 직접 전달됩니다.

Tags

이 함수에 추가된 태그를 지정하는 맵(문자열에 문자열)입니다. 태그의 유효한 키와 값에 관한 자세한 내용은 AWS Lambda 개발자 안내서태그 키 및 값 요구 사항을 참조하세요.

스택이 생성되면 이 Lambda 함수와 이 함수에 대해 생성된 기본 역할에 lambda:createdBy:SAM 태그를 AWS SAM 자동으로 추가합니다.

유형: 맵

필수 항목 여부: 아니요

AWS CloudFormation 호환성: 이 속성은 리소스의 Tags 속성과 유사합니다. AWS::Lambda::FunctionTags 속성은 키-값 쌍으로 AWS SAM 구성되어 있습니다 ( AWS CloudFormation 이 속성은 Tag 개체 목록으로 구성됨). 또한 이 Lambda 함수와 이 함수에 대해 생성된 기본 역할에 lambda:createdBy:SAM 태그를 AWS SAM 자동으로 추가합니다.

Timeout

중지되기 전까지 함수를 실행할 수 있는 최대 시간(초).

유형: 정수

필수 항목 여부: 아니요

기본값: 3

AWS CloudFormation 호환성: 이 속성은 리소스의 Timeout 속성에 직접 전달됩니다. AWS::Lambda::Function

Tracing

함수의 X-Ray 추적 모드를 지정하는 문자열.

  • Active – 함수에 대한 X-Ray 추적을 활성화합니다.

  • Disabled – 함수에 대한 X-Ray를 비활성화합니다.

  • PassThrough – 함수에 대한 X-Ray 추적을 활성화합니다. 샘플링 결정은 다운스트림 서비스에 위임됩니다.

Active 또는 PassThrough로 지정되고 Role 속성이 설정되지 않은 경우, AWS SAM 는 귀하를 위해 생성한 Lambda 실행 역할에 arn:aws:iam::aws:policy/AWSXrayWriteOnlyAccess 정책을 추가합니다.

X-Ray에 대한 자세한 내용은 AWS Lambda 개발자 안내서의 AWS Lambda with AWS X-Ray사용을 참조하십시오.

유효한 값: [Active|Disabled|PassThrough]

타입: 문자열

필수 항목 여부: 아니요

AWS CloudFormation 호환성: 이 속성은 AWS::Lambda::Function 리소스의 TracingConfig 속성과 유사합니다.

VersionDescription

새 Lambda 버전 리소스에 추가되는 Description 필드를 지정합니다.

타입: 문자열

필수 항목 여부: 아니요

AWS CloudFormation 호환성: 이 속성은 AWS::Lambda::Version 리소스의 Description 속성으로 직접 전달됩니다.

VpcConfig

이 함수가 Virtual Private Cloud(VPC) 내의 프라이빗 리소스에 액세스할 수 있도록 하는 구성입니다.

유형: VpcConfig

필수 항목 여부: 아니요

AWS CloudFormation 호환성: 이 속성은 AWS::Lambda::Function 리소스의 VpcConfig 속성으로 직접 전달됩니다.

반환 값

Ref

Ref 내장 함수에 이 리소스의 논리적 ID를 입력하면 기저의 Lambda 함수의 리소스 이름이 반환됩니다.

Ref 함수의 사용에 대한 자세한 내용은 AWS CloudFormation 사용자 가이드Ref 섹션을 참조하세요.

Fn: GetAtt

Fn::GetAtt은 이 유형의 지정된 속성에 대한 값을 반환합니다. 다음은 사용 가능한 속성과 반환되는 샘플 값.

Fn::GetAtt의 사용에 대한 자세한 내용은 AWS CloudFormation 사용자 가이드Fn::GetAtt 섹션을 참조하세요.

Arn

기저의 Lambda 함수의 ARN.

예제

단순 함수

다음은 Amazon S3 버킷에 있는 패키지 유형 Zip(기본값) 및 함수 코드의 AWS::Serverless::Function 리소스에 대한 기본 예제입니다.

YAML

Type: AWS::Serverless::Function Properties: Handler: index.handler Runtime: python3.9 CodeUri: s3://bucket-name/key-name

함수 속성 예제

다음은 InlineCode, Layers, Tracing, Policies, Amazon EFSApi 이벤트 소스를 사용하는 패키지 유형 Zip(기본값) AWS::Serverless::Function의 예입니다.

YAML

Type: AWS::Serverless::Function DependsOn: MyMountTarget # This is needed if an AWS::EFS::MountTarget resource is declared for EFS Properties: Handler: index.handler Runtime: python3.9 InlineCode: | def handler(event, context): print("Hello, world!") ReservedConcurrentExecutions: 30 Layers: - Ref: MyLayer Tracing: Active Timeout: 120 FileSystemConfigs: - Arn: !Ref MyEfsFileSystem LocalMountPath: /mnt/EFS Policies: - AWSLambdaExecute - Version: '2012-10-17' Statement: - Effect: Allow Action: - s3:GetObject - s3:GetObjectACL Resource: 'arn:aws:s3:::my-bucket/*' Events: ApiEvent: Type: Api Properties: Path: /path Method: get

ImageConfig예시

다음은 패키지 유형Image의 Lambda 함수에 대한 ImageConfig의 예제입니다.

YAML

HelloWorldFunction: Type: AWS::Serverless::Function Properties: PackageType: Image ImageUri: account-id.dkr.ecr.region.amazonaws.com/ecr-repo-name:image-name ImageConfig: Command: - "app.lambda_handler" EntryPoint: - "entrypoint1" WorkingDirectory: "workDir"

RuntimeManagementConfig 예시

현재 동작에 따라 런타임 환경을 업데이트하도록 구성된 Lambda 함수:

TestFunction Type: AWS::Serverless::Function Properties: ... Runtime: python3.9 RuntimeManagementConfig: UpdateRuntimeOn: Auto

함수가 업데이트될 때 런타임 환경을 업데이트하도록 구성된 Lambda 함수:

TestFunction Type: AWS::Serverless::Function Properties: ... Runtime: python3.9 RuntimeManagementConfig: UpdateRuntimeOn: FunctionUpdate

런타임 환경을 수동으로 업데이트하도록 구성된 Lambda 함수:

TestFunction Type: AWS::Serverless::Function Properties: ... Runtime: python3.9 RuntimeManagementConfig: RuntimeVersionArn: arn:aws:lambda:us-east-1::runtime:4c459dd0104ee29ec65dcad056c0b3ddbe20d6db76b265ade7eda9a066859b1e UpdateRuntimeOn: Manual

SnapStart예

향후 버전에서 활성화된 Lambda SnapStart 함수의 예:

TestFunc Type: AWS::Serverless::Function Properties: ... SnapStart: ApplyOn: PublishedVersions