

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

# AWS::Serverless::Function
<a name="sam-resource-function"></a>

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

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

**참고**  
에 배포하면가 AWS SAM 리소스를 CloudFormation 리소스로 AWS CloudFormation AWS SAM 변환합니다. 자세한 내용은 [에 대해 생성된 CloudFormation 리소스 AWS SAM](sam-specification-generated-resources.md) 단원을 참조하십시오.

## 구문
<a name="sam-resource-function-syntax"></a>

 AWS Serverless Application Model (AWS SAM) 템플릿에서이 개체를 선언하려면 다음 구문을 사용합니다.

### YAML
<a name="sam-resource-function-syntax.yaml"></a>

```
Type: AWS::Serverless::Function
Properties:
  [Architectures](#sam-function-architectures): {{List}}
  [AssumeRolePolicyDocument](#sam-function-assumerolepolicydocument): {{JSON}}
  [AutoPublishAlias](#sam-function-autopublishalias): {{String}}
  AutoPublishAliasAllProperties: {{Boolean}}
  [AutoPublishCodeSha256](#sam-function-autopublishcodesha256): {{String}}
  [CapacityProviderConfig](#sam-function-capacityproviderconfig): {{CapacityProviderConfig}}
  [CodeSigningConfigArn](#sam-function-codesigningconfigarn): {{String}}
  [CodeUri](#sam-function-codeuri): {{String | FunctionCode}}
  [DeadLetterQueue](#sam-function-deadletterqueue): {{Map | DeadLetterQueue}}
  [DeploymentPreference](#sam-function-deploymentpreference): {{DeploymentPreference}}
  [Description](#sam-function-description): {{String}}
  [DurableConfig](#sam-function-durableconfig): {{DurableConfig}}
  [Environment](#sam-function-environment): {{[Environment](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-environment.html)}}
  [EphemeralStorage](#sam-function-ephemeralstorage): {{[EphemeralStorage](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-ephemeralstorage)}}
  [EventInvokeConfig](#sam-function-eventinvokeconfig): {{EventInvokeConfiguration}}
  [Events](#sam-function-events): {{EventSource}}
  [FileSystemConfigs](#sam-function-filesystemconfigs): {{List}}
  [FunctionName](#sam-function-functionname): {{String}}
  [FunctionScalingConfig](#sam-function-functionscalingconfig): {{FunctionScalingConfig}}
  [FunctionUrlConfig](#sam-function-functionurlconfig): {{FunctionUrlConfig}}
  [Handler](#sam-function-handler): {{String}}
  [ImageConfig](#sam-function-imageconfig): {{[ImageConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-imageconfig)}}
  [ImageUri](#sam-function-imageuri): {{String}}
  [InlineCode](#sam-function-inlinecode): {{String}}
  [KmsKeyArn](#sam-function-kmskeyarn): {{String}}
  [Layers](#sam-function-layers): {{List}}
  LoggingConfig: {{[LoggingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-loggingconfig.html)}}
  [MemorySize](#sam-function-memorysize): {{Integer}}
  [PackageType](#sam-function-packagetype): {{String}}
  [PermissionsBoundary](#sam-function-permissionsboundary): {{String}}
  [Policies](#sam-function-policies): {{String | List | Map}}
  [PublishToLatestPublished](#sam-function-publishtolatestpublished): {{Boolean}}
  PropagateTags: {{Boolean}}
  [ProvisionedConcurrencyConfig](#sam-function-provisionedconcurrencyconfig): {{[ProvisionedConcurrencyConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html#cfn-lambda-alias-provisionedconcurrencyconfig)}}
  RecursiveLoop: {{String}}
  [ReservedConcurrentExecutions](#sam-function-reservedconcurrentexecutions): {{Integer}}
  [Role](#sam-function-role): {{String}}
  [RolePath](#sam-function-rolepath): {{String}}
  [Runtime](#sam-function-runtime): {{String}}
  RuntimeManagementConfig: {{[RuntimeManagementConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-runtimemanagementconfig.html)}}
  SnapStart: {{[SnapStart](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-snapstart.html)}}
  [SourceKMSKeyArn](#sam-function-sourcekmskeyarn): {{String}}
  [Tags](#sam-function-tags): {{Map}}
  [TenancyConfig](#sam-function-tenancyconfig): {{TenancyConfig}}
  [Timeout](#sam-function-timeout): {{Integer}}
  [Tracing](#sam-function-tracing): {{String}}
  [VersionDescription](#sam-function-versiondescription): {{String}}
  [VersionDeletionPolicy](#sam-function-versiondeletionpolicy): {{String}}
  [VpcConfig](#sam-function-vpcconfig): {{[VpcConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-vpcconfig.html)}}
```

## 속성
<a name="sam-resource-function-properties"></a>

 `Architectures`   <a name="sam-function-architectures"></a>
함수의 명령 세트 아키텍처입니다.  
이 속성에 대한 자세한 내용은 *AWS Lambda 개발자 안내서*의 [Lambda 명령 세트 아키텍처](https://docs.aws.amazon.com/lambda/latest/dg/foundation-arch.html)를 참조하십시오.  
*유효한 값*: `x86_64` 혹은 `arm64` 중 하나  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*기본값*: `x86_64`  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::Function` 리소스의 `[Architectures](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-architectures)` 속성으로 직접 전달됩니다.

 `AssumeRolePolicyDocument`   <a name="sam-function-assumerolepolicydocument"></a>
이 함수에 대해 생성된 기본값에 대한 `Role`AssumeRolePolicyDocument를 추가합니다. 이 속성이 지정되지 않은 경우이 함수에 대한 기본 수임 역할을 AWS SAM 추가합니다.  
*유형*: JSON  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::IAM::Role` 리소스의 `[AssumeRolePolicyDocument](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html#cfn-iam-role-assumerolepolicydocument)` 속성과 유사합니다.는이 속성을이 함수에 대해 생성된 IAM 역할에 AWS SAM 추가합니다. 역할의 Amazon 리소스 이름(ARN)이 이 함수에 대해 제공된 경우 이 속성은 아무 작업도 수행하지 않습니다.

 `AutoPublishAlias`   <a name="sam-function-autopublishalias"></a>
Lambda 별칭의 이름. Lambda의 별칭에 대한 자세한 내용은 *AWS Lambda 개발자 안내서*의 [Lambda 함수 별칭](https://docs.aws.amazon.com/lambda/latest/dg/configuration-aliases.html)을 참조하세요. 이 속성을 사용하는 예제는 [를 사용하여 서버리스 애플리케이션 점진적으로 배포 AWS SAM](automating-updates-to-serverless-apps.md) 섹션을 참조하세요.  
AWS SAM 는이 속성이 설정되면 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-version.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-version.html) 및 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html) 리소스를 생성합니다. 이 시나리오에 대한 자세한 내용은 [AutoPublishalias 속성 지정됨](sam-specification-generated-resources-function.md#sam-specification-generated-resources-function-autopublishalias) 섹션을 참조하세요. 생성된 CloudFormation 리소스에 대한 일반적인 내용은 섹션을 참조하세요[에 대해 생성된 CloudFormation 리소스 AWS SAM](sam-specification-generated-resources.md).  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `AutoPublishAliasAllProperties`   <a name="sam-function-autopublishaliasallproperties"></a>
새 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-version.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-version.html)이 생성되는 시기를 지정합니다. `true`의 경우, Lambda 함수의 속성이 변경되면 새 Lambda 버전이 생성됩니다. `false`의 경우, 다음 속성 중 하나가 변경된 경우에만 새 Lambda 버전이 생성됩니다.  
+ `Environment`, `MemorySize`, 또는 `SnapStart`.
+ `Code` 속성의 업데이트를 초래하는 일체의 변경(예:`CodeDict`, `ImageUri`, 혹은 `InlineCode`).
이 속성은 `AutoPublishAlias`이 정의될 것을 요구합니다.  
만약 `AutoPublishCodeSha256`도 지정되면, 그것의 행위는 `AutoPublishAliasAllProperties: true`에 우선합니다.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*기본값:* `false`  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `AutoPublishCodeSha256`   <a name="sam-function-autopublishcodesha256"></a>
이 문자열을 사용할 경우 `CodeUri` 값과 함께 새 Lambda 버전을 게시해야 하는지 여부를 결정하는 데 사용됩니다. Amazon S3 위치에 저장된 배포 패키지가 업데이트된 Lambda 함수 코드가 포함된 새 배포 패키지로 교체되지만, `CodeUri` 속성은 변경되지 않은 상태로 유지되는 경우(새 배포 패키지가 새 Amazon S3 위치에 업로드되고 `CodeUri`가 새 위치로 변경되는 경우와 반대) 발생할 수 있는 배포 문제를 해결하기 위해 이 속성을 주로 사용합니다.  
이 문제는 다음과 같은 특성을 가진 AWS SAM 템플릿으로 표시됩니다.  
+ `DeploymentPreference` 객체가 점진적 배포를 위해 구성됩니다([를 사용하여 서버리스 애플리케이션 점진적으로 배포 AWS SAM](automating-updates-to-serverless-apps.md)에 설명되어 있음).
+ `AutoPublishAlias` 속성이 설정되어 있으며 배포 간에 변경되지 않습니다.
+ `CodeUri` 속성이 설정되어 있으며 배포 간에 변경되지 않습니다.
이 시나리오에서 `AutoPublishCodeSha256`을 업데이트하면 새 Lambda 버전이 성공적으로 생성됩니다. 하지만 Amazon S3에 배포된 새 함수 코드는 인식되지 않습니다. 새 함수 코드를 인식하려면 Amazon S3 버킷에서 버전 관리를 사용하는 것이 좋습니다. Lambda 함수의 `Version` 속성을 지정하고 항상 최신 배포 패키지를 사용하도록 버킷을 구성합니다.  
이 시나리오에서 점진적 배포를 성공적으로 트리거하려면 `AutoPublishCodeSha256`에 대한 고유한 값을 제공해야 합니다.   
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `CapacityProviderConfig`   <a name="sam-function-capacityproviderconfig"></a>
함수의 게시된 버전을 연결할 용량 공급자를 구성합니다. 이렇게 하면 Lambda 관리형 인스턴스에서 관리하는 고객 소유 EC2 인스턴스에서 함수를 실행할 수 있습니다.  
*유형*: [CapacityProviderConfig](sam-property-function-capacityproviderconfig.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*: SAM은 `AWS::Lambda::Function` 리소스의 속성에 전달된 `[CapacityProviderConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-capacityproviderconfig)` 속성을 평면화하고 중첩된 구조를 재구성합니다.

 `CodeSigningConfigArn`   <a name="sam-function-codesigningconfigarn"></a>
이 함수에 대해 코드 서명을 활성화하는 데 사용되는 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-codesigningconfig.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-codesigningconfig.html)리소스의 ARN. 코드 서명에 대한 자세한 내용은 [AWS SAM 애플리케이션에 대한 코드 서명 설정](authoring-codesigning.md) 섹션을 참조하세요.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::Function` 리소스의 `[CodeSigningConfigArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-codesigningconfigarn)` 속성으로 직접 전달됩니다.

 `CodeUri`   <a name="sam-function-codeuri"></a>
함수의 코드입니다. 허용 가능한 값은 다음을 포함합니다.  
+ 함수의 Amazon S3 URI. 예를 들어 `s3://bucket-123456789/sam-app/1234567890abcdefg`입니다.
+ 함수의 로컬 경로. 예를 들어 `hello_world/`입니다.
+ [FunctionCode](sam-property-function-functioncode.md) 객체입니다.
함수의 Amazon S3 URI 또는 [FunctionCode](sam-property-function-functioncode.md) 객체를 제공하는 경우 유효한 [Lambda 배포 패키지](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html)를 참조해야 합니다.  
로컬 파일 경로를 제공하는 경우 배포 시 AWS SAMCLI를 사용하여 로컬 파일을 업로드하십시오. 자세한 내용은 [가 배포 시 로컬 파일을 AWS SAM 업로드하는 방법](deploy-upload-local-files.md)를 참조하세요.  
`CodeUri` 속성에서 내장 함수를 사용하는 경우 AWS SAM 는 값을 올바르게 구문 분석할 수 없습니다. 대신 [AWS::LanguageExtensions transform](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-aws-languageextensions.html)을 사용하는 것이 좋습니다.
*유형*: [ 문자열 \| [FunctionCode](sam-property-function-functioncode.md) ]  
*필수 항목 여부*: 조건부. `PackageType`이 `Zip`로 설정된 경우, `CodeUri` 또는 중 `InlineCode` 하나가 필요합니다.  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::Function` 리소스의 `[ Code](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-code)` 속성과 유사합니다. 중첩된 Amazon S3 속성은 다르게 지정됩니다.

 `DeadLetterQueue`   <a name="sam-function-deadletterqueue"></a>
Lambda가 처리할 수 없는 이벤트를 전송하는 Amazon Simple Notification Service(Amazon SNS) 주제 또는 Amazon Simple Queue Service(SQS) 대기열을 구성합니다. DLQ(Dead Letter Queue) 기능에 대한 자세한 내용은 *AWS Lambda 개발자 안내서*의 [DLQ(Dead Letter Queue)](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async-retain-records.html#invocation-dlq)를 참조하세요.  
귀하의 Lambda 함수의 이벤트 소스가 Amazon SQS 대기열인 경우, Lambda 함수가 아닌 소스 대기열에 대하여 DLQ(Dead Letter Queue) 대기열을 구성합니다. 함수에 구성하는 배달하지 못한 편지 대기열은 이벤트 소스 대기열이 아닌 함수의 [비동기식 간접 호출 대기열](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html)에 사용됩니다.
*유형*: 맵 \| [DLQ](sam-property-function-deadletterqueue.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::Function` 리소스의 `[DeadLetterConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-deadletterconfig.html)` 속성과 유사합니다. CloudFormation 에서 유형은에서 파생되는 반면 `TargetArn`에서는 AWS SAM 와 함께 유형을 전달해야 합니다`TargetArn`.

 `DeploymentPreference`   <a name="sam-function-deploymentpreference"></a>
점진적 Lambda 배포를 가능하게 하는 설정.  
`DeploymentPreference` 객체가 지정되면 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-application.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-application.html) 호출된 `ServerlessDeploymentApplication` (스택당 하나), [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html) 호출된 및 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html) 호출된 `{{<function-logical-id>}}DeploymentGroup`를 AWS SAM 생성합니다`CodeDeployServiceRole`.  
*유형*: [DeploymentPreference](sam-property-function-deploymentpreference.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.  
*추가 참조*: 이 속성에 대한 자세한 내용은 [를 사용하여 서버리스 애플리케이션 점진적으로 배포 AWS SAM](automating-updates-to-serverless-apps.md) 섹션을 참조하세요.

 `Description`   <a name="sam-function-description"></a>
함수에 대한 설명입니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::Function` 리소스의 `[Description](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-description)` 속성으로 직접 전달됩니다.

 `DurableConfig`   <a name="sam-function-durableconfig"></a>
내구성 함수에 대한 구성입니다. 자동 체크포인트 및 재생 기능을 사용하여 상태 저장 실행을 활성화합니다.  
*유형*: [DurableConfig](sam-property-function-durableconfig.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `Environment`   <a name="sam-function-environment"></a>
런타임 환경에 대한 구성.  
*유형*: [Environment](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-environment.html)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::Function` 리소스의 `[Environment](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-environment.html)` 속성으로 직접 전달됩니다.

 `EphemeralStorage`   <a name="sam-function-ephemeralstorage"></a>
`/tmp`의 Lambda 함수에서 사용할 수 있는 디스크 공간 (MB)을 지정하는 객체.  
실행 역할에 대한 자세한 내용은 *AWS Lambda 개발자 가이드*의 [Lambda 실행 역할](https://docs.aws.amazon.com/lambda/latest/dg/runtimes-context.html)을 참조하세요.  
*유형*: [EphemeralStorage](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-ephemeralstorage)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::Function` 리소스의 `[EphemeralStorage](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-ephemeralstorage)` 속성으로 직접 전달됩니다.

 `EventInvokeConfig`   <a name="sam-function-eventinvokeconfig"></a>
Lambda 함수의 이벤트 간접 호출 구성을 설명하는 객체입니다.  
*유형*: [EventInvokeConfiguration](sam-property-function-eventinvokeconfiguration.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `Events`   <a name="sam-function-events"></a>
이 함수를 트리거하는 이벤트를 지정합니다. 이벤트는 유형 및 각 유형에 따라 달라지는 속성 집합으로 구성됩니다.  
*유형*: [EventSource](sam-property-function-eventsource.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `FileSystemConfigs`   <a name="sam-function-filesystemconfigs"></a>
Amazon Elastic File System(Amazon EFS) 파일 시스템 또는 Amazon S3 Files 파일 시스템의 연결 설정을 지정하는 [FileSystemConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-filesystemconfig.html) 객체 목록입니다. Amazon EFS 액세스 포인트 또는 S3 파일 액세스 포인트를 연결할 수 있지만 둘 다 연결할 수는 없습니다.  
각 `FileSystemConfig` 객체에는 `Arn` (액세스 포인트 ARN) 및 `LocalMountPath` (파일 시스템이 함수에 탑재되는 경로)가 포함됩니다. Amazon EFS의 경우 ARN은 Amazon EFS 액세스 포인트 ARN입니다. S3 파일의 경우 ARN은 `AWS::S3Files::AccessPoint` ARN입니다.  
귀하의 템플릿이 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-mounttarget.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-efs-mounttarget.html) 리소스를 포함하는 경우, 함수 전에 마운트 대상이 생성되거나 업데이트되도록 `DependsOn` 리소스 속성도 지정해야 합니다. 마찬가지로 템플릿에 `AWS::S3Files::MountTarget` 리소스가 포함된 경우 S3 파일 탑재 대상에 대한 `DependsOn` 속성을 지정해야 합니다.  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::Function` 리소스의 `[FileSystemConfigs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-filesystemconfigs)` 속성으로 직접 전달됩니다.

 `FunctionName`   <a name="sam-function-functionname"></a>
함수의 이름. 이름을 지정하지 않으면 고유한 이름 하나가 귀하를 위해 생성됩니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::Function` 리소스의 `[FunctionName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-functionname)` 속성으로 직접 전달됩니다.

 `FunctionScalingConfig`   <a name="sam-function-functionscalingconfig"></a>
용량 공급자에서 실행되는 Lambda 함수의 조정 동작을 구성합니다. 최소 및 최대 실행 환경 수를 정의합니다.  
*유형*: [FunctionScalingConfig](sam-property-function-functionscalingconfig.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::Function` 리소스의 `[FunctionScalingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-functionscalingconfig)` 속성으로 직접 전달됩니다.

 `FunctionUrlConfig`   <a name="sam-function-functionurlconfig"></a>
함수 URL을 설명하는 객체입니다. 함수 URL은 귀하의 함수를 간접 호출하는 데 사용할 수 있는 HTTP(S) 엔드포인트입니다.  
자세한 내용은 *AWS Lambda 개발자 안내서*의 [Function URLs](https://docs.aws.amazon.com/lambda/latest/dg/lambda-urls.html)를 참조하세요.  
*유형*: [FunctionUrlConfig](sam-property-function-functionurlconfig.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `Handler`   <a name="sam-function-handler"></a>
코드 내에서 실행을 시작하기 위해 직접 호출되는 함수입니다. 이 속성은 `PackageType` 속성이 `Zip`로 설정된 경우에만 필요합니다.  
*유형*: 문자열  
*필수 항목 여부*: 조건부  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::Function` 리소스의 `[Handler](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-handler)` 속성으로 직접 전달됩니다.

 `ImageConfig`   <a name="sam-function-imageconfig"></a>
Lambda 컨테이너 이미지 설정을 구성하는 데 사용되는 객체입니다. 자세한 내용은 *AWS Lambda 개발자 가이드*에서 [Lambda로 컨테이너 이미지 사용하기](https://docs.aws.amazon.com/lambda/latest/dg/lambda-images.html)를 참조하세요.  
*유형*: [ImageConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-imageconfig)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::Function` 리소스의 `[ImageConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-imageconfig)` 속성으로 직접 전달됩니다.

 `ImageUri`   <a name="sam-function-imageuri"></a>
Lambda 함수의 컨테이너 이미지에 대한 Amazon Elastic Container Registry(Amazon ECR) 리포지토리의 URI입니다. 이 속성은 `PackageType` 속성이 `Image`로 설정된 경우에만 적용되며, 그렇지 않으면 무시됩니다. 자세한 내용은 *AWS Lambda 개발자 가이드*에서 [Lambda로 컨테이너 이미지 사용하기](https://docs.aws.amazon.com/lambda/latest/dg/lambda-images.html)를 참조하세요.  
`PackageType` 속성이 로 설정된 경우 `Image` `ImageUri`가 필요하거나 AWS SAM 템플릿 파일에 필요한 `Metadata` 항목을 사용하여 애플리케이션을 빌드해야 합니다. 자세한 내용은 [를 사용한 기본 빌드 AWS SAM](serverless-sam-cli-using-build.md) 단원을 참조하십시오.
필요한 `Metadata` 항목을 사용하여 애플리케이션을 빌드하는 것이 `ImageUri`에 우선하므로 둘 다 지정하면 `ImageUri`은 무시됩니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::Function` `Code` 데이터 유형의 `[ImageUri](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html#cfn-lambda-function-code-imageuri)` 속성으로 직접 전달됩니다.

 `InlineCode`   <a name="sam-function-inlinecode"></a>
템플릿에 직접 작성된 Lambda 함수 코드입니다. 이 속성은 `PackageType` 속성이 `Zip`로 설정된 경우에만 적용되며, 그렇지 않으면 무시됩니다.   
`PackageType` 속성이 `Zip`(기본값)으로 설정된 경우 `CodeUri` 또는 `InlineCode` 중 하나가 요구됩니다.
*유형*: 문자열  
*필수 항목 여부*: 조건부  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::Function` `Code` 데이터 유형의 `[ZipFile](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html#cfn-lambda-function-code-zipfile)` 속성으로 직접 전달됩니다.

 `KmsKeyArn`   <a name="sam-function-kmskeyarn"></a>
Lambda가 함수의 환경 변수를 암호화하고 해독하는 데 사용하는 AWS Key Management Service (AWS KMS) 키의 ARN입니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::Function` 리소스의 `[KmsKeyArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-kmskeyarn)` 속성으로 직접 전달됩니다.

 `Layers`   <a name="sam-function-layers"></a>
이 함수가 사용해야 하는 `LayerVersion` ARN 목록. 여기에 지정된 순서는 Lambda 함수를 실행할 때 들여오는 순서입니다. 버전은 버전이 포함된 전체 ARN이거나 LayerVersion 리소스에 대한 참조입니다. 예를 들어, `LayerVersion`에 대한 참조는 `!Ref MyLayer`일 것이고, 버전이 포함된 전체 ARN은 `arn:aws:lambda:{{region}}:{{account-id}}:layer:{{layer-name}}:{{version}}`일 것입니다.  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::Function` 리소스의 `[Layers](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-layers)` 속성으로 직접 전달됩니다.

 `LoggingConfig`   <a name="sam-function-loggingconfig"></a>
함수의 Amazon CloudWatch Logs 구성입니다.  
*Type*: [LoggingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-loggingconfig.html)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::Function` 리소스의 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-loggingconfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-loggingconfig) 속성으로 직접 전달됩니다.

 `MemorySize`   <a name="sam-function-memorysize"></a>
함수의 간접 호출당 할당된 메모리 크기(MB)입니다.  
*유형*: 정수  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::Function` 리소스의 `[MemorySize](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-memorysize)` 속성으로 직접 전달됩니다.

 `PackageType`   <a name="sam-function-packagetype"></a>
Lambda 함수의 배포 패키지 유형. 자세한 내용은 *AWS Lambda 개발자 안내서*의[ Lambda 배포 패키지](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html)를 참조하세요.  
**참고**:  
1. 이 속성을 `Zip`(기본값)으로 설정하면 `CodeUri` 또는 `InlineCode`이 적용되며 `ImageUri`는 무시됩니다.  
2. 이 속성을 `Image`로 설정하면 `ImageUri` 속성만 적용되고 `CodeUri` 및 `InlineCode`는 둘 다 무시됩니다. 함수의 컨테이너 이미지를 저장하는 데 필요한 Amazon ECR 리포지토리는에서 자동으로 생성할 수 있습니다 AWS SAM CLI. 자세한 내용은을 참조하십시오[sam deploy](sam-cli-command-reference-sam-deploy.md).  
*유효한 값*: `Zip` 또는 `Image`  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*기본값*: `Zip`  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::Function` 리소스의 `[PackageType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-packagetype)` 속성으로 직접 전달됩니다.

 `PermissionsBoundary`   <a name="sam-function-permissionsboundary"></a>
이 함수의 실행 역할에 사용할 권한 경계의 ARN입니다. 이 속성은 역할이 자동으로 생성된 경우에만 작동합니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::IAM::Role` 리소스의 `[PermissionsBoundary](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html#cfn-iam-role-permissionsboundary)` 속성으로 직접 전달됩니다.

 `Policies`   <a name="sam-function-policies"></a>
이 함수의 권한 정책. 정책은 함수의 기본 AWS Identity and Access Management (IAM) 실행 역할에 추가됩니다.  
이 속성은 단일 값 또는 값 목록을 허용합니다. 허용되는 값은 다음과 같습니다.  
+ [AWS SAM정책 템플릿](serverless-policy-templates.md).
+ [AWS 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#aws-managed-policies) 또는 [고객 관리형 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#customer-managed-policies)의 ARN.
+ 다음 [ 목록에](https://github.com/aws/serverless-application-model/blob/develop/samtranslator/internal/data/aws_managed_policies.json) 있는 AWS 관리형 정책의 이름입니다.
+ [ 맵 형식](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_managed-vs-inline.html#inline-policies)의 YAML 인라인 IAM 정책입니다.
`Role` 속성을 설정하면 이 속성은 무시됩니다.
*유형*: 문자열 \| 목록 \| 맵  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::IAM::Role` 리소스의 `[Policies](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html#cfn-iam-role-policies)` 속성과 유사합니다.

 `PublishToLatestPublished`   <a name="sam-function-publishtolatestpublished"></a>
함수가 업데이트될 때 최신 함수 버전을 게시할지 여부를 지정합니다.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::Function` 리소스의 `[PublishToLatestPublished](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-publishtolatestpublished)` 속성으로 직접 전달됩니다.

`PropagateTags`  <a name="sam-function-propagatetags"></a>
`Tags`속성의 태그를 [AWS::Serverless::Function](sam-specification-generated-resources-function.md) 생성된 리소스로 전달할지 여부를 지정합니다. 귀하의 생성된 리소스에 태그를 전파하도록 `True`을 지정합니다.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*기본값*: `False`  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `ProvisionedConcurrencyConfig`   <a name="sam-function-provisionedconcurrencyconfig"></a>
함수의 별칭에 대한 프로비저닝된 동시성 구성.  
`AutoPublishAlias`가 설정된 경우에만 `ProvisionedConcurrencyConfig`을 지정할 수 있습니다. 이렇게 하지 않으면 오류가 발생합니다.
*유형*: [ProvisionedConcurrencyConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html#cfn-lambda-alias-provisionedconcurrencyconfig)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::Alias` 리소스의 `[ProvisionedConcurrencyConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-alias.html#cfn-lambda-alias-provisionedconcurrencyconfig)` 속성으로 직접 전달됩니다.

 `RecursiveLoop`   <a name="sam-function-recursiveloop"></a>
함수의 재귀 루프 감지 구성 상태입니다.  
이 값이 `Allow`로 설정되어 있으면 Lambda가 재귀 루프의 일부로 간접 호출되는 함수를 감지해도 아무런 조치를 취하지 않습니다.  
이 값이 `Terminate`로 설정되어 있으면 Lambda가 재귀 루프의 일부로 간접 호출되는 함수를 감지한 경우 함수가 간접 호출되는 것을 중지하고 사용자에게 알립니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::Function` 리소스의 `[RecursiveLoop](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-recursiveloop)` 속성으로 직접 전달됩니다.

 `ReservedConcurrentExecutions`   <a name="sam-function-reservedconcurrentexecutions"></a>
함수에 대해 예비하고 싶은 최대 동시 실행 수를 지정합니다.  
이 속성에 대한 자세한 내용은 *AWS Lambda 개발자 안내서*[의 Lambda함수](https://docs.aws.amazon.com/lambda/latest/dg/scaling.html) 규모 조정을 참조하세요.  
*유형*: 정수  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::Function` 리소스의 `[ReservedConcurrentExecutions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-reservedconcurrentexecutions)` 속성으로 직접 전달됩니다.

 `Role`   <a name="sam-function-role"></a>
이 함수의 실행 역할로 사용할 IAM 역할의 ARN.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::Function` 리소스의 `[Role](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-role)` 속성과 유사합니다. 이는 에는 필요하지 CloudFormation 만 에는 필요하지 않습니다 AWS SAM. 역할을 지정하지 않으면 `{{<function-logical-id>}}Role`의 논리 ID로 귀하에게 하나가 생성됩니다.

 `RolePath`   <a name="sam-function-rolepath"></a>
함수의 IAM 실행 역할의 경로입니다.  
역할이 자동으로 생성될 때 이 속성을 사용하십시오. `Role` 속성에 역할이 지정된 경우에는 사용하지 마십시오.  
*유형*: 문자열  
*필수 항목 여부*: 조건부  
*CloudFormation 호환성*:이 속성은 `AWS::IAM::Role` 리소스의 `[Path](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html#cfn-iam-role-path)` 속성으로 직접 전달됩니다.

 `Runtime`   <a name="sam-function-runtime"></a>
함수 [런타임](https://docs.aws.amazon.com/lambda/latest/dg/lambda-runtimes.html)의 식별자입니다. 이 속성은 `PackageType` 속성이 `Zip`로 설정된 경우에만 필요합니다.  
이 속성의 `provided` 식별자를 지정하는 경우 `Metadata` 리소스 속성을 사용하여이 함수에 필요한 사용자 지정 런타임을 빌드 AWS SAM 하도록에 지시할 수 있습니다. 사용자 지정 런타임을 구축하는 방법에 대한 자세한 정보는 [에서 사용자 지정 런타임을 사용하여 Lambda 함수 빌드 AWS SAM](building-custom-runtimes.md) 섹션을 참조하세요.
*유형*: 문자열  
*필수 항목 여부*: 조건부  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::Function` 리소스의 `[Runtime](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-runtime)` 속성으로 직접 전달됩니다.

 `RuntimeManagementConfig`   <a name="sam-function-runtimemanagementconfig"></a>
런타임 환경 업데이트, 롤백 동작, 특정 런타임 버전 선택 등 Lambda 함수의 런타임 관리 옵션을 구성합니다. 자세한 내용은 *AWS Lambda 개발자 안내서*의 [Lambda 런타임 업데이트](https://docs.aws.amazon.com//lambda/latest/dg/runtimes-update.html)를 참조하세요.  
*유형*: [RuntimeManagementConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-runtimemanagementconfig.html)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::Function` 리소스의 `[ RuntimeManagementConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-runtimemanagementconfig.html)` 속성으로 직접 전달됩니다.

 `SnapStart`   <a name="sam-function-snapstart"></a>
모든 새 Lambda 함수 버전의 스냅샷을 생성합니다. 스냅샷은 모든 종속성을 포함하여 초기화된 함수의 캐시된 상태입니다. 함수는 한 번만 초기화되고 캐시된 상태는 향후 모든 간접 호출에 재사용되므로 함수를 초기화해야 하는 횟수를 줄여 애플리케이션 성능을 개선합니다. 자세한 내용은 *AWS Lambda 개발자 안내서*의 [Lambda SnapStart를 통한 시작 성능 개선](https://docs.aws.amazon.com/lambda/latest/dg/snapstart.html)을 참조하세요.   
*유형*: [SnapStart](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-snapstart.html)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::Function` 리소스의 `[SnapStart](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-snapstart.html)` 속성으로 직접 전달됩니다.

 `SourceKMSKeyArn`   <a name="sam-function-sourcekmskeyarn"></a>
고객의 ZIP 함수 코드를 암호화하는 데 사용되는 KMS 키 ARN을 나타냅니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::Function` `Code` 데이터 유형의 `[SourceKMSKeyArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-sourcekmskeyarn)` 속성으로 직접 전달됩니다.

 `Tags`   <a name="sam-function-tags"></a>
이 함수에 추가된 태그를 지정하는 맵(문자열에 문자열)입니다. 태그의 유효한 키와 값에 관한 자세한 내용은 *AWS Lambda 개발자 안내서*의 [태그 키 및 값 요구 사항](https://docs.aws.amazon.com/lambda/latest/dg/configuration-tags.html#configuration-tags-restrictions)을 참조하세요.  
스택이 생성되면는이 Lambda 함수와이 함수에 대해 생성된 기본 역할에 `lambda:createdBy:SAM` 태그를 AWS SAM 자동으로 추가합니다.  
*유형*: 맵  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::Function` 리소스의 `[Tags](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-tags)` 속성과 유사합니다. 의 `Tags` 속성은 키-값 페어로 AWS SAM 구성됩니다(이 CloudFormation 속성은 `Tag` 객체 목록으로 구성됨). 또한는이 Lambda 함수와이 함수에 대해 생성된 기본 역할에 `lambda:createdBy:SAM` 태그를 AWS SAM 자동으로 추가합니다.

 `TenancyConfig`   <a name="sam-function-tenancyconfig"></a>
Lambda 테넌트 격리 모드에 대한 구성입니다. 실행 환경이 서로 다른 테넌트 IDs 간에 공유되지 않도록 하여 다중 테넌트 애플리케이션을 위한 컴퓨팅 수준 격리를 제공합니다.  
*유형*: [TenancyConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-tenancyconfig.html)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::Function` 리소스의 `[TenancyConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-tenancyconfig)` 속성으로 직접 전달됩니다.

 `Timeout`   <a name="sam-function-timeout"></a>
중지되기 전까지 함수를 실행할 수 있는 최대 시간(초).  
*유형*: 정수  
*필수 항목 여부*: 아니요  
*기본값:* 3  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::Function` 리소스의 `[Timeout](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-timeout)` 속성으로 직접 전달됩니다.

 `Tracing`   <a name="sam-function-tracing"></a>
함수의 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](https://docs.aws.amazon.com/lambda/latest/dg/lambda-x-ray.html) 참조하세요.  
*유효한 값*: [`Active`\|`Disabled`\|`PassThrough`]  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::Function` 리소스의 `[TracingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-tracingconfig)` 속성과 유사합니다.

 `VersionDescription`   <a name="sam-function-versiondescription"></a>
새 Lambda 버전 리소스에 추가되는 `Description` 필드를 지정합니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::Version` 리소스의 `[Description](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-version.html#cfn-lambda-version-description)` 속성으로 직접 전달됩니다.

 `VersionDeletionPolicy`   <a name="sam-function-versiondeletionpolicy"></a>
가 `AutoPublishAlias` 설정될 때 생성되는 Lambda 버전 리소스에 대한 삭제 정책을 지정합니다. 이렇게 하면 스택이 삭제될 때 버전 리소스가 보존 또는 삭제되는지 여부를 제어합니다.  
*유효한 값*: `Delete`, `Retain` 또는 `Snapshot`  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다. 생성된 `AWS::Lambda::Version` 리소스에 `DeletionPolicy` 속성을 설정합니다.

 `VpcConfig`   <a name="sam-function-vpcconfig"></a>
이 함수가 Virtual Private Cloud(VPC) 내의 프라이빗 리소스에 액세스할 수 있도록 하는 구성입니다.  
*유형*: [VpcConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-vpcconfig.html)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::Function` 리소스의 `[VpcConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-vpcconfig.html)` 속성으로 직접 전달됩니다.

## 반환 값
<a name="sam-resource-function-return-values"></a>

### Ref
<a name="sam-resource-function-return-values-ref"></a>

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

`Ref` 함수의 사용에 대한 자세한 내용은 *AWS CloudFormation 사용자 가이드*의 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html) 섹션을 참조하세요.

### Fn::GetAtt
<a name="sam-resource-function-return-values-fn--getatt"></a>

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

`Fn::GetAtt`의 사용에 대한 자세한 내용은 *AWS CloudFormation 사용자 가이드*의 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html) 섹션을 참조하세요.

`Arn`  <a name="Arn-fn::getatt"></a>
기저의 Lambda 함수의 ARN.

## 예제
<a name="sam-resource-function-examples"></a>

### 단순 함수
<a name="sam-resource-function-examples-simple-function"></a>

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

#### YAML
<a name="sam-resource-function-examples-simple-function--yaml"></a>

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

### 함수 속성 예제
<a name="sam-resource-function-examples-function-properties-example"></a>

다음은 , `InlineCode`, , `Layers`, `Policies` `Amazon EFS` 파일 시스템 및 `Api` 이벤트 소스를 사용하는 패키지 유형`Zip`(기본값)[AWS::Serverless::Function](#sam-resource-function)의 `Tracing`예제입니다.

#### YAML
<a name="sam-resource-function-examples-function-properties-example--yaml"></a>

```
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:::{{sam-s3-demo-bucket}}/*'
  Events:
    ApiEvent:
      Type: Api
      Properties:
        Path: /path
        Method: get
```

### ImageConfig 예제
<a name="sam-resource-function-examples-imageconfig-example"></a>

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

#### YAML
<a name="sam-resource-function-examples-imageconfig-example--yaml"></a>

```
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 예제
<a name="sam-resource-function-examples-runtimemanagementconfig-examples"></a>

현재 동작에 따라 런타임 환경을 업데이트하도록 구성된 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 예제
<a name="sam-resource-function-examples-snapstart-examples"></a>

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

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

### TenancyConfig 예제
<a name="sam-resource-function-examples-tenancyconfig-examples"></a>

테넌트 격리 모드가 켜져 있는 Lambda 함수의 예:

```
TestFunction
  Type: AWS::Serverless::Function
  Properties:
    ...
    TenancyConfig:
      TenantIsolationMode: PER_TENANT
```

### S3 파일 시스템 예제
<a name="sam-resource-function-examples-s3files-example"></a>

다음 예제에서는 Amazon S3 파일 시스템을 탑재하는 Lambda 함수를 생성합니다. 템플릿은 S3 버킷, 해당 버킷이 지원하는 S3 파일 시스템, VPC 서브넷의 탑재 대상 및 액세스 포인트를 생성합니다. 함수는 액세스 포인트를에 탑재`/mnt/s3files`하고 S3 버킷에 동기화되는 파일을 읽고 쓸 수 있습니다.

**참고**  
Amazon EFS 파일 시스템 또는 S3 파일 시스템을 Lambda 함수에 연결할 수 있지만 둘 다 동시에 연결할 수는 없습니다.

#### YAML
<a name="sam-resource-function-examples-s3files-example--yaml"></a>

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: Lambda function with S3 Files file system

Resources:
  # VPC and networking
  MyVpc:
    Type: AWS::EC2::VPC
    Properties:
      CidrBlock: 10.0.0.0/16
      EnableDnsSupport: true
      EnableDnsHostnames: true

  MySubnet:
    Type: AWS::EC2::Subnet
    Properties:
      VpcId: !Ref MyVpc
      CidrBlock: 10.0.1.0/24
      AvailabilityZone: !Select [0, !GetAZs '']

  MySecurityGroup:
    Type: AWS::EC2::SecurityGroup
    Properties:
      GroupDescription: Security group for Lambda and S3 Files
      VpcId: !Ref MyVpc
      SecurityGroupIngress:
        - IpProtocol: tcp
          FromPort: 2049
          ToPort: 2049
          CidrIp: 10.0.0.0/16

  # S3 bucket for file storage
  MyS3Bucket:
    Type: AWS::S3::Bucket

  # IAM role for S3 Files to access the bucket
  S3FilesRole:
    Type: AWS::IAM::Role
    Properties:
      AssumeRolePolicyDocument:
        Version: '2012-10-17'
        Statement:
          - Effect: Allow
            Principal:
              Service: elasticfilesystem.amazonaws.com
            Action: sts:AssumeRole
      Policies:
        - PolicyName: S3FilesBucketAccess
          PolicyDocument:
            Version: '2012-10-17'
            Statement:
              - Effect: Allow
                Action:
                  - s3:GetObject
                  - s3:PutObject
                  - s3:DeleteObject
                  - s3:ListBucket
                Resource:
                  - !GetAtt MyS3Bucket.Arn
                  - !Sub '${MyS3Bucket.Arn}/*'

  # S3 Files resources
  MyS3FilesFileSystem:
    Type: AWS::S3Files::FileSystem
    Properties:
      Bucket: !GetAtt MyS3Bucket.Arn
      RoleArn: !GetAtt S3FilesRole.Arn

  MyS3FilesMountTarget:
    Type: AWS::S3Files::MountTarget
    Properties:
      FileSystemId: !Ref MyS3FilesFileSystem
      SubnetId: !Ref MySubnet
      SecurityGroups:
        - !Ref MySecurityGroup

  MyS3FilesAccessPoint:
    Type: AWS::S3Files::AccessPoint
    Properties:
      FileSystemId: !Ref MyS3FilesFileSystem
      PosixUser:
        Uid: '1000'
        Gid: '1000'
      RootDirectory:
        Path: /lambda
        CreationInfo:
          OwnerUid: '1000'
          OwnerGid: '1000'
          Permissions: '750'

  # Lambda function with S3 Files mount
  MyFunction:
    Type: AWS::Serverless::Function
    DependsOn: MyS3FilesMountTarget
    Properties:
      Handler: index.handler
      Runtime: python3.12
      Timeout: 120
      VpcConfig:
        SecurityGroupIds:
          - !Ref MySecurityGroup
        SubnetIds:
          - !Ref MySubnet
      FileSystemConfigs:
        - Arn: !GetAtt MyS3FilesAccessPoint.AccessPointArn
          LocalMountPath: /mnt/s3files
      Policies:
        - Version: '2012-10-17'
          Statement:
            - Effect: Allow
              Action:
                - s3files:ClientMount
                - s3files:ClientWrite
              Resource: !GetAtt MyS3FilesAccessPoint.AccessPointArn
      InlineCode: |
        import os

        def handler(event, context):
            # Write a file to the S3 Files mount
            with open('/mnt/s3files/hello.txt', 'w') as f:
                f.write('Hello from Lambda!')

            # List files at the mount path
            files = os.listdir('/mnt/s3files')
            return {'files': files}
```