기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
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) 템플릿에서 이 엔티티를 선언하려면 다음 구문을 사용하십시오.
YAML
Type: AWS::Serverless::Function Properties: Architectures:
List
AssumeRolePolicyDocument:JSON
AutoPublishAlias:String
AutoPublishAliasAllProperties:Boolean
AutoPublishCodeSha256:String
CodeSigningConfigArn:String
CodeUri:String | FunctionCode
DeadLetterQueue:Map | DeadLetterQueue
DeploymentPreference:DeploymentPreference
Description:String
Environment:Environment
EphemeralStorage:EphemeralStorage
EventInvokeConfig:EventInvokeConfiguration
Events:EventSource
FileSystemConfigs:List
FunctionName:String
FunctionUrlConfig:FunctionUrlConfig
Handler:String
ImageConfig:ImageConfig
ImageUri:String
InlineCode:String
KmsKeyArn:String
Layers:List
LoggingConfig:LoggingConfig
MemorySize:Integer
PackageType:String
PermissionsBoundary:String
Policies:String | List | Map
PropagateTags:Boolean
ProvisionedConcurrencyConfig:ProvisionedConcurrencyConfig
ReservedConcurrentExecutions:Integer
Role:String
RolePath:String
Runtime:String
RuntimeManagementConfig:RuntimeManagementConfig
SnapStart:SnapStart
Tags:Map
Timeout:Integer
Tracing:String
VersionDescription:String
VpcConfig:VpcConfig
속성
-
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 ]
필수 항목 여부: 조건부.
PackageType
이Zip
로 설정된 경우,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
AWS::IAM::Role호출자를 AWS SAM 만듭니다<function-logical-id>
DeploymentGroupCodeDeployServiceRole
.필수 항목 여부: 아니요
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 함수의 이벤트 호출 구성을 설명하는 객체입니다.
필수 항목 여부: 아니요
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를 참조하세요.
필수 항목 여부: 아니요
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
속성만 적용되고CodeUri
및InlineCode
는 둘 다 무시됩니다. 함수의 컨테이너 이미지를 저장하는 데 필요한 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) 실행 역할에 추가됩니다.
이 속성은 단일 값 또는 값 목록을 허용합니다. 허용되는 값은 다음과 같습니다.
-
AWS 관리형 정책 또는 고객 관리형 정책의 ARN.
-
맵 형식의 YAML 인라인 IAM 정책입니다.
참고
Role
속성을 설정하면 이 속성은 무시됩니다.유형: 문자열 | 목록 | 맵
필수 항목 여부: 아니요
AWS CloudFormation 호환성: 이 속성은
AWS::IAM::Role
리소스의Policies
속성과 유사합니다. -
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. 역할을 지정하지 않으면
의 논리 ID로 귀하에게 하나가 생성됩니다.<function-logical-id>
Role -
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 런타임 업데이트를 참조하세요.
필수 항목 여부: 아니요
AWS CloudFormation 호환성: 이 속성은
AWS::Lambda::Function
리소스의RuntimeManagementConfig
속성으로 직접 전달됩니다. -
SnapStart
-
모든 새 Lambda 함수 버전의 스냅샷을 생성합니다. 스냅샷은 모든 종속성을 포함하여 초기화된 함수의 캐시된 상태입니다. 함수는 한 번만 초기화되고 캐시된 상태는 향후 모든 호출에 재사용되므로 함수를 초기화해야 하는 횟수를 줄여 애플리케이션 성능을 개선합니다. 자세히 알아보려면 개발자 안내서의 SnapStartLambda를 사용한 시작 성능 개선을 참조하십시오.AWS Lambda
유형: SnapStart
필수 항목 여부: 아니요
AWS CloudFormation 호환성: 이 속성은
AWS::Lambda::Function
리소스의SnapStart
속성으로 직접 전달됩니다. -
이 함수에 추가된 태그를 지정하는 맵(문자열에 문자열)입니다. 태그의 유효한 키와 값에 관한 자세한 내용은 AWS Lambda 개발자 안내서의 태그 키 및 값 요구 사항을 참조하세요.
스택이 생성되면 이 Lambda 함수와 이 함수에 대해 생성된 기본 역할에
lambda:createdBy:SAM
태그를 AWS SAM 자동으로 추가합니다.유형: 맵
필수 항목 여부: 아니요
AWS CloudFormation 호환성: 이 속성은 리소스의
Tags
속성과 유사합니다.AWS::Lambda::Function
의Tags
속성은 키-값 쌍으로 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 EFS
및 Api
이벤트 소스를 사용하는 패키지 유형 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