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

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

AWS::Serverless::Function

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

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

참고

에 배포하면가 AWS SAM 리소스를 AWS CloudFormation 리소스로 AWS CloudFormation AWS SAM 변환합니다. 자세한 내용은 AWS SAM용으로 생성된 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 대한를 추가합니다. 이 속성이 지정되지 않은 경우이 함수에 대한 기본 수임 역할을 AWS SAM 추가합니다.

유형: JSON

필수 항목 여부: 아니요

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

AutoPublishAlias

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

AWS SAM 생성 AWS::Lambda::VersionAWS::Lambda::Alias이 속성이 설정된 경우 리소스. 이 시나리오에 대한 자세한 내용은 AutoPublishalias 속성 지정됨 섹션을 참조하세요. 생성된 AWS CloudFormation 리소스에 대한 일반 정보는 섹션을 참조하세요AWS SAM용으로 생성된 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 객체가 점진적 배포를 위해 구성됩니다(AWS SAM에서 서버리스 애플리케이션의 점진적 배포에 설명되어 있음).

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

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

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

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

유형: 문자열

필수 항목 여부: 아니요

AWS CloudFormation 호환성:이 속성은에 고유 AWS SAM 하며 AWS CloudFormation 동등한 속성이 없습니다.

CodeSigningConfigArn

ARN의 AWS::Lambda::CodeSigningConfig이 함수에 대한 코드 서명을 활성화하는 데 사용되는 리소스입니다. 코드 서명에 대한 자세한 내용은 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 SAM CLI 배포 시 로컬 파일을 업로드합니다. 자세한 내용은 가 배포 시 로컬 파일을 AWS SAM 업로드하는 방법을 참조하십시오.

CodeUri 속성에서 내장 함수를 사용하는 경우 AWS SAM 는 값을 올바르게 구문 분석할 수 없습니다. 대신 AWS::LanguageExtensions transform을 사용하는 것이 좋습니다.

유형: [ 문자열 | FunctionCode ]

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

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

DeadLetterQueue

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

참고

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

유형: 맵 | DeadLetterQueue

필수 항목 여부: 아니요

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

DeploymentPreference

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

DeploymentPreference 객체가 지정된 경우는 AWS SAM AWS::CodeDeploy::Application ServerlessDeploymentApplication (스택당 1개), AWS::CodeDeploy::DeploymentGroup <function-logical-id>DeploymentGroup, 및 라고 함 AWS::IAM::Role 라는 이름입니다CodeDeployServiceRole.

유형: DeploymentPreference

필수 항목 여부: 아니요

AWS CloudFormation 호환성:이 속성은에 고유 AWS SAM 하며 AWS CloudFormation 동등한 속성이 없습니다.

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

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(AmazonEFS) 파일 시스템의 연결 설정을 지정하는 FileSystemConfig 객체 목록입니다.

템플릿에가 포함된 경우 AWS::EFS::MountTarget 또한 DependsOn 리소스 속성을 지정하여 함수 전에 탑재 대상이 생성되거나 업데이트되도록 해야 합니다.

유형: 목록

필수 항목 여부: 아니요

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

FunctionName

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

유형: 문자열

필수 항목 여부: 아니요

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

FunctionUrlConfig

함수를 설명하는 객체입니다URL. 함수URL는 함수를 호출하는 데 사용할 수 있는 HTTPS 엔드포인트입니다.

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

참고

PackageType 속성이 로 설정된 경우 Image ImageUri가 필요하거나 AWS SAM 템플릿 파일에 필요한 Metadata 항목을 사용하여 애플리케이션을 빌드해야 합니다. 자세한 내용은 AWS SAM을 사용한 기본 빌드 단원을 참조하십시오.

필요한 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가 함수ARN의 환경 변수를 암호화하고 복호화하는 데 사용하는 AWS Key Management Service (AWS KMS) 키의 입니다.

유형: 문자열

필수 항목 여부: 아니요

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

Layers

이 함수가 사용해야 LayerVersion ARNs 하는 목록입니다. 여기에 지정된 순서는 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 SAM CLI. 자세한 내용은 섹션을 참조하세요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 속성으로 직접 전달됩니다.

RecursiveLoop

함수의 재귀 루프 감지 구성 상태입니다.

이 값이 Allow로 설정되어 있으면 Lambda가 재귀 루프의 일부로 호출되는 함수를 감지해도 아무런 조치를 취하지 않습니다.

이 값이 Terminate로 설정되어 있으면 Lambda가 재귀 루프의 일부로 호출되는 함수를 감지한 경우 함수가 호출되는 것을 중지하고 사용자에게 알립니다.

유형: 문자열

필수 항목 여부: 아니요

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

ReservedConcurrentExecutions

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

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

유형: 정수

필수 항목 여부: 아니요

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

Role

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

유형: 문자열

필수 항목 여부: 아니요

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 하도록에 지시할 수 있습니다. 사용자 지정 런타임을 구축하는 방법에 대한 자세한 정보는 에서 사용자 지정 런타임을 사용하여 Lambda 함수 빌드 AWS SAM 섹션을 참조하세요.

유형: 문자열

필수 항목 여부: 조건부

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

RuntimeManagementConfig

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

유형: RuntimeManagementConfig

필수 항목 여부: 아니요

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

SnapStart

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

유형: SnapStart

필수 항목 여부: 아니요

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

SourceKmsKeyArn

고객의 ZIP 함수 코드를 암호화하는 데 ARN 사용되는 KMS 키를 나타냅니다.

유형: 문자열

필수 항목 여부: 아니요

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

Tags

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

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

유형: 맵

필수 항목 여부: 아니요

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

Timeout

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

유형: 정수

필수 항목 여부: 아니요

기본값: 3

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

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 에서 사용을 AWS X-Ray 참조하세요.

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

유형: 문자열

필수 항목 여부: 아니요

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

VersionDescription

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

유형: 문자열

필수 항목 여부: 아니요

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

VpcConfig

이 함수가 가상 프라이빗 클라우드() 내의 프라이빗 리소스에 액세스할 수 있도록 하는 구성입니다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:::amzn-s3-demo-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 예제

향후 버전에 대해가 SnapStart 켜져 있는 Lambda 함수의 예:

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