

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

# AWS SAM 템플릿
<a name="sam-specification"></a>

**sam init** 명령을 실행하고 후속 워크플로를 완료하면가 프로젝트인 애플리케이션 프로젝트 디렉터리를 AWS SAM 생성합니다 AWS SAM . AWS SAM 프로젝트에 코드를 추가하여 서버리스 애플리케이션을 정의합니다. AWS SAM 프로젝트는 파일 및 폴더 세트로 구성되지만 주로 사용하는 파일은 AWS SAM 템플릿(명명)입니다`template.yaml`. 이 템플릿에서 코드를 작성하여 서버리스 애플리케이션을 정의하는 리소스, 이벤트 소스 매핑 및 기타 속성을 표현합니다.

**참고**  
 AWS SAM 템플릿의 주요 요소는 AWS SAM 템플릿 사양입니다. 이 사양은에 비해 더 적은 코드 줄을 사용하여 서버리스 애플리케이션의 리소스 CloudFormation, 이벤트 소스 매핑, 권한, APIs 및 기타 속성을 정의할 수 있는 간단한 구문을 제공합니다.

이 섹션에서는 AWS SAM 템플릿의 섹션을 사용하여 리소스 유형, 리소스 속성, 데이터 유형, 리소스 속성, 내장 함수 및 API Gateway 확장을 정의하는 방법에 대한 세부 정보를 제공합니다.

AWS SAM 템플릿은 CloudFormation 템플릿의 확장으로, 보다 적은 코드 줄로 간편 구문을 사용하는 고유한 구문 유형이 있습니다 CloudFormation. 이 구문 유형을 사용하면 서버리스 애플리케이션을 빌드할 때 개발 속도가 빨라집니다. 자세한 정보는 [AWS SAM 리소스 및 속성](sam-specification-resources-and-properties.md) 섹션을 참조하세요. CloudFormation 템플릿에 대한 전체 참조는 *AWS CloudFormation 사용 설명서*의 [CloudFormation 템플릿 참조](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-reference.html)를 참조하세요.

개발할 때는 애플리케이션을 더 잘 구성하고 관리하려면 애플리케이션 코드를 별도의 파일로 분할하는 것이 유용할 때가 많습니다. 기본 예제는 AWS SAM 템플릿에이 코드를 포함하지 않고 AWS Lambda 함수 코드에 별도의 파일을 사용하는 것입니다. 이렇게 하려면 프로젝트의 하위 디렉터리에서 Lambda 함수 코드를 구성하고 AWS Serverless Application Model (AWS SAM) 템플릿 내에서 로컬 경로를 참조합니다.

**Topics**
+ [AWS SAM 템플릿 구조](sam-specification-template-anatomy.md)
+ [AWS SAM 리소스 및 속성](sam-specification-resources-and-properties.md)
+ [에 대해 생성된 CloudFormation 리소스 AWS SAM](sam-specification-generated-resources.md)
+ [에서 지원하는 리소스 속성 AWS SAM](sam-specification-resource-attributes.md)
+ [에 대한 API Gateway 확장 AWS SAM](sam-specification-api-gateway-extensions.md)
+ [에 대한 내장 함수 AWS SAM](sam-specification-intrinsic-functions.md)

# AWS SAM 템플릿 구조
<a name="sam-specification-template-anatomy"></a>

 AWS SAM 템플릿 파일은 CloudFormation 사용 *AWS CloudFormation 설명서*의 템플릿 [구조](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html)에 설명된 템플릿 파일의 형식을 따릅니다. AWS SAM 템플릿 파일과 CloudFormation 템플릿 파일의 주요 차이점은 다음과 같습니다.
+ **변환 선언.** AWS SAM 템플릿 파일에는 `Transform: AWS::Serverless-2016-10-31` 선언이 필요합니다. 이 선언은 CloudFormation 템플릿 파일을 템플릿 파일로 식별합니다 AWS SAM . 변환에 대한 자세한 내용은 *AWS CloudFormation 사용자 가이드*의 [변환](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-section-structure.html)을 참조하세요.
+ **글로벌 섹션.** `Globals` 섹션은 고유합니다 AWS SAM. 이것은 귀하의 모든 서버리스 함수 및 API에 공통적인 속성을 정의합니다. 모든 `AWS::Serverless::Function`, `AWS::Serverless::Api`, `AWS::Serverless::CapacityProvider`, `AWS::Serverless::HttpApi``AWS::Serverless::SimpleTable`, 및 `AWS::Serverless::StateMachine` 리소스는 `Globals` 섹션에 정의된 속성을 상속합니다. 이 섹션에 대한 자세한 내용을 알아보려면 [AWS SAM 템플릿의 글로벌 섹션](sam-specification-template-anatomy-globals.md) 섹션을 참조하세요.
+ **리소스 섹션** AWS SAM 템플릿에서 `Resources` 섹션에는 CloudFormation 리소스와 AWS SAM 리소스의 조합이 포함될 수 있습니다. CloudFormation 리소스에 대한 자세한 내용은 *AWS CloudFormation 사용 설명서*의 [AWS 리소스 및 속성 유형 참조](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html)를 참조하세요. AWS SAM 리소스에 대한 자세한 내용은 섹션을 참조하세요[AWS SAM 리소스 및 속성](sam-specification-resources-and-properties.md).

 AWS SAM 템플릿 파일의 다른 모든 섹션은 동일한 이름의 CloudFormation 템플릿 파일 섹션에 해당합니다.

## YAML
<a name="template-anatomy-outline.yaml"></a>

다음 예제에서는 YAML 형식의 템플릿 조각을 보여줍니다.

```
Transform: AWS::Serverless-2016-10-31

Globals:
  set of globals

Description:
  String

Metadata:
  template metadata

Parameters:
  set of parameters

Mappings:
  set of mappings

Conditions:
  set of conditions

Resources:
  set of resources

Outputs:
  set of outputs
```

## 템플릿 섹션
<a name="template-anatomy-sections"></a>

AWS SAM 템플릿에는 여러 주요 섹션이 포함될 수 있습니다. 오직 `Transform` 및 `Resources` 섹션만 필요합니다.

템플릿 섹션들은 어떤 순서로든 포함시킬 수 있습니다. 그러나 언어 확장을 사용하는 경우 다음 예제와 같이 서버리스 변환 이전**(즉, `AWS::Serverless-2016-10-31` 이전)에 `AWS::LanguageExtensions`를 추가해야 합니다.

```
Transform:
  - AWS::LanguageExtensions
  - AWS::Serverless-2016-10-31
```

템플릿을 작성할 때 다음 목록의 논리적 순서를 사용하는 것이 유용할 수 있습니다. 이는 한 섹션의 값이 이전 섹션의 값을 참조할 수 있기 때문입니다.

**[변환(필수 사항)](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-section-structure.html)**  
 AWS SAM 템플릿의 경우이 섹션을 값과 함께 포함해야 합니다`AWS::Serverless-2016-10-31`.  
추가 변환은 선택 사항입니다. 변환에 대한 자세한 내용은 *AWS CloudFormation 사용자 가이드*의 [변환](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-section-structure.html)을 참조하세요.

**[글로벌(선택 사항)](sam-specification-template-anatomy-globals.md)**  
모든 서버리스 함수, API 및 단순 테이블에 공통되는 속성. 모든 `AWS::Serverless::Function`, `AWS::Serverless::Api`, `AWS::Serverless::CapacityProvider`, `AWS::Serverless::HttpApi``AWS::Serverless::SimpleTable`, 및 `AWS::Serverless::StateMachine` 리소스는 `Globals` 섹션에 정의된 속성을 상속합니다.  
이 섹션은에 고유합니다 AWS SAM. CloudFormation 템플릿에는 해당 섹션이 없습니다.

**[설명(선택 사항)](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-description-structure.html)**  
템플릿을 설명하는 텍스트 문자열입니다.  
이 섹션은 CloudFormation 템플릿의 `Description` 섹션과 직접 일치합니다.

**[Metadata(선택 사항)](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html)**  
템플릿에 대한 추가 정보를 제공하는 객체입니다.  
이 섹션은 CloudFormation 템플릿의 `Metadata` 섹션과 직접 일치합니다.

**[파라미터(선택 사항)](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html)**  
(스택을 생성하거나 업데이트할 때) 실행 시간에 템플릿에 전달하는 값입니다. 템플릿의 `Resources` 및 `Outputs` 섹션에서 파라미터를 참조할 수 있습니다. `Parameters` 섹션에 선언된 객체는 **sam deploy --guided** 명령으로 하여금 사용자에게 추가 프롬프트를 표시하게 합니다.  
`sam deploy`명령의 `--parameter-overrides` 파라미터를 사용하여 전달된 값과 구성 파일의 항목이 AWS SAM 템플릿 파일의 항목보다 우선합니다. `sam deploy` 명령에 대한 자세한 내용은 AWS SAMCLI 명령 참조 내 [sam deploy](sam-cli-command-reference-sam-deploy.md) 섹션을 참조하세요. 구성 파일에 대한 자세한 내용은 [AWS SAMCLI구성 파일](serverless-sam-cli-config.md) 섹션을 참조하세요.

**[Mappings(선택 사항)](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/mappings-section-structure.html)**  
조건부 파라미터 값을 지정하는 데 사용할 수 있는 키와 관련 값의 매핑으로, 조회 테이블과 비슷합니다. `Resources` 및 `Outputs` 섹션의 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-findinmap.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-findinmap.html) 내장 함수를 사용하여 키를 상응하는 값에 매칭할 수 있습니다.  
이 섹션은 CloudFormation 템플릿의 `Mappings` 섹션과 직접 일치합니다.

**[조건(선택 사항)](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/conditions-section-structure.html)**  
스택 생성 또는 업데이트 시 특정 리소스 속성에 값이 할당되는지 또는 특정 리소스가 생성되는지 여부를 제어하는 조건입니다. 예를 들어, 스택이 프로덕션용인지 테스트 환경용인지에 따라 달라지는 리소스를 조건부로 생성할 수 있습니다.  
이 섹션은 CloudFormation 템플릿의 `Conditions` 섹션과 직접 일치합니다.

**[리소스(필수 사항)](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resources-section-structure.html)**  
Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스 또는 Amazon Simple Storage Service(S3) 버킷 같은 스택 리소스들 및 이들의 속성. 템플릿의 `Resources` 및 `Outputs` 섹션에서 리소스를 참조할 수 있습니다.  
이 섹션은 CloudFormation 템플릿의 `Resources` 섹션과 비슷합니다. AWS SAM 템플릿에서이 섹션에는 AWS SAM 리소스 외에도 CloudFormation 리소스가 포함될 수 있습니다.

**[Outputs(선택 사항)](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/outputs-section-structure.html)**  
귀하가 귀하의 스택의 속성을 볼 때마다 표시되는 값을 설명합니다. 예를 들어 S3 버킷 이름에 대한 출력을 선언한 다음 `aws cloudformation describe-stacks` AWS Command Line Interface (AWS CLI) 명령을 호출하여 이름을 볼 수 있습니다.  
이 섹션은 CloudFormation 템플릿의 `Outputs` 섹션들에 직접 관련됩니다.

## 다음 단계
<a name="template-anatomy-next-steps"></a>

 AWS SAM 템플릿 파일이 포함된 샘플 서버리스 애플리케이션을 다운로드하고 배포하려면 섹션을 참조[시작하기 AWS SAM](serverless-getting-started.md)하고의 지침을 따르세요[자습서:를 사용하여 Hello World 애플리케이션 배포 AWS SAM](serverless-getting-started-hello-world.md).

# AWS SAM 템플릿의 글로벌 섹션
<a name="sam-specification-template-anatomy-globals"></a>

 AWS SAM 템플릿에서 선언하는 리소스에 공통 구성이 있는 경우가 있습니다. 예를 들어 동일한 `AWS::Serverless::Function`, `Runtime`, `Memory`, `VPCConfig` 및 `Environment`의 구성을 갖는 여러 `Cors` 리소스가 있는 애플리케이션이 있을 수 있습니다. 모든 리소스에서 이 정보를 복제하는 대신 `Globals` 섹션에서 정보를 한 번 선언하고 리소스가 해당 정보를 승계하도록 할 수 있습니다.

`Globals` 섹션은 다음 AWS SAM 리소스 유형을 지원합니다.
+ `AWS::Serverless::Api`
+ `AWS::Serverless::CapacityProvider`
+ `AWS::Serverless::Function`
+ `AWS::Serverless::HttpApi`
+ `AWS::Serverless::SimpleTable`
+ `AWS::Serverless::StateMachine`

예제:

```
Globals:
  Function:
    Runtime: nodejs12.x
    Timeout: 180
    Handler: index.handler
    Environment:
      Variables:
        TABLE_NAME: data-table

Resources:
  HelloWorldFunction:
    Type: AWS::Serverless::Function
    Properties:
      Environment:
        Variables:
          MESSAGE: "Hello From SAM"

  ThumbnailFunction:
    Type: AWS::Serverless::Function
    Properties:
      Events:
        Thumbnail:
          Type: Api
          Properties:
            Path: /thumbnail
            Method: POST
```

이 예제에서는 `HelloWorldFunction` 및 `ThumbnailFunction` 둘 다 `Runtime`을 위하여 “nodejs12.x”, `Timeout`를 위하여 “180”초, `Handler`를 위하여 “index.handler”를 각각 사용합니다. `HelloWorldFunction`은 승계된 TABLE\$1NAME 외에도 메시지 환경 변수를 추가합니다. `ThumbnailFunction`은 모든 `Globals` 속성을 승계하고 API 이벤트 소스를 추가합니다.

## 지원되는 리소스 및 속성
<a name="sam-specification-template-anatomy-globals-supported-resources-and-properties"></a>

AWS SAM 는 다음 리소스 및 속성을 지원합니다.

```
Globals:
  Api:
    AccessLogSetting:
    Auth:
    BinaryMediaTypes:
    CacheClusterEnabled:
    CacheClusterSize:
    CanarySetting:
    Cors:
    DefinitionUri:
    Domain:
    EndpointConfiguration:
    GatewayResponses:
    MethodSettings:
    MinimumCompressionSize:
    Name:
    OpenApiVersion:
    PropagateTags:
    TracingEnabled:
    Variables:
  
  CapacityProvider:
    InstanceRequirements:
    KmsKeyArn:
    OperatorRole:
    PropagateTags:
    ScalingConfig:
    Tags:
    VpcConfig:
  
  Function:
    Architectures:
    AssumeRolePolicyDocument:
    AutoPublishAlias:
    AutoPublishAliasAllProperties:
    CapacityProviderConfig:
    CodeSigningConfigArn:
    CodeUri:
    DeadLetterQueue:
    DeploymentPreference:
    Description:
    DurableConfig:
    Environment:
    EphemeralStorage:
    EventInvokeConfig:
    FileSystemConfigs:
    FunctionScalingConfig:
    FunctionUrlConfig:
    Handler:
    KmsKeyArn:
    Layers:
    LoggingConfig:
    MemorySize:
    PermissionsBoundary:
    PropagateTags:
    ProvisionedConcurrencyConfig:
    PublishToLatestPublished:
    RecursiveLoop:
    ReservedConcurrentExecutions:
    RolePath:
    Runtime:
    RuntimeManagementConfig:
    SnapStart:
    SourceKMSKeyArn:
    Tags:
    TenancyConfig:
    Timeout:
    Tracing:
    VersionDeletionPolicy:
    VpcConfig:

  HttpApi:
    AccessLogSettings:
    Auth:
    PropagateTags:
    StageVariables:
    Tags:

  SimpleTable:
    SSESpecification:
    
  StateMachine:
    PropagateTags:
```

**참고**  
이전 목록에 없는 리소스 및 속성은 일체 지원되지 않습니다. 지원되지 않는 몇 가지 이유는 다음과 같습니다. 1) 이들이 잠재적 보안 문제를 야기하거나 2) 이들이 템플릿을 이해하기 어렵게 만듭니다.

## 묵시적 API
<a name="sam-specification-template-anatomy-globals-implicit-apis"></a>

AWS SAM 는 `Events` 섹션에서 * APIs를 선언할 때 암시적* API를 생성합니다. `Globals`을 사용하여 묵시적 API의 모든 속성을 재설정할 수 있습니다.

## 재설정 가능한 속성
<a name="sam-specification-template-anatomy-globals-overrideable"></a>

리소스는 `Globals` 섹션에서 선언한 속성을 재설정할 수 있습니다. 예를 들어 환경 변수 맵에 새 변수를 추가하거나 전역적으로 선언된 변수를 재설정할 수 있습니다. 하지만 리소스는 `Globals` 섹션에 지정된 속성을 제거할 수 없습니다.

보다 일반적으로 `Globals` 섹션은 모든 리소스가 공유하는 속성을 선언합니다. 일부 리소스는 전역적으로 선언된 속성에 새 값을 제공할 수 있지만 제거할 수는 없습니다. 일부 리소스는 속성을 사용하지만 다른 리소스는 사용하지 않는 경우 `Globals` 섹션에서 속성을 선언해서는 안 됩니다.

다음 단원에서는 데이터 유형별로 재설정이 작동하는 방식을 설명합니다.

### 기본 데이터 유형 대체됨
<a name="sam-specification-template-anatomy-globals-overrideable-primitives"></a>

기본 데이터 유형에는 문자열, 숫자, 부울 등이 포함됩니다.

`Resources` 섹션에 지정된 값이 `Globals` 섹션의 값을 대체합니다. 

예제:

```
Globals:
  Function:
    Runtime: nodejs12.x

Resources:
  MyFunction:
    Type: AWS::Serverless::Function
    Properties:
      Runtime: python3.9
```

`Runtime`에 대한 `MyFunction`은 `python3.9`으로 설정됩니다.

### 맵 병합됨
<a name="sam-specification-template-anatomy-globals-overrideable-maps"></a>

맵은 사전 또는 키-값 페어의 모음이라고도 합니다.

`Resources` 섹션의 맵 항목은 글로벌 맵 항목과 병합됩니다. 중복된 항목이 있는 경우 `Resource` 섹션 항목이 `Globals` 섹션 항목에 우선합니다. 

예제:

```
Globals:
  Function:
    Environment:
      Variables:
        STAGE: Production
        TABLE_NAME: global-table

Resources:
  MyFunction:
    Type: AWS::Serverless::Function
    Properties:
      Environment:
        Variables:
          TABLE_NAME: resource-table
          NEW_VAR: hello
```

`MyFunction`의 환경 변수는 다음과 같이 설정됩니다.

```
{
  "STAGE": "Production",
  "TABLE_NAME": "resource-table",
  "NEW_VAR": "hello"
}
```

### 목록 추가 기능
<a name="sam-specification-template-anatomy-globals-overrideable-lists"></a>

리스트는 배열이라고도 합니다.

`Globals` 섹션의 목록 항목은 `Resources` 섹션의 목록 앞에 추가됩니다.

예제:

```
Globals:
  Function:
    VpcConfig:
      SecurityGroupIds:
        - sg-123
        - sg-456

Resources:
  MyFunction:
    Type: AWS::Serverless::Function
    Properties:
      VpcConfig:
        SecurityGroupIds:
          - sg-first
```

`SecurityGroupIds`의 `MyFunction`을 위한 `VpcConfig` 양식은 다음과 같이 설정됩니다.

```
[ "sg-123", "sg-456", "sg-first" ]
```

# AWS SAM 리소스 및 속성
<a name="sam-specification-resources-and-properties"></a>

이 섹션에서는 특정 리소스 및 속성 유형을 설명합니다 AWS SAM. AWS SAM 간편 구문을 사용하여 이러한 리소스 및 속성을 정의합니다.는 CloudFormation 리소스 및 속성 유형 AWS SAM 도 지원합니다. 모든 AWS 리소스 및 속성 유형 CloudFormation 과 AWS SAM 지원에 대한 참조 정보는 *AWS CloudFormation 사용 설명서*의 [AWS 리소스 및 속성 유형 참조](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html)를 참조하세요.

**Topics**
+ [AWS::Serverless::Api](sam-resource-api.md)
+ [AWS::Serverless::Application](sam-resource-application.md)
+ [AWS::Serverless::CapacityProvider](sam-resource-capacityprovider.md)
+ [AWS::Serverless::Connector](sam-resource-connector.md)
+ [AWS::Serverless::Function](sam-resource-function.md)
+ [AWS::Serverless::GraphQLApi](sam-resource-graphqlapi.md)
+ [AWS::Serverless::HttpApi](sam-resource-httpapi.md)
+ [AWS::Serverless::LayerVersion](sam-resource-layerversion.md)
+ [AWS::Serverless::SimpleTable](sam-resource-simpletable.md)
+ [AWS::Serverless::StateMachine](sam-resource-statemachine.md)

# AWS::Serverless::Api
<a name="sam-resource-api"></a>

HTTPS 엔드포인트를 통해 간접 호출할 수 있는 Amazon API Gateway 리소스 및 메서드 컬렉션을 생성합니다.

 AWS 서버리스 애플리케이션 정의 템플릿에 [AWS::Serverless::Api](#sam-resource-api) 리소스를 명시적으로 추가할 필요는 없습니다. 이 유형의 리소스는 [AWS::Serverless::Function](sam-resource-function.md) 리소스를 참조하지 않는 템플릿에 정의된 [AWS::Serverless::Api](#sam-resource-api) 리소스에 정의된 Api 이벤트를 결합하여 묵시적으로 생성됩니다. 

기본 Amazon API Gateway 리소스를 구성할 수 있는 더 많은 기능을 제공하는 OpenAPI를 사용하여 API를 정의하고 문서화하려면 [AWS::Serverless::Api](#sam-resource-api)리소스를 사용해야 합니다.

 CloudFormation 후크 또는 IAM 정책을 사용하여 API Gateway 리소스에 대한 액세스를 제어하는 권한 부여자가 연결되어 있는지 확인하는 것이 좋습니다.

 CloudFormation 후크 사용에 대한 자세한 내용은 *CloudFormation CLI 사용 설명서*의 [후크 등록](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/registering-hook-python.html) 및 [apigw-enforce-authorizer](https://github.com/aws-cloudformation/aws-cloudformation-samples/tree/main/hooks/python-hooks/apigw-enforce-authorizer/) GitHub 리포지토리를 참조하세요.

IAM 정책 사용에 대한 자세한 내용은 [API 게이트웨이 개발자 가이드의](https://docs.aws.amazon.com/apigateway/latest/developerguide/security_iam_id-based-policy-examples.html#security_iam_id-based-policy-examples-require-authorization) *API 경로에 권한 부여 필요를* 참조하세요.

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

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

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

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

```
Type: AWS::Serverless::Api
Properties:
  [AccessLogSetting](#sam-api-accesslogsetting): [AccessLogSetting](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-accesslogsetting)
  AlwaysDeploy: Boolean
  [ApiKeySourceType](#sam-api-apikeysourcetype): String
  [Auth](#sam-api-auth): ApiAuth
  [BinaryMediaTypes](#sam-api-binarymediatypes): List
  [CacheClusterEnabled](#sam-api-cacheclusterenabled): Boolean
  [CacheClusterSize](#sam-api-cacheclustersize): String
  [CanarySetting](#sam-api-canarysetting): [CanarySetting](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-canarysetting)
  [Cors](#sam-api-cors): String | CorsConfiguration
  [DefinitionBody](#sam-api-definitionbody): JSON
  [DefinitionUri](#sam-api-definitionuri): String | ApiDefinition
  [Description](#sam-api-description): String
  [DisableExecuteApiEndpoint](#sam-api-disableexecuteapiendpoint): Boolean
  [Domain](#sam-api-domain): DomainConfiguration
  [EndpointConfiguration](#sam-api-endpointconfiguration): EndpointConfiguration
  [FailOnWarnings](#sam-api-failonwarnings): Boolean
  [GatewayResponses](#sam-api-gatewayresponses): Map
  MergeDefinitions: Boolean
  [MethodSettings](#sam-api-methodsettings): MethodSettings
  [MinimumCompressionSize](#sam-api-minimumcompressionsize): Integer
  [Mode](#sam-api-mode): String
  [Models](#sam-api-models): Map
  [Name](#sam-api-name): String
  [OpenApiVersion](#sam-api-openapiversion): String
  PropagateTags: Boolean
  [Policy](#sam-api-policy): JSON
  [StageName](#sam-api-stagename): String
  [Tags](#sam-api-tags): Map
  [TracingEnabled](#sam-api-tracingenabled): Boolean
  [Variables](#sam-api-variables): Map
```

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

 `AccessLogSetting`   <a name="sam-api-accesslogsetting"></a>
특정 단계를 위한 액세스 로그 세팅 구성에 대한 설정입니다.  
*유형*: [AccessLogSetting](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-accesslogsetting)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::Stage` 리소스의 `[AccessLogSetting](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-accesslogsetting)` 속성으로 직접 전달됩니다.

 `AlwaysDeploy`   <a name="sam-api-alwaysdeploy"></a>
API에 대한 변경 사항이 감지되지 않은 경우에도 항상 API를 배포합니다.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `ApiKeySourceType`   <a name="sam-api-apikeysourcetype"></a>
사용량 계획에 따라 측정 요청을 위한 API 키의 원본입니다. 유효한 값은 `HEADER` 및 `AUTHORIZER`입니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::RestApi` 리소스의 `[ApiKeySourceType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-apikeysourcetype)` 속성으로 직접 전달됩니다.

 `Auth`   <a name="sam-api-auth"></a>
권한 부여를 구성하여 API Gateway API에 대한 액세스를 제어합니다.  
를 사용하여 액세스를 구성하는 방법에 대한 자세한 내용은 단원을 AWS SAM 참조하십시오[AWS SAM 템플릿을 사용하여 API 액세스 제어](serverless-controlling-access-to-apis.md). 글로벌 권한 부여자를 재정의하는 방법을 보여주는 예시는 [Amazon API Gateway REST API에 대한 글로벌 권한 부여자 재정의](sam-property-function-apifunctionauth.md#sam-property-function-apifunctionauth--examples--override)에서 확인하세요.  
*유형*: [APIAuth](sam-property-api-apiauth.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `BinaryMediaTypes`   <a name="sam-api-binarymediatypes"></a>
API가 반환할 수 있는 MIME 유형 목록입니다. 이를 사용하여 API에 대한 바이너리 지원을 활성화할 수 있습니다.  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::RestApi` 리소스의 `[BinaryMediaTypes](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-binarymediatypes)` 속성과 유사합니다. BinaryMediaTypes 목록이 CloudFormation 리소스와 OpenAPI 문서 모두에 추가됩니다.

 `CacheClusterEnabled`   <a name="sam-api-cacheclusterenabled"></a>
해당 단계에 대해 캐싱이 활성화되는지를 나타냅니다. 응답을 캐시하려면 `CachingEnabled`에 따라 `true`을 `MethodSettings`으로 설정해야 합니다.   
*유형*: 부울  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::Stage` 리소스의 `[CacheClusterEnabled](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-cacheclusterenabled)` 속성으로 직접 전달됩니다.

 `CacheClusterSize`   <a name="sam-api-cacheclustersize"></a>
해당 단계의 캐시 클러스터 크기입니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::Stage` 리소스의 `[CacheClusterSize](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-cacheclustersize)` 속성으로 직접 전달됩니다.

 `CanarySetting`   <a name="sam-api-canarysetting"></a>
canary 설정을 정규 배포 단계로 구성합니다.  
*유형*: [CanarySetting](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-canarysetting)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::Stage` 리소스의 `[CanarySetting](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-canarysetting)` 속성으로 직접 전달됩니다.

 `Cors`   <a name="sam-api-cors"></a>
모든 API 게이트웨이 API에 대한 CORS(Cross-Origin Resource Sharing)를 관리합니다. 허용할 도메인을 문자열로 지정하거나 추가 Cors 구성을 사용하여 사전을 지정합니다.  
CORS AWS SAM 를 사용하려면 OpenAPI 정의를 수정해야 합니다. `DefinitionBody`에서 인라인 OpenAPI 정의를 생성하여 CORS를 켭니다.
자세한 내용은 [API 게이트웨이 개발자 가이드](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-cors.html)의 *API 게이트웨이 REST API 리소스 활성화*를 참조하세요.  
*형식*: 문자열 \$1 [CorsConfiguration](sam-property-api-corsconfiguration.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `DefinitionBody`   <a name="sam-api-definitionbody"></a>
API를 설명하는 OpenAPI 사양입니다. `DefinitionUri`이나 `DefinitionBody` 어느 것도 지정되지 않은 경우 SAM은 템플릿 구성을 기반으로 `DefinitionBody`을 생성합니다.   
API를 정의하는 로컬 OpenAPI 파일을 참조하려면 `AWS::Include` 변환을 사용하십시오. 자세한 내용은 [가 로컬 파일을 AWS SAM 업로드하는 방법](deploy-upload-local-files.md)을 참조하십시오.  
*유형*: JSON  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::RestApi` 리소스의 `[Body](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-body)` 속성과 유사합니다. 특정 속성이 제공되는 경우, 콘텐츠는 CloudFormation으로 전달되기 전에 DefinitionBody에 삽입되거나 수정될 수 있습니다. 속성에는 `Auth`, `BinaryMediaTypes`, `Cors`, `GatewayResponses`, `Models` 및 해당 `EventSource`에 대한 `AWS::Serverless::Function` 유형의 Api가 포함됩니다.

 `DefinitionUri`   <a name="sam-api-definitionuri"></a>
Amazon S3 Uri, 로컬 파일 경로 또는 API를 정의하는 OpenAPI 문서의 위치 객체입니다. 이 속성이 참조하는 Amazon S3 객체는 유효한 OpenAPI 파일이어야 합니다. `DefinitionUri`이나 `DefinitionBody` 어느 것도 지정되지 않은 경우 SAM은 템플릿 구성을 기반으로 `DefinitionBody`을 생성합니다.   
로컬 파일 경로를 제공하는 경우 템플릿은 `sam deploy` 또는 `sam package`명령이 포함된 워크플로를 거쳐야 정의가 제대로 변환됩니다.  
`DefinitionUri`이 참조하는 외부 OpenAPI 파일에서는 내장 함수가 지원되지 않습니다. 대신 `DefinitionBody`변환 포함과 함께 [ 속성](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/create-reusable-transform-function-snippets-and-add-to-your-template-with-aws-include-transform.html)을 사용하여 OpenAPI 정의를 템플릿으로 가져오십시오.  
*형식*: 문자열 \$1 [APIdeEfinition](sam-property-api-apidefinition.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::RestApi` 리소스의 `[BodyS3Location](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-bodys3location)` 속성과 유사합니다. 중첩된 Amazon S3 속성은 다르게 지정됩니다.

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

 `DisableExecuteApiEndpoint`   <a name="sam-api-disableexecuteapiendpoint"></a>
클라이언트가 기본 `execute-api` 엔드포인트를 사용하여 API를 간접 호출할 수 있는지를 지정합니다. 기본적으로 클라이언트는 기본 `https://{api_id}.execute-api.{region}.amazonaws.com`(으)로 API를 간접 호출할 수 있습니다. 클라이언트가 사용자 지정 도메인 이름을 사용하여 API를 간접 호출하도록 요구하려면 `True`을(를) 지정합니다.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::RestApi` 리소스의 `[ DisableExecuteApiEndpoint](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-disableexecuteapiendpoint)` 속성과 유사합니다. 이것은 `[ x-amazon-apigateway-endpoint-configuration](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-endpoint-configuration.html)` 확장의 `disableExecuteApiEndpoint` 속성으로 직접 전달되며, 이것은 ` [ Body](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-body)` 리소스의 `AWS::ApiGateway::RestApi` 속성에 추가됩니다.

 `Domain`   <a name="sam-api-domain"></a>
이 API 게이트웨이 API의 사용자 지정 도메인을 구성합니다.  
*유형*: [DomainConfiguration](sam-property-api-domainconfiguration.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `EndpointConfiguration`   <a name="sam-api-endpointconfiguration"></a>
REST API의 엔드포인트 유형.  
*유형*: [EndpointConfiguration](sam-property-api-endpointconfiguration.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::RestApi` 리소스의 `[EndpointConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-endpointconfiguration)` 속성과 유사합니다. 중첩된 구성 속성들의 이름은 각각 다르게 지정됩니다.

 `FailOnWarnings`   <a name="sam-api-failonwarnings"></a>
경고가 발생할 때 API 생성을 롤백할 것인지(`true`) 하지 않을 것인지(`false`) 지정합니다. 기본값은 `false`입니다.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::RestApi` 리소스의 `[FailOnWarnings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-failonwarnings)` 속성으로 직접 전달됩니다.

 `GatewayResponses`   <a name="sam-api-gatewayresponses"></a>
API에 대한 게이트웨이 응답을 구성합니다. 게이트웨이 응답은 API 게이트웨이에서 직접 또는 Lambda 권한 부여자를 통해 반환한 응답입니다. 자세한 내용은 [게이트웨이 응답을 위한 Api Gateway OpenAPI 확장](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-gateway-responses.html) 설명서를 참조하세요.  
*유형*: 맵  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `MergeDefinitions`   <a name="sam-api-mergedefinitions"></a>
AWS SAM 는 API 이벤트 소스에서 OpenAPI 사양을 생성합니다. 이를 `AWS::Serverless::Api` 리소스에 정의된 인라인 OpenAPI 사양에 AWS SAM 병합`true`하도록를 지정합니다. 병합하지 않도록 `false`을 지정하십시오.  
`MergeDefinitions`은 `DefinitionBody` 속성이 `AWS::Serverless::Api`을 정의할 것을 요구합니다. `MergeDefinitions`는 `DefinitionUri`에 관하여 `AWS::Serverless::Api` 속성과 호환되지 않습니다.  
*기본값:* `false`  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `MethodSettings`   <a name="sam-api-methodsettings"></a>
로깅, 지표, Cache TTL, 제한을 포함하여 API 단계의 모든 설정을 구성합니다.  
*유형*: [MethodSetting](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-stage-methodsetting.html)의 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::Stage` 리소스의 `[MethodSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-methodsettings)` 속성으로 직접 전달됩니다.

 `MinimumCompressionSize`   <a name="sam-api-minimumcompressionsize"></a>
클라이언트의 Accept-Encoding 헤더를 기반으로 응답 본문을 압축할 수 있습니다. 응답 본문 크기가 구성된 임계값보다 크거나 같으면 압축이 트리거됩니다. 최대 본문 크기 임계값은 10MB(10,485,760바이트)입니다. - 지원되는 압축 유형은 gzip, deflate 및 identity입니다.  
*유형*: 정수  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::RestApi` 리소스의 `[MinimumCompressionSize](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-minimumcompressionsize)` 속성으로 직접 전달됩니다.

 `Mode`   <a name="sam-api-mode"></a>
이 속성은 OpenAPI를 사용하여 REST API를 정의하는 경우에만 적용됩니다. `Mode`는 API 게이트웨이에서 리소스 업데이트를 처리하는 방법을 결정합니다. 자세한 내용은 [ 리소스](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-mode)의 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html)모드 속성을 참조하세요.  
*유효한 값*: `overwrite` 또는 `merge`  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::RestApi` 리소스의 `[Mode](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-mode)` 속성으로 직접 전달됩니다.

 `Models`   <a name="sam-api-models"></a>
API 메서드에서 사용할 스키마입니다. 이러한 스키마는 JSON 또는 YAML을 사용하여 설명할 수 있습니다. 예제 모델은 이 페이지 하단의 예제 섹션을 참조하세요.  
*유형*: 맵  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `Name`   <a name="sam-api-name"></a>
API 게이트웨이 RestApi 리소스의 이름  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::RestApi` 리소스의 `[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-name)` 속성으로 직접 전달됩니다.

 `OpenApiVersion`   <a name="sam-api-openapiversion"></a>
사용할 OpenApi의 버전입니다. Swagger 사양의 경우 `2.0`를 사용할 수도 있고, `3.0.1`와 같은 OpenApi 3.0 버전 중 하나를 사용할 수도 있습니다. OpenAPI에 대한 자세한 내용은 [OpenAPI 사양](https://swagger.io/specification/)을 참조하세요.  
 AWS SAM 는 `Stage` 기본적으로 라는 스테이지를 생성합니다. 이 속성을 임의의 유효한 값으로 설정하면 스테이지 `Stage`가 생성되지 않습니다.
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

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

`Policy`  <a name="sam-api-policy"></a>
API에 대한 권한이 포함된 정책 문서입니다. 정책의 ARN을 설정하려면 `!Join` 내장 함수를 구분 기호 `""`, 값 `"execute-api:/"` 및 `"*"`와 함께 사용합니다.  
*유형*: JSON  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::RestApi` 리소스의 [ 정책](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html#cfn-apigateway-restapi-policy) 속성으로 직접 전달됩니다.

 `StageName`   <a name="sam-api-stagename"></a>
API 게이트웨이에서 간접 호출된 URI(Uniform Resource Identifier)의 첫 번째 경로 세그먼트로 사용하는 단계의 이름입니다.  
스테이지 리소스를 참조하려면 `<api-logical-id>.Stage`를 사용하십시오. [AWS::Serverless::Api](#sam-resource-api) 리소스를 지정할 때 생성된 리소스를 참조하는 방법에 대한 자세한 내용은 [CloudFormation AWS::Serverless::Api가 지정될 때 생성되는 리소스](sam-specification-generated-resources-api.md) 섹션을 참조하세요. 생성된 CloudFormation 리소스에 대한 일반적인 내용은 섹션을 참조하세요[에 대해 생성된 CloudFormation 리소스 AWS SAM](sam-specification-generated-resources.md).  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::Stage` 리소스의 `[StageName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-stagename)` 속성과 유사합니다. SAM에서는 필수이지만 API 게이트웨이에서는 필요하지 않습니다  
*추가 참고 사항*: 묵시적 API의 단계 이름은 “Prod”입니다.

 `Tags`   <a name="sam-api-tags"></a>
이 API 게이트웨이 단계에 추가할 태그를 지정하는 맵(문자열 간)입니다. 태그의 유효한 키와 값에 대한 자세한 내용은 [ 사용자 가이드](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html)의 *AWS CloudFormation 리소스 태그를* 참조하세요.  
*유형*: 맵  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::Stage` 리소스의 `[Tags](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-tags)` 속성과 유사합니다. SAM의 태그 속성은 키:값의 쌍으로 구성되고, CloudFormation에서는 태그 객체 목록으로 구성됩니다.

 `TracingEnabled`   <a name="sam-api-tracingenabled"></a>
해당 단계에 대해 X-Ray를 사용한 활성 추적을 활성화하는지를 지시합니다. X-Ray에 대한 자세한 내용은 [API 게이트웨이 개발자 가이드](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-xray.html)의 *X-Ray를 사용하여 REST API에 대한 사용자 요청 추적*을 참조하세요.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::Stage` 리소스의 `[TracingEnabled](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-tracingenabled)` 속성으로 직접 전달됩니다.

 `Variables`   <a name="sam-api-variables"></a>
단계 변수를 정의하는 맵(문자열 대 문자열)으로서, 여기서 변수 이름이 키가 되고 변수 값이 값이 됩니다. 변수 이름에는 영숫자 문자만 사용할 수 있습니다. 값은 정규식 `[A-Za-z0-9._~:/?#&=,-]+`과 일치해야 합니다.  
*유형*: 맵  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::Stage` 리소스의 `[Variables](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-stage.html#cfn-apigateway-stage-variables)` 속성으로 직접 전달됩니다.

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

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

`Ref` 내장 함수에 이 리소스의 논리적 ID가 제공되면 그것은 기저의 API 게이트웨이 API의 ID를 반환합니다.

`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-api-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) 섹션을 참조하세요.

`RootResourceId`  <a name="RootResourceId-fn::getatt"></a>
`RestApi` 리소스의 루트 리소스 ID입니다(예: `a0bc123d4e`).

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

### SimpleApi예시
<a name="sam-resource-api--examples--simpleapiexample"></a>

API 엔드포인트가 있는 Lambda 함수가 포함된 Hello World AWS SAM 템플릿 파일입니다. 이는 작동하는 서버리스 애플리케이션을 위한 전체 AWS SAM 템플릿 파일입니다.

#### YAML
<a name="sam-resource-api--examples--simpleapiexample--yaml"></a>

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: AWS SAM template with a simple API definition
Resources:
  ApiGatewayApi:
    Type: AWS::Serverless::Api
    Properties:
      StageName: prod
  ApiFunction: # Adds a GET method at the root resource via an Api event
    Type: AWS::Serverless::Function
    Properties:
      Events:
        ApiEvent:
          Type: Api
          Properties:
            Path: /
            Method: get
            RestApiId:
              Ref: ApiGatewayApi
      Runtime: python3.10
      Handler: index.handler
      InlineCode: |
        def handler(event, context):
            return {'body': 'Hello World!', 'statusCode': 200}
```

### ApiCors예시
<a name="sam-resource-api--examples--apicorsexample"></a>

Lambda 통합 및 CORS 구성과 함께 외부 Swagger 파일에 정의된 API가 있는 AWS SAM 템플릿 코드 조각입니다. 이는 [AWS::Serverless::Api](#sam-resource-api)정의를 보여주는 AWS SAM 템플릿 파일의 일부일 뿐입니다.

#### YAML
<a name="sam-resource-api--examples--apicorsexample--yaml"></a>

```
Resources:
  ApiGatewayApi:
    Type: AWS::Serverless::Api
    Properties:
      StageName: Prod
      # Allows www.example.com to call these APIs
      # SAM will automatically add AllowMethods with a list of methods for this API
      Cors: "'www.example.com'"
      DefinitionBody: # Pull in an OpenApi definition from S3
        'Fn::Transform':
          Name: 'AWS::Include'
          # Replace "bucket" with your bucket name
          Parameters:
            Location: s3://bucket/swagger.yaml
```

### ApiCognitoAuth예시
<a name="sam-resource-api--examples--apicognitoauthexample"></a>

Amazon Cognito를 사용하여 API에 대한 요청을 승인하는 API가 포함된 AWS SAM 템플릿 코드 조각입니다. 이는 [AWS::Serverless::Api](#sam-resource-api)정의를 보여주는 AWS SAM 템플릿 파일의 일부일 뿐입니다.

#### YAML
<a name="sam-resource-api--examples--apicognitoauthexample--yaml"></a>

```
Resources:
  ApiGatewayApi:
    Type: AWS::Serverless::Api
    Properties:
      StageName: Prod
      Cors: "'*'"
      Auth:
        DefaultAuthorizer: MyCognitoAuthorizer
        Authorizers:
          MyCognitoAuthorizer:
            UserPoolArn:
              Fn::GetAtt: [MyCognitoUserPool, Arn]
```

### ApiModels예시
<a name="sam-resource-api--examples--apimodelsexample"></a>

모델 스키마가 포함된 API가 포함된 AWS SAM 템플릿 코드 조각입니다. 템플릿 AWS SAM 파일의 일부일 뿐이며 두 모델 스키마가 있는 [AWS::Serverless::Api](#sam-resource-api)정의를 보여줍니다.

#### YAML
<a name="sam-resource-api--examples--apimodelsexample--yaml"></a>

```
Resources:
  ApiGatewayApi:
    Type: AWS::Serverless::Api
    Properties:
      StageName: Prod
      Models:
        User:
          type: object
          required:
            - username
            - employee_id
          properties:
            username:
              type: string
            employee_id:
              type: integer
            department:
              type: string
        Item:
          type: object
          properties:
            count:
              type: integer
            category:
              type: string
            price:
              type: integer
```

### 캐싱 예제
<a name="sam-resource-api--examples--caching-example"></a>

API 엔드포인트가 있는 Lambda 함수가 포함된 Hello World AWS SAM 템플릿 파일입니다. API에는 하나의 리소스와 메서드에 대한 캐싱이 활성화되어 있습니다. 캐싱에 대한 자세한 내용은 *API 게이트웨이 개발자 가이드*의 [응답성 향상을 위한 API 캐싱 활성화](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-caching.html) 를 참조하세요.

#### YAML
<a name="sam-resource-api--examples--caching-example--yaml"></a>

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: AWS SAM template with a simple API definition with caching turned on
Resources:
  ApiGatewayApi:
    Type: AWS::Serverless::Api
    Properties:
      StageName: prod
      CacheClusterEnabled: true
      CacheClusterSize: '0.5'
      MethodSettings:
        - ResourcePath: /
          HttpMethod: GET
          CachingEnabled: true
          CacheTtlInSeconds: 300
      Tags:
        CacheMethods: All 

  ApiFunction: # Adds a GET method at the root resource via an Api event
    Type: AWS::Serverless::Function
    Properties:
      Events:
        ApiEvent:
          Type: Api
          Properties:
            Path: /
            Method: get
            RestApiId:
              Ref: ApiGatewayApi
      Runtime: python3.10
      Handler: index.handler
      InlineCode: |
        def handler(event, context):
            return {'body': 'Hello World!', 'statusCode': 200}
```

### 프라이빗 API를 사용한 사용자 지정 도메인 예시
<a name="sam-resource-api--examples--custom-domain-example"></a>

프라이빗 도메인에 매핑된 API 엔드포인트가 있는 Lambda 함수가 포함된 Hello World AWS SAM 템플릿 파일입니다. 이 템플릿은 VPC 엔드포인트와 프라이빗 도메인 사이에 도메인 액세스 연결을 생성합니다. 자세한 내용은 [API 게이트웨이의 프라이빗 API의 사용자 지정 도메인 이름](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-private-custom-domains.html)을 참조하세요.

#### YAML
<a name="sam-resource-api--examples--custom-domain-example--yaml"></a>

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: AWS SAM template configured with a custom domain using a private API

Parameters:
    DomainName:
      Type: String
      Default: mydomain.example.com
    CertificateArn:
      Type: String
    HostedZoneId:
      Type: String
    VpcEndpointId:
      Type: String
    VpcEndpointDomainName:
      Type: String
    VpcEndpointHostedZoneId:
      Type: String

Resources:
  MyFunction:
    Type: AWS::Serverless::Function
    Properties:
      InlineCode: |
        def handler(event, context):
            return {'body': 'Hello World!', 'statusCode': 200}
      Handler: index.handler
      Runtime: python3.13
      Events:
        Fetch:
          Type: Api
          Properties:
            RestApiId:
              Ref: MyApi
            Method: Get
            Path: /get
  MyApi:
    Type: AWS::Serverless::Api
    Properties:
      StageName: Prod
      EndpointConfiguration:
        Type: PRIVATE
        VPCEndpointIds:
        - !Ref VpcEndpointId
      Policy:
        Version: '2012-10-17		 	 	 '
        Statement:
        - Effect: Allow
          Principal: '*'
          Action: execute-api:Invoke
          Resource: execute-api:/*
        - Effect: Deny
          Principal: '*'
          Action: execute-api:Invoke
          Resource: execute-api:/*
          Condition:
            StringNotEquals:
              aws:SourceVpce: !Ref VpcEndpointId
      Domain:
        DomainName: !Ref DomainName
        CertificateArn: !Ref CertificateArn
        EndpointConfiguration: PRIVATE
        BasePath:
        - /
        Route53:
          HostedZoneId: !Ref HostedZoneId
          VpcEndpointDomainName: !Ref VpcEndpointDomainName
          VpcEndpointHostedZoneId: !Ref VpcEndpointHostedZoneId
        AccessAssociation:
          VpcEndpointId: !Ref VpcEndpointId
        Policy:
          Version: '2012-10-17		 	 	 '
          Statement:
          - Effect: Allow
            Principal: '*'
            Action: execute-api:Invoke
            Resource: execute-api:/*
          - Effect: Deny
            Principal: '*'
            Action: execute-api:Invoke
            Resource: execute-api:/*
            Condition:
              StringNotEquals:
                aws:SourceVpce: !Ref VpcEndpointId
```

# ApiAuth
<a name="sam-property-api-apiauth"></a>

권한 부여를 구성하여 API Gateway API에 대한 액세스를 제어합니다.

를 사용하여 액세스를 구성하는 방법에 대한 자세한 내용과 예제는 단원을 AWS SAM 참조하십시오[AWS SAM 템플릿을 사용하여 API 액세스 제어](serverless-controlling-access-to-apis.md).

## 구문
<a name="sam-property-api-apiauth-syntax"></a>

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

### YAML
<a name="sam-property-api-apiauth-syntax.yaml"></a>

```
  AddApiKeyRequiredToCorsPreflight: Boolean
  [AddDefaultAuthorizerToCorsPreflight](#sam-api-apiauth-adddefaultauthorizertocorspreflight): Boolean
  [ApiKeyRequired](#sam-api-apiauth-apikeyrequired): Boolean
  [Authorizers](#sam-api-apiauth-authorizers): CognitoAuthorizer | LambdaTokenAuthorizer | LambdaRequestAuthorizer | AWS_IAM
  [DefaultAuthorizer](#sam-api-apiauth-defaultauthorizer): String
  [InvokeRole](#sam-api-apiauth-invokerole): String
  [ResourcePolicy](#sam-api-apiauth-resourcepolicy): ResourcePolicyStatement
  [UsagePlan](#sam-api-apiauth-usageplan): ApiUsagePlan
```

**참고**  
`Authorizers` 속성은 `AWS_IAM`을(를) 포함하지만, `AWS_IAM`에 필요한 추가 구성은 없습니다. 예제는 [AWS IAM](#sam-property-api-apiauth--examples--aws_iam) 섹션을 참조하세요.

## 속성
<a name="sam-property-api-apiauth-properties"></a>

 `AddApiKeyRequiredToCorsPreflight`   <a name="sam-api-apiauth-addapikeyrequiredtocorspreflight"></a>
`ApiKeyRequired` 및 `Cors` 속성이 설정된 경우 `AddApiKeyRequiredToCorsPreflight`를 설정하면 API 키가 `Options` 속성에 추가됩니다.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*기본값*: `True`  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `AddDefaultAuthorizerToCorsPreflight`   <a name="sam-api-apiauth-adddefaultauthorizertocorspreflight"></a>
`DefaultAuthorizer` 및 `Cors` 속성이 설정된 경우 `AddDefaultAuthorizerToCorsPreflight`를 설정하면 기본 권한 부여자가 OpenAPI 섹션의 `Options` 속성에 추가됩니다.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*기본값*: True  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `ApiKeyRequired`   <a name="sam-api-apiauth-apikeyrequired"></a>
true로 설정하면 모든 API 이벤트에 API 키가 필요합니다. 자세한 내용을 알아보려면 *API Gateway 개발자 안내서*의 [Amazon API Gateway에서 API 사용량 계획 생성 및 사용](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-usage-plans.html)을 참조하세요.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `Authorizers`   <a name="sam-api-apiauth-authorizers"></a>
API Gateway API에 대한 액세스를 제어하는 데 사용되는 권한 부여자.  
자세한 내용은 [AWS SAM 템플릿을 사용하여 API 액세스 제어](serverless-controlling-access-to-apis.md) 단원을 참조하십시오.  
*유형*: [CognitoAuthorizer](sam-property-api-cognitoauthorizer.md) \$1 [LambdaTokenAuthorizer](sam-property-api-lambdatokenauthorizer.md) \$1 [LambdaRequestAuthorizer](sam-property-api-lambdarequestauthorizer.md) \$1 AWS\$1IAM  
*필수 항목 여부*: 아니요  
*기본값*: 없음  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.  
*추가 참고 사항*: SAM은 Api의 OpenApi 정의에 권한 부여자를 추가합니다.

 `DefaultAuthorizer`   <a name="sam-api-apiauth-defaultauthorizer"></a>
기본적으로 API 호출을 승인하는 데 사용되는 API Gateway API의 기본 권한 부여자를 지정합니다.  
이 API와 연결된 함수의 Api EventSource가 IAM 권한을 사용하도록 구성된 경우, 이 속성을 `AWS_IAM`로 설정해야 합니다. 그렇지 않으면 오류가 발생합니다.
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*기본값*: 없음  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `InvokeRole`   <a name="sam-api-apiauth-invokerole"></a>
모든 리소스 및 메서드의 통합 보안 인증 정보를 이 값으로 설정합니다.  
`CALLER_CREDENTIALS`이 호출자 보안 인증 정보를 사용하여 엔드포인트를 간접 호출하는 `arn:aws:iam:::<user>/`에 매핑됩니다.  
*유효한 값*: `CALLER_CREDENTIALS`, `NONE`, `IAMRoleArn`   
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*기본값*: `CALLER_CREDENTIALS`  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `ResourcePolicy`   <a name="sam-api-apiauth-resourcepolicy"></a>
API의 모든 메서드와 경로에 대한 리소스 정책을 구성합니다.  
*유형*: [리소스 정책 설명](sam-property-api-resourcepolicystatement.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.  
*추가 참고 사항*: 이 설정은 [ApiFunctionAuth](sam-property-function-apifunctionauth.md)를 사용하여 개별 `AWS::Serverless::Function`에서도 정의할 수도 있습니다. 이는 `EndpointConfiguration: PRIVATE`를 포함하는 API에 필요합니다.

 `UsagePlan`   <a name="sam-api-apiauth-usageplan"></a>
이 API와 연결된 사용량 계획을 구성합니다. 사용량 계획에 대한 자세한 내용은 *API Gateway 개발자 안내서*의 [API 키를 이용한 사용량 계획의 생성 및 사용](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-usage-plans.html) 섹션을 참조하세요.  
이 AWS SAM 속성은이 속성이 설정될 때 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html), [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplankey.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplankey.html)및의 세 가지 추가 CloudFormation 리소스를 생성합니다[https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html). 이 시나리오에 대한 자세한 내용은 [UsagePlan 속성 지정됨](sam-specification-generated-resources-api.md#sam-specification-generated-resources-api-usage-plan) 섹션을 참조하세요. 생성된 CloudFormation 리소스에 대한 일반적인 내용은 섹션을 참조하세요[에 대해 생성된 CloudFormation 리소스 AWS SAM](sam-specification-generated-resources.md).  
*유형*: [ApiUsagePlan](sam-property-api-apiusageplan.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

## 예제
<a name="sam-property-api-apiauth--examples"></a>

### CognitoAuth
<a name="sam-property-api-apiauth--examples--cognitoauth"></a>

Cognito 인증 예제

#### YAML
<a name="sam-property-api-apiauth--examples--cognitoauth--yaml"></a>

```
Auth:
  Authorizers:
    MyCognitoAuth:
     UserPoolArn:
       Fn::GetAtt:
         - MyUserPool
         - Arn
     AuthType: "COGNITO_USER_POOLS"
  DefaultAuthorizer: MyCognitoAuth
  InvokeRole: CALLER_CREDENTIALS
  AddDefaultAuthorizerToCorsPreflight: false
  ApiKeyRequired: false
  ResourcePolicy:
    CustomStatements: [{
      "Effect": "Allow",
      "Principal": "*",
      "Action": "execute-api:Invoke",
      "Resource": "execute-api:/Prod/GET/pets",
      "Condition": {
          "IpAddress": {
              "aws:SourceIp": "1.2.3.4"
          }
        }
    }]
    IpRangeDenylist:
      - "10.20.30.40"
```

### AWS IAM
<a name="sam-property-api-apiauth--examples--aws_iam"></a>

AWS IAM 예제

#### YAML
<a name="sam-property-api-apiauth--examples--cognitoauth--yaml"></a>

```
Auth:
  Authorizers: AWS_IAM
```

# ApiUsagePlan
<a name="sam-property-api-apiusageplan"></a>

API Gateway API의 사용량 계획을 구성합니다. 사용량 계획에 대한 자세한 내용은 *API Gateway 개발자 안내서*의 [API 키를 이용한 사용량 계획의 생성 및 사용](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-usage-plans.html)을 참조하세요.

## 구문
<a name="sam-property-api-apiusageplan-syntax"></a>

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

### YAML
<a name="sam-property-api-apiusageplan-syntax.yaml"></a>

```
  [CreateUsagePlan](#sam-api-apiusageplan-createusageplan): String
  [Description](#sam-api-apiusageplan-description): String
  [Quota](#sam-api-apiusageplan-quota): [QuotaSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-quota)
  [Tags](#sam-api-apiusageplan-tags): List
  [Throttle](#sam-api-apiusageplan-throttle): [ThrottleSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-throttle)
  [UsagePlanName](#sam-api-apiusageplan-usageplanname): String
```

## 속성
<a name="sam-property-api-apiusageplan-properties"></a>

 `CreateUsagePlan`   <a name="sam-api-apiusageplan-createusageplan"></a>
이 사용량 계획의 구성 방법을 결정합니다. 유효한 값은 `PER_API`, `SHARED`, `NONE`입니다.  
`PER_API`는 이 API와 관련된 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html), [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html) 및 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplankey.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplankey.html) 리소스를 생성합니다. 이러한 리소스는 `<api-logical-id>UsagePlan`, `<api-logical-id>ApiKey`, `<api-logical-id>UsagePlanKey`의 논리적 ID를 각각 가지고 있습니다.  
`SHARED`는 동일한 AWS SAM 템플릿에 도 있는 모든 API`CreateUsagePlan: SHARED`에서 공유되는 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html)[https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-apikey.html), 및 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplankey.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplankey.html) 리소스를 생성합니다. 이러한 리소스는 `ServerlessUsagePlan`, `ServerlessApiKey`, `ServerlessUsagePlanKey`의 논리적 ID를 각각 가지고 있습니다. 이 옵션을 사용하는 경우 정의 충돌과 불확실한 상태를 방지하기 위해 하나의 API 리소스에만 이 사용량 계획의 추가 구성을 추가하는 것이 좋습니다.  
`NONE`는 이 API를 사용한 사용량 계획 생성 또는 연결을 비활성화합니다. 이는 [AWS SAM 템플릿의 글로벌 섹션](sam-specification-template-anatomy-globals.md)에서 `SHARED` 또는 `PER_API`가 지정된 경우에만 필요합니다.  
*유효한 값*: `PER_API`, `SHARED`, `NONE`   
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

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

 `Quota`   <a name="sam-api-apiusageplan-quota"></a>
사용자가 지정된 간격 내에서 실행할 수 있는 요청 수를 구성합니다.  
*유형*: [QuotaSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-quota)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::UsagePlan` 리소스의 `[Quota](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-quota)` 속성으로 직접 전달됩니다.

 `Tags`   <a name="sam-api-apiusageplan-tags"></a>
사용 계획과 연결할 임의 태그(키-값 페어)의 배열입니다.  
이 속성은 [CloudFormation 태그 유형](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html)을 사용합니다.  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::UsagePlan` 리소스의 `[Tags](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-tags)` 속성으로 직접 전달됩니다.

 `Throttle`   <a name="sam-api-apiusageplan-throttle"></a>
전체 요청 빈도(초당 평균 요청 수) 및 버스트 용량을 구성합니다.  
*유형*: [ThrottleSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-throttle)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::UsagePlan` 리소스의 `[Throttle](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-throttle)` 속성으로 직접 전달됩니다.

 `UsagePlanName`   <a name="sam-api-apiusageplan-usageplanname"></a>
사용량 계획의 이름입니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::UsagePlan` 리소스의 `[UsagePlanName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-usageplan.html#cfn-apigateway-usageplan-usageplanname)` 속성으로 직접 전달됩니다.

## 예제
<a name="sam-property-api-apiusageplan--examples"></a>

### UsagePlan
<a name="sam-property-api-apiusageplan--examples--usageplan"></a>

다음은 사용량 계획의 예시입니다.

#### YAML
<a name="sam-property-api-apiusageplan--examples--usageplan--yaml"></a>

```
Auth:
  UsagePlan:
    CreateUsagePlan: PER_API
    Description: Usage plan for this API
    Quota:
      Limit: 500
      Period: MONTH
    Throttle:
      BurstLimit: 100
      RateLimit: 50
    Tags:
      - Key: TagName
        Value: TagValue
```

# CognitoAuthorizer
<a name="sam-property-api-cognitoauthorizer"></a>

Amazon Cognito 사용자 풀 권한 부여자를 정의합니다.

자세한 정보와 지침은 [AWS SAM 템플릿을 사용하여 API 액세스 제어](serverless-controlling-access-to-apis.md) 섹션을 참조하세요.

## 구문
<a name="sam-property-api-cognitoauthorizer-syntax"></a>

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

### YAML
<a name="sam-property-api-cognitoauthorizer-syntax.yaml"></a>

```
  [AuthorizationScopes](#sam-api-cognitoauthorizer-authorizationscopes): List
  [Identity](#sam-api-cognitoauthorizer-identity): CognitoAuthorizationIdentity
  [UserPoolArn](#sam-api-cognitoauthorizer-userpoolarn): String
```

## 속성
<a name="sam-property-api-cognitoauthorizer-properties"></a>

 `AuthorizationScopes`   <a name="sam-api-cognitoauthorizer-authorizationscopes"></a>
이 권한 부여자의 권한 부여 범위 목록.  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `Identity`   <a name="sam-api-cognitoauthorizer-identity"></a>
이 속성은 권한 부여자에 대한 수신 요청에서 `IdentitySource`를 지정하는 데 사용할 수 있습니다.  
*유형*: [CognitoAuthorizationIdentity](sam-property-api-cognitoauthorizationidentity.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `UserPoolArn`   <a name="sam-api-cognitoauthorizer-userpoolarn"></a>
사용자 풀을 참조하거나 이 cognito 권한 부여자를 추가할 사용자 풀을 지정할 수 있습니다.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

## 예제
<a name="sam-property-api-cognitoauthorizer--examples"></a>

### CognitoAuth
<a name="sam-property-api-cognitoauthorizer--examples--cognitoauth"></a>

Cognito 인증 예제

#### YAML
<a name="sam-property-api-cognitoauthorizer--examples--cognitoauth--yaml"></a>

```
Auth:
  Authorizers:
    MyCognitoAuth:
      AuthorizationScopes:
        - scope1
        - scope2
      UserPoolArn:
        Fn::GetAtt:
          - MyCognitoUserPool
          - Arn
      Identity:
        Header: MyAuthorizationHeader
        ValidationExpression: myauthvalidationexpression
```

# CognitoAuthorizationIdentity
<a name="sam-property-api-cognitoauthorizationidentity"></a>

이 속성은 권한 부여자에 대한 수신 요청에서 IdentitySource를 지정하는 데 사용할 수 있습니다. IdentitySource에 대한 자세한 내용은 [APIGateway Authorizer OpenAPI 확장 프로그램](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-authorizer.html)을 참조하세요.

## 구문
<a name="sam-property-api-cognitoauthorizationidentity-syntax"></a>

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

### YAML
<a name="sam-property-api-cognitoauthorizationidentity-syntax.yaml"></a>

```
  [Header](#sam-api-cognitoauthorizationidentity-header): String
  [ReauthorizeEvery](#sam-api-cognitoauthorizationidentity-reauthorizeevery): Integer
  [ValidationExpression](#sam-api-cognitoauthorizationidentity-validationexpression): String
```

## 속성
<a name="sam-property-api-cognitoauthorizationidentity-properties"></a>

 `Header`   <a name="sam-api-cognitoauthorizationidentity-header"></a>
OpenAPI 정의에서 권한 부여를 위한 헤더 이름을 지정합니다.  
*유형*: 문자열  
*필수 여부*: 아니요  
*기본값*: 권한 부여  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `ReauthorizeEvery`   <a name="sam-api-cognitoauthorizationidentity-reauthorizeevery"></a>
API Gateway가 권한 부여자 결과를 캐싱하는 기간을 지정하는 TTL(Time to Live) 기간(초)입니다. 0보다 큰 값을 지정한 경우 API Gateway에서 권한 부여자 응답을 캐싱합니다. 기본적으로 API Gateway는 이 속성을 300으로 설정합니다. 최대 값은 3600 또는 1시간입니다.  
*유형*: 정수  
*필수 항목 여부*: 아니요  
*기본값*: 300  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `ValidationExpression`   <a name="sam-api-cognitoauthorizationidentity-validationexpression"></a>
수신되는 자격 증명에 대한 확인 표현식입니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

## 예제
<a name="sam-property-api-cognitoauthorizationidentity--examples"></a>

### CognitoAuthIdentity
<a name="sam-property-api-cognitoauthorizationidentity--examples--cognitoauthidentity"></a>

#### YAML
<a name="sam-property-api-cognitoauthorizationidentity--examples--cognitoauthidentity--yaml"></a>

```
Identity:
  Header: MyCustomAuthHeader
  ValidationExpression: Bearer.*
  ReauthorizeEvery: 30
```

# LambdaRequestAuthorizer
<a name="sam-property-api-lambdarequestauthorizer"></a>

Lambda 함수를 사용하여 API에 대한 액세스를 제어하도록 Lambda 함수를 구성합니다.

자세한 정보와 지침은 [AWS SAM 템플릿을 사용하여 API 액세스 제어](serverless-controlling-access-to-apis.md) 섹션을 참조하세요.

## 구문
<a name="sam-property-api-lambdarequestauthorizer-syntax"></a>

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

### YAML
<a name="sam-property-api-lambdarequestauthorizer-syntax.yaml"></a>

```
DisableFunctionDefaultPermissions: Boolean
[FunctionArn](#sam-api-lambdarequestauthorizer-functionarn): String
[FunctionInvokeRole](#sam-api-lambdarequestauthorizer-functioninvokerole): String
[FunctionPayloadType](#sam-api-lambdarequestauthorizer-functionpayloadtype): String
[Identity](#sam-api-lambdarequestauthorizer-identity): LambdaRequestAuthorizationIdentity
```

## 속성
<a name="sam-property-api-lambdarequestauthorizer-properties"></a>

 `DisableFunctionDefaultPermissions`   <a name="sam-api-lambdarequestauthorizer-disablefunctiondefaultpermissions"></a>
 AWS SAM 가 `AWS::Lambda::Permissions` 리소스와 권한 부여자 Lambda 함수 간에 권한을 프로비저닝하기 위해 `AWS::Serverless::Api` 리소스를 자동으로 생성하지 않도록 `true`를 지정합니다.  
*기본값:* `false`  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `FunctionArn`   <a name="sam-api-lambdarequestauthorizer-functionarn"></a>
API에 대한 권한 부여를 제공하는 Lambda 함수의 함수 ARN을 지정합니다.  
AWS SAM 에를 지정하면 `FunctionArn`가 자동으로 `AWS::Lambda::Permissions` 리소스를 생성합니다`AWS::Serverless::Api`. `AWS::Lambda::Permissions` 리소스는 API와 권한 부여자 Lambda 함수 간에 권한을 프로비저닝합니다.
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `FunctionInvokeRole`   <a name="sam-api-lambdarequestauthorizer-functioninvokerole"></a>
Lambda 권한 부여자의 OpenAPI 정의에 권한 부여자 보안 인증 정보를 추가합니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `FunctionPayloadType`   <a name="sam-api-lambdarequestauthorizer-functionpayloadtype"></a>
이 속성은 API의 Lambda 권한 부여자 유형을 정의하는 데 사용할 수 있습니다.  
*유효한 값*: `TOKEN` 또는 `REQUEST`  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*기본값*: `TOKEN`  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `Identity`   <a name="sam-api-lambdarequestauthorizer-identity"></a>
이 속성은 권한 부여자에 대한 수신 요청에서 `IdentitySource`를 지정하는 데 사용할 수 있습니다. 이 속성은 `FunctionPayloadType` 속성이 `REQUEST`로 설정된 경우에만 필요합니다.  
*유형*: [LambdaRequestAuthorizationIdentity](sam-property-api-lambdarequestauthorizationidentity.md)  
*필수 항목 여부*: 조건부  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

## 예제
<a name="sam-property-api-lambdarequestauthorizer--examples"></a>

### LambdaRequestAuth
<a name="sam-property-api-lambdarequestauthorizer--examples--lambdarequestauth"></a>

#### YAML
<a name="sam-property-api-lambdarequestauthorizer--examples--lambdarequestauth--yaml"></a>

```
Authorizers:
  MyLambdaRequestAuth:
    FunctionPayloadType: REQUEST
    FunctionArn:
      Fn::GetAtt:
        - MyAuthFunction
        - Arn
    FunctionInvokeRole:
      Fn::GetAtt:
        - LambdaAuthInvokeRole
        - Arn
    Identity:
      Headers:
        - Authorization1
```

# LambdaRequestAuthorizationIdentity
<a name="sam-property-api-lambdarequestauthorizationidentity"></a>

이 속성은 권한 부여자에 대한 수신 요청에서 IdentitySource를 지정하는 데 사용할 수 있습니다. IdentitySource에 대한 자세한 내용은 [APIGateway Authorizer OpenAPI 확장 프로그램](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-authorizer.html)을 참조하세요.

## 구문
<a name="sam-property-api-lambdarequestauthorizationidentity-syntax"></a>

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

### YAML
<a name="sam-property-api-lambdarequestauthorizationidentity-syntax.yaml"></a>

```
  [Context](#sam-api-lambdarequestauthorizationidentity-context): List
  [Headers](#sam-api-lambdarequestauthorizationidentity-headers): List
  [QueryStrings](#sam-api-lambdarequestauthorizationidentity-querystrings): List
  [ReauthorizeEvery](#sam-api-lambdarequestauthorizationidentity-reauthorizeevery): Integer
  [StageVariables](#sam-api-lambdarequestauthorizationidentity-stagevariables): List
```

## 속성
<a name="sam-property-api-lambdarequestauthorizationidentity-properties"></a>

 `Context`   <a name="sam-api-lambdarequestauthorizationidentity-context"></a>
지정된 컨텍스트 문자열을 `context.contextString` 형식의 매핑 표현식으로 변환합니다.  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `Headers`   <a name="sam-api-lambdarequestauthorizationidentity-headers"></a>
헤더를 `method.request.header.name` 형식의 쉼표로 구분된 매핑 표현식 문자열로 변환합니다.  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `QueryStrings`   <a name="sam-api-lambdarequestauthorizationidentity-querystrings"></a>
지정된 쿼리 문자열을 `method.request.querystring.queryString` 형식의 쉼표로 구분된 매핑 표현식 문자열로 변환합니다.  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `ReauthorizeEvery`   <a name="sam-api-lambdarequestauthorizationidentity-reauthorizeevery"></a>
API Gateway가 권한 부여자 결과를 캐싱하는 기간을 지정하는 TTL(Time to Live) 기간(초)입니다. 0보다 큰 값을 지정한 경우 API Gateway에서 권한 부여자 응답을 캐싱합니다. 기본적으로 API Gateway는 이 속성을 300으로 설정합니다. 최대 값은 3600 또는 1시간입니다.  
*유형*: 정수  
*필수 항목 여부*: 아니요  
*기본값*: 300  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `StageVariables`   <a name="sam-api-lambdarequestauthorizationidentity-stagevariables"></a>
지정된 단계 변수를 `stageVariables.stageVariable` 형식의 쉼표로 구분된 매핑 표현식 문자열로 변환합니다.  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

## 예제
<a name="sam-property-api-lambdarequestauthorizationidentity--examples"></a>

### LambdaRequestIdentity
<a name="sam-property-api-lambdarequestauthorizationidentity--examples--lambdarequestidentity"></a>

#### YAML
<a name="sam-property-api-lambdarequestauthorizationidentity--examples--lambdarequestidentity--yaml"></a>

```
Identity:
  QueryStrings:
    - auth
  Headers:
    - Authorization
  StageVariables:
    - VARIABLE
  Context:
    - authcontext
  ReauthorizeEvery: 100
```

# LambdaTokenAuthorizer
<a name="sam-property-api-lambdatokenauthorizer"></a>

Lambda 함수를 사용하여 API에 대한 액세스를 제어하도록 Lambda 함수를 구성합니다.

자세한 정보와 지침은 [AWS SAM 템플릿을 사용하여 API 액세스 제어](serverless-controlling-access-to-apis.md) 섹션을 참조하세요.

## 구문
<a name="sam-property-api-lambdatokenauthorizer-syntax"></a>

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

### YAML
<a name="sam-property-api-lambdatokenauthorizer-syntax.yaml"></a>

```
DisableFunctionDefaultPermissions: Boolean
[FunctionArn](#sam-api-lambdatokenauthorizer-functionarn): String
[FunctionInvokeRole](#sam-api-lambdatokenauthorizer-functioninvokerole): String
[FunctionPayloadType](#sam-api-lambdatokenauthorizer-functionpayloadtype): String
[Identity](#sam-api-lambdatokenauthorizer-identity): LambdaTokenAuthorizationIdentity
```

## 속성
<a name="sam-property-api-lambdatokenauthorizer-properties"></a>

 `DisableFunctionDefaultPermissions`   <a name="sam-api-lambdatokenauthorizer-disablefunctiondefaultpermissions"></a>
 AWS SAM 가 `AWS::Lambda::Permissions` 리소스와 권한 부여자 Lambda 함수 간에 권한을 프로비저닝하기 위해 `AWS::Serverless::Api` 리소스를 자동으로 생성하지 않도록 `true`를 지정합니다.  
*기본값:* `false`  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `FunctionArn`   <a name="sam-api-lambdatokenauthorizer-functionarn"></a>
API에 대한 권한 부여를 제공하는 Lambda 함수의 함수 ARN을 지정합니다.  
AWS SAM 에를 지정하면 `FunctionArn`가 자동으로 `AWS::Lambda::Permissions` 리소스를 생성합니다`AWS::Serverless::Api`. `AWS::Lambda::Permissions` 리소스는 API와 권한 부여자 Lambda 함수 간에 권한을 프로비저닝합니다.
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `FunctionInvokeRole`   <a name="sam-api-lambdatokenauthorizer-functioninvokerole"></a>
Lambda 권한 부여자의 OpenAPI 정의에 권한 부여자 보안 인증 정보를 추가합니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `FunctionPayloadType`   <a name="sam-api-lambdatokenauthorizer-functionpayloadtype"></a>
이 속성은 API의 Lambda 권한 부여자 유형을 정의하는 데 사용할 수 있습니다.  
*유효한 값*: `TOKEN` 또는 `REQUEST`  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*기본값*: `TOKEN`  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `Identity`   <a name="sam-api-lambdatokenauthorizer-identity"></a>
이 속성은 권한 부여자에 대한 수신 요청에서 `IdentitySource`를 지정하는 데 사용할 수 있습니다. 이 속성은 `FunctionPayloadType` 속성이 `REQUEST`로 설정된 경우에만 필요합니다.  
*유형*: [LambdaTokenAuthorizationIdentity](sam-property-api-lambdatokenauthorizationidentity.md)  
*필수 항목 여부*: 조건부  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

## 예제
<a name="sam-property-api-lambdatokenauthorizer--examples"></a>

### LambdaTokenAuth
<a name="sam-property-api-lambdatokenauthorizer--examples--lambdatokenauth"></a>

#### YAML
<a name="sam-property-api-lambdatokenauthorizer--examples--lambdatokenauth--yaml"></a>

```
Authorizers:
  MyLambdaTokenAuth:
    FunctionArn:
      Fn::GetAtt:
        - MyAuthFunction
        - Arn
    Identity:
      Header: MyCustomAuthHeader # OPTIONAL; Default: 'Authorization'
      ValidationExpression: mycustomauthexpression # OPTIONAL
      ReauthorizeEvery: 20 # OPTIONAL; Service Default: 300
```

### BasicLambdaTokenAuth
<a name="sam-property-api-lambdatokenauthorizer--examples--basiclambdatokenauth"></a>

#### YAML
<a name="sam-property-api-lambdatokenauthorizer--examples--basiclambdatokenauth--yaml"></a>

```
Authorizers:
  MyLambdaTokenAuth:
    FunctionArn:
      Fn::GetAtt:
        - MyAuthFunction
        - Arn
```

# LambdaTokenAuthorizationIdentity
<a name="sam-property-api-lambdatokenauthorizationidentity"></a>

이 속성은 권한 부여자에 대한 수신 요청에서 IdentitySource를 지정하는 데 사용할 수 있습니다. IdentitySource에 대한 자세한 내용은 [APIGateway Authorizer OpenAPI 확장 프로그램](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-authorizer.html)을 참조하세요.

## 구문
<a name="sam-property-api-lambdatokenauthorizationidentity-syntax"></a>

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

### YAML
<a name="sam-property-api-lambdatokenauthorizationidentity-syntax.yaml"></a>

```
  [Header](#sam-api-lambdatokenauthorizationidentity-header): String
  [ReauthorizeEvery](#sam-api-lambdatokenauthorizationidentity-reauthorizeevery): Integer
  [ValidationExpression](#sam-api-lambdatokenauthorizationidentity-validationexpression): String
```

## 속성
<a name="sam-property-api-lambdatokenauthorizationidentity-properties"></a>

 `Header`   <a name="sam-api-lambdatokenauthorizationidentity-header"></a>
OpenAPI 정의에서 권한 부여를 위한 헤더 이름을 지정합니다.  
*유형*: 문자열  
*필수 여부*: 아니요  
*기본값*: 권한 부여  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `ReauthorizeEvery`   <a name="sam-api-lambdatokenauthorizationidentity-reauthorizeevery"></a>
API Gateway가 권한 부여자 결과를 캐싱하는 기간을 지정하는 TTL(Time to Live) 기간(초)입니다. 0보다 큰 값을 지정한 경우 API Gateway에서 권한 부여자 응답을 캐싱합니다. 기본적으로 API Gateway는 이 속성을 300으로 설정합니다. 최대 값은 3600 또는 1시간입니다.  
*유형*: 정수  
*필수 항목 여부*: 아니요  
*기본값*: 300  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `ValidationExpression`   <a name="sam-api-lambdatokenauthorizationidentity-validationexpression"></a>
수신되는 자격 증명에 대한 확인 표현식입니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

## 예제
<a name="sam-property-api-lambdatokenauthorizationidentity--examples"></a>

### LambdaTokenIdentity
<a name="sam-property-api-lambdatokenauthorizationidentity--examples--lambdatokenidentity"></a>

#### YAML
<a name="sam-property-api-lambdatokenauthorizationidentity--examples--lambdatokenidentity--yaml"></a>

```
Identity:
  Header: MyCustomAuthHeader
  ValidationExpression: Bearer.*
  ReauthorizeEvery: 30
```

# ResourcePolicyStatement
<a name="sam-property-api-resourcepolicystatement"></a>

API의 모든 메서드와 경로에 대한 리소스 정책을 구성합니다. 리소스 정책에 대한 자세한 내용은 *API Gateway 개발자 안내서*의 [API Gateway 리소스 정책을 사용하는 액세스 제어](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-resource-policies.html)를 참조하세요.

## 구문
<a name="sam-property-api-resourcepolicystatement-syntax"></a>

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

### YAML
<a name="sam-property-api-resourcepolicystatement-syntax.yaml"></a>

```
  [AwsAccountBlacklist](#sam-api-resourcepolicystatement-awsaccountblacklist): List
  [AwsAccountWhitelist](#sam-api-resourcepolicystatement-awsaccountwhitelist): List
  [CustomStatements](#sam-api-resourcepolicystatement-customstatements): List
  [IntrinsicVpcBlacklist](#sam-api-resourcepolicystatement-intrinsicvpcblacklist): List
  [IntrinsicVpcWhitelist](#sam-api-resourcepolicystatement-intrinsicvpcwhitelist): List
  [IntrinsicVpceBlacklist](#sam-api-resourcepolicystatement-intrinsicvpceblacklist): List
  [IntrinsicVpceWhitelist](#sam-api-resourcepolicystatement-intrinsicvpcewhitelist): List
  [IpRangeBlacklist](#sam-api-resourcepolicystatement-iprangeblacklist): List
  [IpRangeWhitelist](#sam-api-resourcepolicystatement-iprangewhitelist): List
  [SourceVpcBlacklist](#sam-api-resourcepolicystatement-sourcevpcblacklist): List
  [SourceVpcWhitelist](#sam-api-resourcepolicystatement-sourcevpcwhitelist): List
```

## 속성
<a name="sam-property-api-resourcepolicystatement-properties"></a>

 `AwsAccountBlacklist`   <a name="sam-api-resourcepolicystatement-awsaccountblacklist"></a>
차단할 AWS 계정입니다.  
*유형*: 문자열 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `AwsAccountWhitelist`   <a name="sam-api-resourcepolicystatement-awsaccountwhitelist"></a>
허용할 AWS 계정입니다. 이 속성의 예제 사용 예제를 알아보려면 이 페이지 하단의 예제을 참조하세요  
*유형*: 문자열 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `CustomStatements`   <a name="sam-api-resourcepolicystatement-customstatements"></a>
이 API에 적용할 사용자 지정 리소스 정책 설명 목록. 이 속성의 예제 사용 예제를 알아보려면 이 페이지 하단의 예제을 참조하세요  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `IntrinsicVpcBlacklist`   <a name="sam-api-resourcepolicystatement-intrinsicvpcblacklist"></a>
차단할 Virtual Private Cloud(VPC) )목록입니다. 여기서 각 VPC는 [동적 참조](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html) 또는 `Ref` [내장 함수](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html)와 같은 참조로 지정됩니다. 이 속성의 예제 사용 예제를 알아보려면 이 페이지 하단의 예제을 참조하세요  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `IntrinsicVpcWhitelist`   <a name="sam-api-resourcepolicystatement-intrinsicvpcwhitelist"></a>
[허용할 VPC 목록. 여기서 각 VPC는 [동적 참조](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html) 또는 `Ref` 내장 함수](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html)와 같은 참조로 지정됩니다.  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `IntrinsicVpceBlacklist`   <a name="sam-api-resourcepolicystatement-intrinsicvpceblacklist"></a>
[차단할 VPC 엔드포인트 목록. 여기서 각 VPC 엔드포인트는 [동적 참조](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html) 또는 `Ref` 내장 함수](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html)와 같은 참조로 지정됩니다.  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `IntrinsicVpceWhitelist`   <a name="sam-api-resourcepolicystatement-intrinsicvpcewhitelist"></a>
[허용할 VPC 엔드포인트 목록. 여기서 각 VPC 엔드포인트는 [동적 참조](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html) 또는 `Ref` 내장 함수](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html)와 같은 참조로 지정됩니다. 이 속성의 예제 사용 예제를 알아보려면 이 페이지 하단의 예제을 참조하세요  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `IpRangeBlacklist`   <a name="sam-api-resourcepolicystatement-iprangeblacklist"></a>
차단할 IP 주소 또는 주소 범위. 이 속성의 예제 사용 예제를 알아보려면 이 페이지 하단의 예제을 참조하세요  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `IpRangeWhitelist`   <a name="sam-api-resourcepolicystatement-iprangewhitelist"></a>
허용할 IP 주소 또는 주소 범위.  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `SourceVpcBlacklist`   <a name="sam-api-resourcepolicystatement-sourcevpcblacklist"></a>
차단할 소스 VPC 또는 VPC 엔드포인트. 소스 VPC 이름은 `"vpc-"`로 시작하고 소스 VPC 엔드포인트 이름은 `"vpce-"`로 시작해야 합니다. 이 속성의 예제 사용 예제를 알아보려면 이 페이지 하단의 예제을 참조하세요  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `SourceVpcWhitelist`   <a name="sam-api-resourcepolicystatement-sourcevpcwhitelist"></a>
허용할 소스 VPC 또는 VPC 엔드포인트. 소스 VPC 이름은 `"vpc-"`로 시작하고 소스 VPC 엔드포인트 이름은 `"vpce-"`로 시작해야 합니다.  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

## 예제
<a name="sam-property-api-resourcepolicystatement--examples"></a>

### 리소스 정책 예시
<a name="sam-property-api-resourcepolicystatement--examples--resource-policy-example"></a>

다음 예제에서는 두 개의 IP 주소와 소스 VPC를 차단하고 AWS 계정을 허용합니다.

#### YAML
<a name="sam-property-api-resourcepolicystatement--examples--resource-policy-example--yaml"></a>

```
Auth:
  ResourcePolicy:
    CustomStatements: [{
                         "Effect": "Allow",
                         "Principal": "*",
                         "Action": "execute-api:Invoke",
                         "Resource": "execute-api:/Prod/GET/pets",
                         "Condition": {
                           "IpAddress": {
                             "aws:SourceIp": "1.2.3.4"
                           }
                         }
                       }]
    IpRangeBlacklist:
      - "10.20.30.40"
      - "1.2.3.4"
    SourceVpcBlacklist:
      - "vpce-1a2b3c4d"
    AwsAccountWhitelist:
      - "111122223333"
    IntrinsicVpcBlacklist:
      - "{{resolve:ssm:SomeVPCReference:1}}" 
      - !Ref MyVPC
    IntrinsicVpceWhitelist:
      - "{{resolve:ssm:SomeVPCEReference:1}}" 
      - !Ref MyVPCE
```

# ApiDefinition
<a name="sam-property-api-apidefinition"></a>

API를 정의하는 OpenAPI 문서.

## 구문
<a name="sam-property-api-apidefinition-syntax"></a>

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

### YAML
<a name="sam-property-api-apidefinition-syntax.yaml"></a>

```
  [Bucket](#sam-api-apidefinition-bucket): String
  [Key](#sam-api-apidefinition-key): String
  [Version](#sam-api-apidefinition-version): String
```

## 속성
<a name="sam-property-api-apidefinition-properties"></a>

 `Bucket`   <a name="sam-api-apidefinition-bucket"></a>
OpenAPI 파일이 저장되는 Amazon S3 버킷의 이름입니다.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::RestApi` `S3Location` 데이터 유형의 `[Bucket](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-s3location.html#cfn-apigateway-restapi-s3location-bucket)` 속성으로 직접 전달됩니다.

 `Key`   <a name="sam-api-apidefinition-key"></a>
OpenAPI 파일의 Amazon S3 키.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::RestApi` `S3Location` 데이터 유형의 `[Key](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-s3location.html#cfn-apigateway-restapi-s3location-key)` 속성으로 직접 전달됩니다.

 `Version`   <a name="sam-api-apidefinition-version"></a>
버전이 지정된 객체의 경우 OpenAPI 파일의 버전.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::RestApi` `S3Location` 데이터 유형의 `[Version](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-s3location.html#cfn-apigateway-restapi-s3location-version)` 속성으로 직접 전달됩니다.

## 예제
<a name="sam-property-api-apidefinition--examples"></a>

### Uri 정의 예제
<a name="sam-property-api-apidefinition--examples--definition-uri-example"></a>

API 정의 예

#### YAML
<a name="sam-property-api-apidefinition--examples--definition-uri-example--yaml"></a>

```
DefinitionUri:
  Bucket: amzn-s3-demo-bucket-name
  Key: mykey-name
  Version: 121212
```

# CorsConfiguration
<a name="sam-property-api-corsconfiguration"></a>

API Gateway API의 교차 오리진 리소스 공유(CORS)를 관리합니다. 허용할 도메인을 문자열로 지정하거나 추가 Cors 구성을 사용하여 사전을 지정합니다.

**참고**  
CORS AWS SAM 를 사용하려면 OpenAPI 정의를 수정해야 합니다. `DefinitionBody`에서 인라인 OpenAPI 정의를 생성하여 CORS를 켭니다. `CorsConfiguration`가 OpenAPI 정의 및 속성 수준에서 설정된 경우는 이를 AWS SAM 병합합니다. 속성 수준이 OpenAPI 정의보다 우선합니다.

자세한 내용은 [API 게이트웨이 개발자 가이드](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-cors.html)의 *API 게이트웨이 REST API 리소스 활성화*를 참조하세요.

## 구문
<a name="sam-property-api-corsconfiguration-syntax"></a>

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

### YAML
<a name="sam-property-api-corsconfiguration-syntax.yaml"></a>

```
  [AllowCredentials](#sam-api-corsconfiguration-allowcredentials): Boolean
  [AllowHeaders](#sam-api-corsconfiguration-allowheaders): String
  [AllowMethods](#sam-api-corsconfiguration-allowmethods): String
  [AllowOrigin](#sam-api-corsconfiguration-alloworigin): String
  [MaxAge](#sam-api-corsconfiguration-maxage): String
```

## 속성
<a name="sam-property-api-corsconfiguration-properties"></a>

 `AllowCredentials`   <a name="sam-api-corsconfiguration-allowcredentials"></a>
요청에 보안 인증 정보를 포함할 수 있는지 여부를 나타내는 부울.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `AllowHeaders`   <a name="sam-api-corsconfiguration-allowheaders"></a>
허용할 헤더 문자열.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `AllowMethods`   <a name="sam-api-corsconfiguration-allowmethods"></a>
허용할 HTTP 메서드가 포함된 문자열입.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `AllowOrigin`   <a name="sam-api-corsconfiguration-alloworigin"></a>
허용할 오리진 문자열. 이것은 문자열 형식의 쉼표로 구분된 목록일 수 있습니다.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `MaxAge`   <a name="sam-api-corsconfiguration-maxage"></a>
CORS Preflight 요청을 캐시하는 데 걸리는 시간(초)이 포함된 문자열.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

## 예제
<a name="sam-property-api-corsconfiguration--examples"></a>

### CorsConfiguration
<a name="sam-property-api-corsconfiguration--examples--corsconfiguration"></a>

CORS 구성의 예입니다. 이는 CORS가 구성된 [AWS::Serverless::Api](sam-resource-api.md) 정의와를 보여주는 AWS SAM 템플릿 파일의 일부일 뿐입니다[AWS::Serverless::Function](sam-resource-function.md). Lambda 프록시 통합 또는 HTTP 프록시 통합을 사용하는 경우 백엔드는 `Access-Control-Allow-Origin`, `Access-Control-Allow-Methods` 및 `Access-Control-Allow-Headers` 헤더를 반환해야 합니다.

#### YAML
<a name="sam-property-api-corsconfiguration--examples--corsconfiguration--yaml"></a>

```
Resources:
  ApiGatewayApi:
    Type: AWS::Serverless::Api
    Properties:
      StageName: Prod
      Cors:
        AllowMethods: "'POST, GET'"
        AllowHeaders: "'X-Forwarded-For'"
        AllowOrigin: "'https://example.com'"
        MaxAge: "'600'"
        AllowCredentials: true
  ApiFunction: # Adds a GET method at the root resource via an Api event
    Type: AWS::Serverless::Function
    Properties:
      Events:
        ApiEvent:
          Type: Api
          Properties:
            Path: /
            Method: get
            RestApiId:
              Ref: ApiGatewayApi
      Runtime: python3.10
      Handler: index.handler
      InlineCode: |
        import json
        def handler(event, context):
          return {
          'statusCode': 200,
          'headers': {
            'Access-Control-Allow-Headers': 'Content-Type',
            'Access-Control-Allow-Origin': 'https://example.com',
            'Access-Control-Allow-Methods': 'POST, GET'
            },
          'body': json.dumps('Hello from Lambda!')
          }
```

# DomainConfiguration
<a name="sam-property-api-domainconfiguration"></a>

API의 사용자 지정 도메인을 구성합니다.

## 구문
<a name="sam-property-api-domainconfiguration-syntax"></a>

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

### YAML
<a name="sam-property-api-domainconfiguration-syntax.yaml"></a>

```
  [AccessAssociation](#sam-api-domainconfiguration-domainaccessassociation): DomainAccessAssociation
  [BasePath](#sam-api-domainconfiguration-basepath): List
  [CertificateArn](#sam-api-domainconfiguration-certificatearn): String
  [DomainName](#sam-api-domainconfiguration-domainname): String
  [EndpointConfiguration](#sam-api-domainconfiguration-endpointconfiguration): String
  [MutualTlsAuthentication](#sam-api-domainconfiguration-mutualtlsauthentication): [MutualTlsAuthentication](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-mutualtlsauthentication)
  [NormalizeBasePath](#sam-api-domainconfiguration-normalizebasepath): Boolean
  [OwnershipVerificationCertificateArn](#sam-api-domainconfiguration-ownershipverificationcertificatearn): String
  [Policy: ](#sam-api-domainconfiguration-policy)Json
  [Route53](#sam-api-domainconfiguration-route53): Route53Configuration
  [SecurityPolicy](#sam-api-domainconfiguration-securitypolicy): String
```

## 속성
<a name="sam-property-api-domainconfiguration-properties"></a>

 `AccessAssociation`   <a name="sam-api-domainconfiguration-domainaccessassociation"></a>
` AWS::ApiGateway::DomainNameAccessAssociation` 리소스를 생성하는 데 필요한 구성입니다.  
AWS SAM 는이 속성이 설정되면 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnameaccessassociation.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnameaccessassociation.html) 리소스를 생성합니다. 생성된 CloudFormation 리소스에 대한 자세한 내용은 섹션을 참조하세요[에 대해 생성된 CloudFormation 리소스 AWS SAM](sam-specification-generated-resources.md).  
*유형*: [DomainAccessAssociation](sam-property-api-domainaccessassociation.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `BasePath`   <a name="sam-api-domainconfiguration-basepath"></a>
Amazon API Gateway 도메인 이름을 사용하여 구성할 basepath 목록입니다.  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*기본값*: /  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::BasePathMapping` 리소스의 `[BasePath](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-basepathmapping.html#cfn-apigateway-basepathmapping-basepath)` 속성과 유사합니다.는이 속성에 `BasePath` 지정된당 하나씩 여러 `AWS::ApiGateway::BasePathMapping` 리소스를 AWS SAM 생성합니다.

 `CertificateArn`   <a name="sam-api-domainconfiguration-certificatearn"></a>
이 도메인 이름의 엔드포인트인 AWS 관리형 인증서의 Amazon 리소스 이름(ARN)은 유일하게 지원되는 소스 AWS Certificate Manager 입니다.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::DomainName` 리소스의 `[CertificateArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-certificatearn)` 속성과 유사합니다. `EndpointConfiguration`이 `REGIONAL`(기본값)로 설정된 경우 `CertificateArn`이 `AWS::ApiGateway::DomainName`의 [RegionalCertificateArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-regionalcertificatearn)에 매핑됩니다. `EndpointConfiguration`이 `EDGE`로 설정된 경우 `CertificateArn`이 `AWS::ApiGateway::DomainName`의 [CertificateArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-certificatearn)에 매핑됩니다. `EndpointConfiguration`이(가) `PRIVATE`(으)로 설정된 경우, 이 속성은 [AWS::ApiGateway::DomainNameV2](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnamev2) 리소스로 전달됩니다.  
*추가 참고* 사항: `EDGE` 엔드포인트의 경우 `us-east-1` AWS 리전에서 인증서를 생성해야 합니다.

 `DomainName`   <a name="sam-api-domainconfiguration-domainname"></a>
Amazon API Gateway의 API에 대한 사용자 지정 도메인 이름입니다. 대문자는 지원되지 않습니다.  
AWS SAM 는이 속성이 설정되면 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html) 리소스를 생성합니다. 이 시나리오에 대한 자세한 내용은 [DomainName 속성이 지정되었습니다.](sam-specification-generated-resources-api.md#sam-specification-generated-resources-api-domain-name) 섹션을 참조하세요. 생성된 CloudFormation 리소스에 대한 자세한 내용은 섹션을 참조하세요[에 대해 생성된 CloudFormation 리소스 AWS SAM](sam-specification-generated-resources.md).  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::DomainName` 리소스의 `[DomainName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-domainname)` 속성으로 직접 전달되거나 EndpointConfiguration이 로 설정된 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnamev2](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnamev2) 경우 로 전달됩니다`PRIVATE`.

 `EndpointConfiguration`   <a name="sam-api-domainconfiguration-endpointconfiguration"></a>
사용자 지정 도메인에 매핑할 API Gateway 엔드포인트의 유형을 정의합니다. 이 속성의 값은 `CertificateArn` 속성이 매핑되는 방식을 결정합니다 CloudFormation.  
*유효한 값*: `EDGE`, `REGIONAL` 또는 `PRIVATE`  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*기본값*: `REGIONAL`  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `MutualTlsAuthentication`   <a name="sam-api-domainconfiguration-mutualtlsauthentication"></a>
사용자 지정 도메인 이름에 대한 상호 전송 계층 보안(TLS) 인증 구성입니다.  
*유형*: [MutualTlsAuthentication](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-mutualtlsauthentication)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::DomainName` 리소스의 `[MutualTlsAuthentication](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-mutualtlsauthentication)` 속성으로 직접 전달됩니다.

 `NormalizeBasePath`   <a name="sam-api-domainconfiguration-normalizebasepath"></a>
`BasePath` 속성으로 정의된 basepath에 영숫자가 아닌 문자를 사용할 수 있는지 여부를 나타냅니다. `True`로 설정하면 basepath에서 영숫자가 아닌 문자가 제거됩니다.  
`BasePath` 속성과 함께 `NormalizeBasePath`을 사용합니다.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*기본값*: True  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `OwnershipVerificationCertificateArn`   <a name="sam-api-domainconfiguration-ownershipverificationcertificatearn"></a>
사용자 지정 도메인의 소유권을 확인하기 위해 ACM에서 발급한 공인 인증서의 ARN입니다. 상호 TLS를 구성하고 `CertificateArn`에 대해 ACM 가져오기 또는 사설 CA 인증서 ARN을 지정하는 경우에만 필요합니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::DomainName` 리소스의 `[OwnershipVerificationCertificateArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-ownershipverificationcertificatearn)` 속성으로 직접 전달됩니다.

 `Policy`   <a name="sam-api-domainconfiguration-policy"></a>
API Gateway 도메인 이름에 연결할 IAM 정책입니다. `EndpointConfiguration`이(가) `PRIVATE`(으)로 설정된 경우에만 적용됩니다.  
*유형*: Json  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은가 로 `EndpointConfiguration` 설정된 경우 `AWS::ApiGateway::DomainNameV2` 리소스의 `Policy` 속성으로 직접 전달됩니다`PRIVATE`. 유효한 정책 문서의 예시는 [AWS::ApiGateway::DomainNameV2](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnamev2)를 참조하세요.

 `Route53`   <a name="sam-api-domainconfiguration-route53"></a>
Amazon Route 53 구성을 정의합니다.  
*유형*: [Route53Configuration](sam-property-api-route53configuration.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `SecurityPolicy`   <a name="sam-api-domainconfiguration-securitypolicy"></a>
이 도메인 이름에 대한 TLS 버전과 암호 그룹의 결합입니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::DomainName` 리소스의 `[SecurityPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainname.html#cfn-apigateway-domainname-securitypolicy)` 속성으로 직접 전달되거나 `EndpointConfiguration`가 로 설정된 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnamev2](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnamev2) 경우 로 전달됩니다`PRIVATE`. `PRIVATE` 엔드포인트의 경우, TLS\$11\$12만 지원됩니다.

## 예제
<a name="sam-property-api-domainconfiguration--examples"></a>

### DomainName
<a name="sam-property-api-domainconfiguration--examples--domainname"></a>

DomainName 예제

#### YAML
<a name="sam-property-api-domainconfiguration--examples--domainname--yaml"></a>

```
Domain:
  DomainName: www.example.com
  CertificateArn: arn-example
  EndpointConfiguration: EDGE
  Route53:
    HostedZoneId: Z1PA6795UKMFR9
  BasePath:
    - foo
    - bar
```

# DomainAccessAssociation
<a name="sam-property-api-domainaccessassociation"></a>

액세스 연결 소스와 프라이빗 커스텀 도메인 이름 간의 도메인 액세스 연결을 구성합니다. 지원되는 유일한 액세스 연결 소스는 VPC 엔드포인트 ID입니다. 자세한 내용은 [API 게이트웨이의 프라이빗 API의 사용자 지정 도메인 이름](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-private-custom-domains.html)을 참조하세요.

## 구문
<a name="sam-property-api-domainaccessassociation-syntax"></a>

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

### YAML
<a name="sam-property-api-domainaccessassociation-syntax.yaml"></a>

```
 VpcEndpointId: String
```

## 속성
<a name="sam-property-api-domainaccessassociation-properties"></a>

 `VpcEndpointId`   <a name="sam-api-domainaccessassociation-vpcendpointid"></a>
API Gateway VPC 서비스와 연결된 VPC 인터페이스 엔드포인트의 엔드포인트 ID입니다.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::DomainNameAccessAssociation` 리소스의 `[ AccessAssociationSource](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-domainnameaccessassociation.html#cfn-apigateway-domainnameaccessassociation-accessassociationsource)` 속성으로 직접 전달됩니다.

# Route53Configuration
<a name="sam-property-api-route53configuration"></a>

API에 대한 Route53 레코드 세트를 구성합니다.

## 구문
<a name="sam-property-api-route53configuration-syntax"></a>

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

### YAML
<a name="sam-property-api-route53configuration-syntax.yaml"></a>

```
  [DistributionDomainName](#sam-api-route53configuration-distributiondomainname): String
  [EvaluateTargetHealth](#sam-api-route53configuration-evaluatetargethealth): Boolean
  [HostedZoneId](#sam-api-route53configuration-hostedzoneid): String
  [HostedZoneName](#sam-api-route53configuration-hostedzonename): String
  [IpV6](#sam-api-route53configuration-ipv6): Boolean
  Region: String
  SetIdentifier: String
  VpcEndpointDomainName: String
  VpcEndpointHostedZoneId: String
```

## 속성
<a name="sam-property-api-route53configuration-properties"></a>

 `DistributionDomainName`   <a name="sam-api-route53configuration-distributiondomainname"></a>
API 사용자 지정 도메인 이름의 사용자 지정 배포를 구성합니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*기본값*: API Gateway 배포를 사용합니다.  
*CloudFormation 호환성*:이 속성은 `AWS::Route53::RecordSetGroup AliasTarget` 리소스의 `[DNSName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-aliastarget-1.html#cfn-route53-aliastarget-dnshostname)` 속성으로 직접 전달됩니다.  
*추가 참고 사항*: [CloudFront 배포](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-distribution.html)의 도메인 이름입니다.

 `EvaluateTargetHealth`   <a name="sam-api-route53configuration-evaluatetargethealth"></a>
EvaluateTargetHealth가 true인 경우 별칭 레코드는 Elastic Load Balancing 로드 밸런서 또는 호스팅 영역의 다른 레코드와 같이 참조된 AWS 리소스의 상태를 상속합니다.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Route53::RecordSetGroup AliasTarget` 리소스의 `[EvaluateTargetHealth](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-aliastarget.html#cfn-route53-aliastarget-evaluatetargethealth)` 속성으로 직접 전달됩니다.  
*추가 참고 사항*: 별칭 대상이 CloudFront 배포인 경우, EvaluateTargetHealth를 true로 설정할 수 없습니다.

 `HostedZoneId`   <a name="sam-api-route53configuration-hostedzoneid"></a>
기록을 생성하려는 호스팅 영역의 ID입니다.  
`HostedZoneName` 또는 `HostedZoneId` 중 하나를 지정하며 둘 다 지정하지 않습니다. 동일한 도메인 이름을 가진 호스팅 영역이 여러 개 있는 경우 `HostedZoneId`를 사용하여 호스팅 영역을 지정해야 합니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Route53::RecordSetGroup RecordSet` 리소스의 `[HostedZoneId](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-1.html#cfn-route53-recordset-hostedzoneid)` 속성으로 직접 전달됩니다.

 `HostedZoneName`   <a name="sam-api-route53configuration-hostedzonename"></a>
기록을 생성하려는 호스팅 영역의 이름입니다.  
`HostedZoneName` 또는 `HostedZoneId` 중 하나를 지정하며 둘 다 지정하지 않습니다. 동일한 도메인 이름을 가진 호스팅 영역이 여러 개 있는 경우 `HostedZoneId`를 사용하여 호스팅 영역을 지정해야 합니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Route53::RecordSetGroup RecordSet` 리소스의 `[HostedZoneName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-1.html#cfn-route53-recordset-hostedzonename)` 속성으로 직접 전달됩니다.

 `IpV6`   <a name="sam-api-route53configuration-ipv6"></a>
이 속성이 설정되면는 `AWS::Route53::RecordSet` 리소스를 AWS SAM 생성하고 제공된 HostedZone에 `AAAA` 대해 [유형을](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-type) 로 설정합니다.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

`Region`  <a name="sam-api-route53configuration-region"></a>
*지연 시간 기반 리소스 기록 세트만 해당:* 이 리소스 기록 세트가 참조하는 리소스를 생성한 Amazon EC2 리전입니다. 리소스는 일반적으로 EC2 인스턴스 또는 ELB 로드 밸런서와 같은 AWS 리소스이며 레코드 유형에 따라 IP 주소 또는 DNS 도메인 이름으로 참조됩니다.  
Amazon Route 53에서 지연 리소스 기록 세트에 대해 생성된 도메인 이름 및 유형에 대한 DNS 쿼리를 수신한 경우 Route 53은 최종 사용자와 연결된 Amazon EC2 리전 간에 지연 시간이 가장 짧은 지연 리소스 기록 세트를 선택합니다. 그 다음에 Route 53은 선택된 리소스 기록 세트와 연결된 값을 반환합니다.  
다음 사항에 유의하세요.  
+ 지연 리소스 기록 세트별로 `ResourceRecord`를 1개씩만 지정할 수 있습니다.
+ 각 Amazon EC2 리전에 지연 시간 리소스 기록 세트를 1개씩만 생성할 수 있습니다.
+ 모든 Amazon EC2 리전에 지연 시간 리소스 기록 세트를 생성할 필요는 없습니다. Route 53은 지연 시간 리소스 기록 세트를 생성할 리전 중에서 지연 시간이 가장 좋은 리전을 선택합니다.
+ `Name` 및 `Type` 요소 값이 지연 시간 리소스 기록 세트와 같은 비-지연 시간 리소스 기록 세트를 생성할 수 없습니다.
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Route53::RecordSetGroup` `RecordSet` 데이터 유형의 `[ Region](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-1.html#cfn-route53-recordset-region)` 속성으로 직접 전달됩니다.

`SetIdentifier`  <a name="sam-api-route53configuration-setidentifier"></a>
*단순하지 않은 라우팅 정책이 있는 리소스 기록 세트:* 이름과 유형의 조합이 동일한 여러 리소스 기록 세트(이름이 acme.example.com이고 유형이 A인 여러 가중치 기반 리소스 기록 세트) 사이에서 차별화되는 식별자입니다. 이름과 유형이 동일한 리소스 기록 세트 그룹에서 각 리소스 기록 세트의 `SetIdentifier` 값은 고유해야 합니다.  
라우팅 정책에 대한 자세한 내용을 알아보려면 *Amazon Route 53 개발자 안내서*의 [라우팅 정책 선택](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html)을 참조하세요.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Route53::RecordSetGroup` `RecordSet` 데이터 유형의 `[ SetIdentifier](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-1.html#cfn-route53-recordset-setidentifier)` 속성으로 직접 전달됩니다.

`VpcEndpointDomainName`  <a name="sam-api-route53configuration-vpcendpointdomainname"></a>
API Gateway VPC 서비스와 연결된 VPC 인터페이스 엔드포인트의 DNS 이름입니다. 이 속성은 프라이빗 도메인에만 필요합니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Route53::RecordSet` `AliasTarget` 필드의 `[DNSName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-aliastarget.html)` 속성으로 직접 전달됩니다.

`VpcEndpointHostedZoneId`  <a name="sam-api-route53configuration-vpcendpointhostedzoneid"></a>
API Gateway VPC 서비스와 연결된 VPC 인터페이스 엔드포인트의 호스팅된 영역 ID입니다. 이 속성은 프라이빗 도메인에만 필요합니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Route53::RecordSet` `AliasTarget` 필드의 `[HostedZoneId](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-aliastarget.html)` 속성으로 직접 전달됩니다.

## 예제
<a name="sam-property-api-route53configuration--examples"></a>

### 기본 예제
<a name="sam-property-api-route53configuration--examples--route-53-configuration-example"></a>

이 예시에서는 API에 대한 사용자 지정 도메인과 Route 53 기록 세트를 구성합니다.

#### YAML
<a name="sam-property-api-route53configuration--examples--route-53-configuration-example--yaml"></a>

```
Resources:
  MyApi:
    Type: AWS::Serverless::Api
    Properties:
      StageName: Prod
      Domain:
        DomainName: www.example.com
        CertificateArn: arn:aws:acm:us-east-1:123456789012:certificate/abcdef12-3456-7890-abcd-ef1234567890
        EndpointConfiguration: REGIONAL
        Route53:
          HostedZoneId: ABCDEFGHIJKLMNOP
```

# EndpointConfiguration
<a name="sam-property-api-endpointconfiguration"></a>

REST API의 엔드포인트 유형.

## 구문
<a name="sam-property-api-endpointconfiguration-syntax"></a>

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

### YAML
<a name="sam-property-api-endpointconfiguration-syntax.yaml"></a>

```
  [IpAddressType](#sam-api-endpointconfiguration-ipaddresstype): String
  [Type](#sam-api-endpointconfiguration-type): String
  [VPCEndpointIds](#sam-api-endpointconfiguration-vpcendpointids): List
```

## 속성
<a name="sam-property-api-endpointconfiguration-properties"></a>

 `IpAddressType`   <a name="sam-api-endpointconfiguration-ipaddresstype"></a>
API(RestApi)를 호출할 수 있는 IP 주소 유형입니다.  
*유효한 값*: `ipv4` 또는 `dualstack`  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::RestApi` `EndpointConfiguration` 데이터 유형의 `[IpAddressType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-endpointconfiguration.html#cfn-apigateway-restapi-endpointconfiguration-ipaddresstype)` 속성으로 직접 전달됩니다.

 `Type`   <a name="sam-api-endpointconfiguration-type"></a>
REST API의 엔드포인트 유형.  
*유효한 값*: `EDGE` 또는 `REGIONAL` 또는 `PRIVATE`  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::RestApi` `EndpointConfiguration` 데이터 유형의 `[Types](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-endpointconfiguration.html#cfn-apigateway-restapi-endpointconfiguration-types)` 속성으로 직접 전달됩니다.

 `VPCEndpointIds`   <a name="sam-api-endpointconfiguration-vpcendpointids"></a>
Route53 별칭을 생성할 REST API의 VPC 엔드포인트 ID 목록입니다.  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway::RestApi` `EndpointConfiguration` 데이터 유형의 `[VpcEndpointIds](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-restapi-endpointconfiguration.html#cfn-apigateway-restapi-endpointconfiguration-vpcendpointids)` 속성으로 직접 전달됩니다.

## 예제
<a name="sam-property-api-endpointconfiguration--examples"></a>

### EndpointConfiguration
<a name="sam-property-api-endpointconfiguration--examples--endpointconfiguration"></a>

엔드포인트 구성 예제

#### YAML
<a name="sam-property-api-endpointconfiguration--examples--endpointconfiguration--yaml"></a>

```
EndpointConfiguration:
  Type: PRIVATE
  VPCEndpointIds:
    - vpce-123a123a
    - vpce-321a321a
```

# AWS::Serverless::Application
<a name="sam-resource-application"></a>

[AWS Serverless Application Repository](https://serverlessrepo.aws.amazon.com/applications)로부터, 또는 Amazon S3 버킷으로부터 서버리스 애플리케이션을 중첩 애플리케이션으로 내장합니다. 중첩된 애플리케이션은 중첩된 리소스로 배포되며, 중첩된 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stack.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudformation-stack.html)리소스에는 다른 리소스를 비롯한 다른 [AWS::Serverless::Application](#sam-resource-application)리소스가 포함될 수 있습니다. 

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

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

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

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

```
Type: AWS::Serverless::Application
Properties:
  [Location](#sam-application-location): String | ApplicationLocationObject
  [NotificationARNs](#sam-application-notificationarns): List
  [Parameters](#sam-application-parameters): Map
  [Tags](#sam-application-tags): Map
  [TimeoutInMinutes](#sam-application-timeoutinminutes): Integer
```

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

 `Location`   <a name="sam-application-location"></a>
중첩된 애플리케이션의 템플릿 URL, 파일 경로 또는 위치 개체.  
템플릿 URL을 제공하는 경우, 템플릿 URL은 [클라우드포메이션 템플릿URL 설명서](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stack.html#cfn-cloudformation-stack-templateurl)에 지정된 형식을 따라야 하며 유효한 클라우드포메이션또는 SAM 템플릿을 포함해야 합니다. [ApplicationLocationObject](sam-property-application-applicationlocationobject.md)는 [AWS Serverless Application Repository](https://docs.aws.amazon.com/serverlessrepo/latest/devguide/what-is-serverlessrepo.html)에 게시된 애플리케이션을 지정하는 데 사용할 수 있습니다.  
로컬 파일 경로를 제공하는 경우, 애플리케이션이 제대로 변환되려면 템플릿이 `sam deploy` 또는 `sam package` 명령을 포함하는 워크플로를 거쳐야 합니다.  
*유형*: 문자열 \$1 [ApplicationLocationObject](sam-property-application-applicationlocationobject.md)  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::CloudFormation::Stack` 리소스의 `[TemplateURL](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stack.html#cfn-cloudformation-stack-templateurl)` 속성과 유사합니다. CloudFormation 버전에서는 AWS Serverless Application Repository에서 애플리케이션을 인출하는 데 [ApplicationLocationObject](sam-property-application-applicationlocationobject.md)가 필요하지 않습니다.

 `NotificationARNs`   <a name="sam-application-notificationarns"></a>
스택 이벤트에 대한 알림을 전송하는 기존의 Amazon SNS 주제 목록.  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::CloudFormation::Stack` 리소스의 `[NotificationARNs](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stack.html#cfn-cloudformation-stack-notificationarns)` 속성으로 직접 전달됩니다.

 `Parameters`   <a name="sam-application-parameters"></a>
애플리케이션 파라미터 값  
*유형*: 맵  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::CloudFormation::Stack` 리소스의 `[Parameters](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stack.html#cfn-cloudformation-stack-parameters)` 속성으로 직접 전달됩니다.

 `Tags`   <a name="sam-application-tags"></a>
이 응용 프로그램에 추가할 태그를 지정하는 맵(문자열 간)입니다. 키와 값에는 영숫자 문자만 사용할 수 있습니다. 키는 길이가 1\$1127자(유니코드 문자)이며 “aws:”로 시작할 수 없습니다. 값은 길이가 1\$1255자인 유니코드 문자입니다.  
*유형*: 맵  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::CloudFormation::Stack` 리소스의 `[Tags](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stack.html#cfn-cloudformation-stack-tags)` 속성과 유사합니다. SAM의 태그 속성은 키:값의 쌍으로 구성되고, CloudFormation에서는 태그 객체 목록으로 구성됩니다. 스택이 생성되면 SAM은 이 애플리케이션에 `lambda:createdBy:SAM` 태그를 자동으로 추가합니다. 또한이 애플리케이션이에서 가져온 경우 AWS Serverless Application Repository SAM은 두 개의 추가 태그 `serverlessrepo:applicationId:ApplicationId` 및 도 자동으로 생성합니다`serverlessrepo:semanticVersion:SemanticVersion`.

 `TimeoutInMinutes`   <a name="sam-application-timeoutinminutes"></a>
중첩 스택이 `CREATE_COMPLETE` 상태에 도달할 CloudFormation 때까지 기다리는 분 단위의 시간 길이입니다. 기본값은 제한 시간 없음입니다. 가 중첩 스택이 `CREATE_COMPLETE` 상태에 도달했음을 CloudFormation 감지하면 중첩 스택 리소스를 상위 스택`CREATE_COMPLETE`에 로 표시하고 상위 스택 생성을 재개합니다. 중첩 스택이에 도달하기 전에 제한 시간이 만료되면는 중첩 스택을 실패로 `CREATE_COMPLETE` CloudFormation 표시하고 중첩 스택과 상위 스택을 모두 롤백합니다.  
*유형*: 정수  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::CloudFormation::Stack` 리소스의 `[TimeoutInMinutes](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stack.html#cfn-cloudformation-stack-timeoutinminutes)` 속성으로 직접 전달됩니다.

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

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

`Ref` 내장 함수에 이 리소스의 논리적 ID를 제공하면 기저의 `AWS::CloudFormation::Stack` 리소스의 리소스 이름을 반환합니다. 

`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-application-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) 섹션을 참조하세요.

`Outputs.ApplicationOutputName`  <a name="Outputs.ApplicationOutputName-fn::getatt"></a>
`ApplicationOutputName`라는 이름의 스택 출력 결과의 값.

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

### SAR 애플리케이션
<a name="sam-resource-application--examples--sar-application"></a>

서버리스 애플리케이션 리포지토리의 템플릿을 사용하는 애플리케이션

#### YAML
<a name="sam-resource-application--examples--sar-application--yaml"></a>

```
Type: AWS::Serverless::Application
Properties:
  Location:
    ApplicationId: 'arn:aws:serverlessrepo:us-east-1:012345678901:applications/my-application'
    SemanticVersion: 1.0.0
  Parameters:
    StringParameter: parameter-value
    IntegerParameter: 2
```

### 정상-애플리케이션
<a name="sam-resource-application--examples--normal-application"></a>

S3 URL을 통한 애플리케이션

#### YAML
<a name="sam-resource-application--examples--normal-application--yaml"></a>

```
Type: AWS::Serverless::Application
Properties:
  Location: https://s3.amazonaws.com/sam-s3-demo-bucket/template.yaml
```

# ApplicationLocationObject
<a name="sam-property-application-applicationlocationobject"></a>

[AWS Serverless Application Repository](https://docs.aws.amazon.com/serverlessrepo/latest/devguide/what-is-serverlessrepo.html)에 게시된 애플리케이션.

## 구문
<a name="sam-property-application-applicationlocationobject-syntax"></a>

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

### YAML
<a name="sam-property-application-applicationlocationobject-syntax.yaml"></a>

```
  [ApplicationId](#sam-application-applicationlocationobject-applicationid): String
  [SemanticVersion](#sam-application-applicationlocationobject-semanticversion): String
```

## 속성
<a name="sam-property-application-applicationlocationobject-properties"></a>

 `ApplicationId`   <a name="sam-application-applicationlocationobject-applicationid"></a>
애플리케이션의 Amazon 리소스 이름(ARN)입니다.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `SemanticVersion`   <a name="sam-application-applicationlocationobject-semanticversion"></a>
애플리케이션의 의미 체계 버전입니다.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

## 예제
<a name="sam-property-application-applicationlocationobject--examples"></a>

### 애플리케이션
<a name="sam-property-application-applicationlocationobject--examples--my-application"></a>

예제 애플리케이션 위치 객체

#### YAML
<a name="sam-property-application-applicationlocationobject--examples--my-application--yaml"></a>

```
Location:
  ApplicationId: 'arn:aws:serverlessrepo:us-east-1:012345678901:applications/my-application'
  SemanticVersion: 1.0.0
```

# AWS::Serverless::CapacityProvider
<a name="sam-resource-capacityprovider"></a>

 고객 소유 Amazon Elastic Compute Cloud 인스턴스에서 Lambda 관리형 인스턴스를 실행할 수 있는 AWS Lambda 함수용 용량 공급자를 생성합니다. 이 리소스는 Amazon EC2 요금 모델을 활용하여 대규모 Lambda 워크로드에 대한 비용 최적화를 제공하는 Lambda 관리형 인스턴스 기능의 일부입니다.

 용량 공급자는 Amazon EC2 인스턴스의 수명 주기를 관리하고 Lambda 함수가 서버리스 프로그래밍 모델을 유지하면서 고객 소유 컴퓨팅 리소스에서 실행하는 데 필요한 인프라를 제공합니다.

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

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

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

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

```
Type: AWS::Serverless::CapacityProvider
Properties:
  [CapacityProviderName](#sam-capacityprovider-capacityprovidername): String
  [VpcConfig](#sam-capacityprovider-vpcconfig): VpcConfig
  [OperatorRole](#sam-capacityprovider-operatorrole): String
  [Tags](#sam-capacityprovider-tags): Map
  [PropagateTags](#sam-capacityprovider-propagatetags): Boolean
  [InstanceRequirements](#sam-capacityprovider-instancerequirements): InstanceRequirements
  [ScalingConfig](#sam-capacityprovider-scalingconfig): ScalingConfig
  [KmsKeyArn](#sam-capacityprovider-kmskeyarn): String
```

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

 `CapacityProviderName`   <a name="sam-capacityprovider-capacityprovidername"></a>
용량 공급자의 이름입니다. 이 이름은 AWS 계정 및 리전 내에서 고유해야 합니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::CapacityProvider` 리소스의 `[CapacityProviderName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-capacityprovidername)` 속성으로 직접 전달됩니다.

 `VpcConfig`   <a name="sam-capacityprovider-vpcconfig"></a>
용량 공급자의 VPC 구성입니다. Amazon EC2 인스턴스가 시작될 VPC 서브넷 및 보안 그룹을 지정합니다.  
*유형*: [VpcConfig](sam-property-capacityprovider-vpcconfig.md)  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::CapacityProvider` 리소스의 `[VpcConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-vpcconfig)` 속성으로 직접 전달됩니다.

 `OperatorRole`   <a name="sam-capacityprovider-operatorrole"></a>
 고객 계정에서 Amazon EC2 인스턴스 및 관련 리소스를 생성하고 관리할 수 있는 권한이 있는 Lambda에 대한 연산자 역할의 ARN입니다. 제공되지 않은 경우는 필요한 권한이 있는 역할을 AWS SAM 자동으로 생성합니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::CapacityProvider` 리소스`[PermissionsConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-permissionsconfig)`의 `[CapacityProviderOperatorRoleArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-capacityprovider-capacityproviderpermissionsconfig.html#cfn-lambda-capacityprovider-capacityproviderpermissionsconfig-capacityprovideroperatorrolearn)` 속성으로 직접 전달됩니다.

 `Tags`   <a name="sam-capacityprovider-tags"></a>
용량 공급자 및 관련 리소스에 적용할 키-값 페어의 맵입니다.  
*유형*: 맵  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::CapacityProvider` 리소스의 `[Tags](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-tags)` 속성으로 직접 전달됩니다. 의 `Tags` 속성은 키-값 페어로 AWS SAM 구성됩니다(이 CloudFormation 속성에서는 태그 객체 목록으로 구성됨). 또한는이 Lambda 함수와이 함수에 대해 생성된 기본 역할에 `lambda:createdBy:SAM` 태그를 AWS SAM 자동으로 추가합니다.

 `PropagateTags`   <a name="sam-capacityprovider-propagatetags"></a>
 태그 속성에서 `AWS::Serverless::CapacityProvider` 생성된 리소스로 태그를 전달할지 여부를 나타냅니다. 생성된 리소스에 태그를 전파`True`하려면이 값을 로 설정합니다.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `InstanceRequirements`   <a name="sam-capacityprovider-instancerequirements"></a>
 용량 공급자가 사용할 수 있는 컴퓨팅 인스턴스 유형에 대한 사양입니다. 여기에는 아키텍처 요구 사항 및 `allowed` 또는 `excluded` 인스턴스 유형이 포함됩니다.  
*유형*: [InstanceRequirements](sam-property-capacityprovider-instancerequirements.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::CapacityProvider` 리소스의 `[InstanceRequirements](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-instancerequirements)` 속성으로 직접 전달됩니다.

 `ScalingConfig`   <a name="sam-capacityprovider-scalingconfig"></a>
 용량 공급자의 조정 구성입니다. 용량 공급자가 수요에 따라 Amazon EC2 인스턴스를 확장하는 방법을 정의합니다.  
*Type*: [ScalingConfig](sam-property-capacityprovider-scalingconfig.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::CapacityProvider` 리소스의 `[CapacityProviderScalingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-capacityproviderscalingconfig)` 속성으로 직접 전달됩니다.

 `KmsKeyArn`   <a name="sam-capacityprovider-kmskeyarn"></a>
용량 공급자의 저장 및 전송 중 데이터를 암호화하는 데 사용되는 AWS KMS 키의 ARN입니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::CapacityProvider` 리소스의 `[KmsKeyArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-kmskeyarn)` 속성으로 직접 전달됩니다.

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

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

이 리소스의 논리적 ID가 `Ref` 내장 함수에 제공되면 용량 공급자의 이름을 반환합니다.

`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-capacityprovider-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>
용량 공급자의 ARN입니다.

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

### 기본 용량 공급자
<a name="sam-resource-capacityprovider-examples-basic"></a>

다음 예제에서는 VPC 구성을 사용하여 기본 용량 공급자를 생성합니다.

```
MyCapacityProvider:
  Type: AWS::Serverless::CapacityProvider
  Properties:
    CapacityProviderName: my-capacity-provider
    VpcConfig:
      SubnetIds:
        - subnet-12345678
        - subnet-87654321
      SecurityGroupIds:
        - sg-12345678
    Tags:
      Environment: Production
      Team: ServerlessTeam
```

### 확장 기능이 있는 고급 용량 공급자
<a name="sam-resource-capacityprovider-examples-advanced"></a>

다음 예시에서는 사용자 지정 인스턴스 요구 사항 및 조정 구성을 사용하여 용량 공급자를 생성합니다.

```
AdvancedCapacityProvider:
  Type: AWS::Serverless::CapacityProvider
  Properties:
    CapacityProviderName: advanced-capacity-provider
    VpcConfig:
      SubnetIds:
        - subnet-12345678
        - subnet-87654321
      SecurityGroupIds:
        - sg-12345678
    OperatorRole: arn:aws:iam::123456789012:role/MyCapacityProviderRole
    PropagateTags: true
    InstanceRequirements:
      Architectures:
        - x86_64
      ExcludedTypes:
        - t2.micro
    ScalingConfig:
      MaxInstanceCount: 10
      ManualScalingPolicies:
        AverageCPUUtilization: 70.0
    KmsKeyArn: arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012
    Tags:
      Environment: Production
      CostCenter: Engineering
```

# VpcConfig
<a name="sam-property-capacityprovider-vpcconfig"></a>

EC2 인스턴스가 시작될 서브넷 및 보안 그룹을 포함하여 용량 공급자에 대한 VPC 설정을 구성합니다.

## 구문
<a name="sam-property-capacityprovider-vpcconfig-syntax"></a>

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

### YAML
<a name="sam-property-capacityprovider-vpcconfig-syntax.yaml"></a>

```
[SubnetIds](#sam-capacityprovider-vpcconfig-subnetids): List
[SecurityGroupIds](#sam-capacityprovider-vpcconfig-securitygroupids): List
```

## 속성
<a name="sam-property-capacityprovider-vpcconfig-properties"></a>

 `SubnetIds`   <a name="sam-capacityprovider-vpcconfig-subnetids"></a>
EC2 인스턴스가 시작될 서브넷 IDs 목록입니다. 하나 이상의 서브넷을 지정해야 합니다.  
*유형*: 목록  
*필수 항목 여부*: 예  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::CapacityProvider` 리소스`[VpcConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-vpcconfig) `의 `[SubnetIds](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-capacityprovider-capacityprovidervpcconfig.html#cfn-lambda-capacityprovider-capacityprovidervpcconfig-subnetids)` 속성으로 직접 전달됩니다.

 `SecurityGroupIds`   <a name="sam-capacityprovider-vpcconfig-securitygroupids"></a>
EC2 인스턴스와 연결할 보안 그룹 IDs의 목록입니다. 지정하지 않으면 VPC의 기본 보안 그룹이 사용됩니다.  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::CapacityProvider` 리소스 `[SecurityGroupIds](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-capacityprovider-capacityprovidervpcconfig.html#cfn-lambda-capacityprovider-capacityprovidervpcconfig-securitygroupids)` 속성의 `[VpcConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-vpcconfig)` 속성으로 직접 전달됩니다.

## 예제
<a name="sam-property-capacityprovider-vpcconfig-examples"></a>

### VPC 구성
<a name="sam-property-capacityprovider-vpcconfig-examples-basic"></a>

다음 예제에서는 여러 서브넷과 보안 그룹이 있는 VPC 구성을 보여줍니다.

```
VpcConfig:
  SubnetIds:
    - subnet-12345678
    - subnet-87654321
  SecurityGroupIds:
    - sg-12345678
    - sg-87654321
```

# InstanceRequirements
<a name="sam-property-capacityprovider-instancerequirements"></a>

아키텍처 및 인스턴스 유형 제약 조건을 포함하여 용량 공급자가 시작할 EC2 인스턴스에 대한 요구 사항을 지정합니다.

## 구문
<a name="sam-property-capacityprovider-instancerequirements-syntax"></a>

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

### YAML
<a name="sam-property-capacityprovider-instancerequirements-syntax.yaml"></a>

```
[Architectures](#sam-capacityprovider-instancerequirements-architectures): List
[AllowedTypes](#sam-capacityprovider-instancerequirements-allowedtypes): List
[ExcludedTypes](#sam-capacityprovider-instancerequirements-excludedtypes): List
```

**참고**  
용량 공급자에 대한 인스턴스 요구 사항을 정의할 `ExcludedTypes` 때 `AllowedTypes` 또는 중 하나를 지정할 수 있지만 둘 다 지정할 수는 없습니다.

## 속성
<a name="sam-property-capacityprovider-instancerequirements-properties"></a>

 `Architectures`   <a name="sam-capacityprovider-instancerequirements-architectures"></a>
용량 공급자 인스턴스의 명령 세트 아키텍처입니다.  
*유효한 값*: `x86_64` 또는 `arm64`  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*기본값*: `x86_64`  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::CapacityProvider` 리소스`[InstanceRequirements](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-instancerequirements)`의 `[Architectures](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-capacityprovider-instancerequirements.html#cfn-lambda-capacityprovider-instancerequirements-architectures)` 속성으로 직접 전달됩니다.

 `AllowedTypes`   <a name="sam-capacityprovider-instancerequirements-allowedtypes"></a>
용량 공급자 인스턴스에 허용되는 EC2 인스턴스 유형의 목록입니다.  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::CapacityProvider` 리소스`[InstanceRequirements](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-instancerequirements)`의 `[AllowedInstanceTypes](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-capacityprovider-instancerequirements.html#cfn-lambda-capacityprovider-instancerequirements-allowedinstancetypes)` 속성으로 직접 전달됩니다.

 `ExcludedTypes`   <a name="sam-capacityprovider-instancerequirements-excludedtypes"></a>
용량 공급자에서 제외할 EC2 인스턴스 유형 목록입니다.  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::CapacityProvider` 리소스`[InstanceRequirements](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-instancerequirements)`의 `[ExcludedInstanceTypes](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-capacityprovider-instancerequirements.html#cfn-lambda-capacityprovider-instancerequirements-excludedinstancetypes)` 속성으로 직접 전달됩니다.

## 예제
<a name="sam-property-capacityprovider-instancerequirements-examples"></a>

### 인스턴스 요구 사항 구성
<a name="sam-property-capacityprovider-instancerequirements-examples-basic"></a>

다음 예제에서는 특정 아키텍처 및 인스턴스 유형 제약 조건이 있는 인스턴스 요구 사항을 보여줍니다.

```
InstanceRequirements:
  Architectures:
    - x86_64
  ExcludedTypes:
    - t2.micro
```

# ScalingConfig
<a name="sam-property-capacityprovider-scalingconfig"></a>

용량 공급자가 최대 인스턴스 제한 및 조정 정책을 포함하여 수요에 따라 EC2 인스턴스를 조정하는 방법을 구성합니다.

## 구문
<a name="sam-property-capacityprovider-scalingconfig-syntax"></a>

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

### YAML
<a name="sam-property-capacityprovider-scalingconfig-syntax.yaml"></a>

```
[MaxVCpuCount](#sam-capacityprovider-scalingconfig-maxvcpucount): Integer
[AverageCPUUtilization](#sam-capacityprovider-scalingconfig-averagecpuutilization): Double
```

## 속성
<a name="sam-property-capacityprovider-scalingconfig-properties"></a>

 `MaxVCpuCount`   <a name="sam-capacityprovider-scalingconfig-maxvcpucount"></a>
용량 공급자가 모든 컴퓨팅 인스턴스에 프로비저닝할 수 있는 최대 vCPUs.  
*유형*: 정수  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::CapacityProvider` 리소스`[CapacityProviderScalingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-capacityproviderscalingconfig)`의 `[MaxVCpuCount](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-capacityprovider-capacityproviderscalingconfig.html#cfn-lambda-capacityprovider-capacityproviderscalingconfig-maxvcpucount)` 속성으로 직접 전달됩니다.

 `AverageCPUUtilization`   <a name="sam-capacityprovider-scalingconfig-averagecpuutilization"></a>
조정 결정을 위한 목표 평균 CPU 사용률(0\$1100)입니다. 평균 CPU 사용률이이 임계값을 초과하면 용량 공급자는 Amazon EC2 인스턴스를 확장합니다. 지정된 경우가 로 `[ScalingMode](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-capacityprovider-capacityproviderscalingconfig.html#cfn-lambda-capacityprovider-capacityproviderscalingconfig-scalingmode)` 설정`'Manual'`되고가 로 `[ScalingPolicies](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-capacityprovider-capacityproviderscalingconfig.html#cfn-lambda-capacityprovider-capacityproviderscalingconfig-scalingpolicies)` 설정된 `AWS::Lambda::CapacityProvider` 리소스`[CapacityProviderScalingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html#cfn-lambda-capacityprovider-capacityproviderscalingconfig)`의 AWS SAM 구성입니다`[{PredefinedMetricType: 'LambdaCapacityProviderAverageCPUUtilization', TargetValue: <this value>}]`.  
*유형*: Double  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

## 예제
<a name="sam-property-capacityprovider-scalingconfig-examples"></a>

### 조정 구성
<a name="sam-property-capacityprovider-scalingconfig-examples-basic"></a>

다음 예제에서는 최대 VCpu 수와 평균 CPU 사용률을 가진 조정 구성을 보여줍니다.

```
ScalingConfig:
  MaxVCpuCount: 10
  AverageCPUUtilization: 70.0
```

# AWS::Serverless::Connector
<a name="sam-resource-connector"></a>

두 리소스 간의 권한을 구성합니다. 커넥터에 대한 소개는 [AWS SAM 커넥터를 사용하여 리소스 권한 관리](managing-permissions-connectors.md) 섹션을 참조하세요.

생성된 AWS CloudFormation 리소스에 대한 자세한 내용은 섹션을 참조하세요[CloudFormation 지정할 때 생성된 리소스 AWS::Serverless::Connector](sam-specification-generated-resources-connector.md).

커넥터에 대한 피드백을 제공하려면 *serverless-application-model AWS GitHub리포지토리*에서 [새 문제를 제출합니다](https://github.com/aws/serverless-application-model/issues/new?assignees=&labels=area%2Fconnectors,stage%2Fneeds-triage&template=other.md&title=%28Feature%20Request%29).

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

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

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

**참고**  
대부분의 사용 사례에서는 내장 커넥터 구문을 사용하는 것이 좋습니다. 소스 리소스에 내장되어 있으면 시간이 지나도 읽고 유지 관리하기가 더 쉬워집니다. 중첩 스택의 리소스 또는 공유 리소스와 같이 동일한 AWS SAM 템플릿 내에 있지 않은 소스 리소스를 참조해야 하는 경우 `AWS::Serverless::Connector` 구문을 사용합니다.

### 내장 커넥터
<a name="sam-resource-connector-syntax-embedded"></a>

```
<source-resource-logical-id>:
  Connectors:
    <connector-logical-id:
      Properties:
        [Destination](#sam-connector-destination): ResourceReference | List of ResourceReference
        [Permissions](#sam-connector-permissions): List
        [SourceReference](#sam-connector-sourcereference): SourceReference
```

### AWS::Serverless::Connector
<a name="sam-resource-connector-syntax-connector"></a>

```
Type: AWS::Serverless::Connector
Properties:
  [Destination](#sam-connector-destination): ResourceReference | List of ResourceReference
  [Permissions](#sam-connector-permissions): List
  [Source](#sam-connector-source): ResourceReference
```

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

 `Destination`   <a name="sam-connector-destination"></a>
대상 리소스.  
*유형*: [리소스 참조](sam-property-connector-resourcereference.md) \$1 [리소스 참조 ](sam-property-connector-resourcereference.md)목록  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `Permissions`   <a name="sam-connector-permissions"></a>
원본 리소스가 대상 리소스에서 수행할 수 있는 권한 유형입니다.  
`Read` 에는 리소스에서 데이터를 읽을 수 있는 AWS Identity and Access Management (IAM) 작업이 포함되어 있습니다.  
`Write`은 리소스에 데이터를 시작하고 쓸 수 있는 IAM 작업을 포함합니다.  
*유효한 값*: `Read` 또는 `Write`  
*유형*: 목록  
*필수 항목 여부*: 예  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `Source`   <a name="sam-connector-source"></a>
소스 리소스. `AWS::Serverless::Connector` 명령문을 사용할 때 필요합니다.  
*유형*: [리SourceReference](sam-property-connector-resourcereference.md)  
*필수 여부*: 조건부  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `SourceReference`   <a name="sam-connector-sourcereference"></a>
소스 리소스.  
소스 리소스의 추가 속성을 정의할 때 내장된 커넥터 명령문과 함께 사용합니다.
*유형*: [SourceReference](sam-property-connector-sourcereference.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

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

### 내장 커넥터
<a name="sam-resource-connector-examples-embedded"></a>

다음 예제에서는 내장 커넥터를 사용하여 AWS Lambda 함수와 Amazon DynamoDB 테이블 간의 `Write` 데이터 연결을 정의합니다.

```
Transform: AWS::Serverless-2016-10-31
...
Resources:
  MyTable:
    Type: AWS::Serverless::SimpleTable
  MyFunction:
    Type: AWS::Serverless::Function
    Connectors:
      MyConn:
        Properties:
          Destination:
            Id: MyTable
          Permissions:
            - Write
    ...
```

다음 예제에서는 내장 커넥터를 사용하여 `Read`을 정의하고 권한을 `Write`합니다. 

```
Transform: AWS::Serverless-2016-10-31
...
Resources:
  MyFunction:
    Type: AWS::Serverless::Function
    Connectors:
      MyConn:
        Properties:
          Destination:
            Id: MyTable
          Permissions:
            - Read
            - Write
  MyTable:
    Type: AWS::DynamoDB::Table
    ...
```

다음 예제에서는 내장된 커넥터를 사용하여 `Id`이 아닌 속성으로 소스 리소스를 정의합니다.

```
Transform: AWS::Serverless-2016-10-31
Transform: AWS::Serverless-2016-10-31
...
Resources:
  MyApi:
    Type: AWS::Serverless::Api
    Connectors:
      ApitoLambdaConn:
        Properties:
          SourceReference:
            Qualifier: Prod/GET/foobar
          Destination:
            Id: MyTable
          Permissions:
            - Read
            - Write
  MyTable:
    Type: AWS::DynamoDB::Table
    ...
```

### AWS::Serverless::Connector
<a name="sam-resource-connector--examples-connector"></a>

다음 예제에서는 [AWS::Serverless::Connector](#sam-resource-connector) 리소스를 사용하여 Amazon DynamoDB 테이블에서 AWS Lambda 함수를 읽고 씁니다.

```
MyConnector:
  Type: AWS::Serverless::Connector
  Properties:
    Source:
      Id: MyFunction
    Destination:
      Id: MyTable
    Permissions:
      - Read
      - Write
```

다음 예제에서는 [AWS::Serverless::Connector](#sam-resource-connector) 리소스를 사용하여 Lambda 함수가 Amazon SNS 주제에 쓰도록 하고 두 리소스 모두 동일한 템플릿에서 이를 실행합니다.

```
MyConnector:
  Type: AWS::Serverless::Connector
  Properties:
    Source:
      Id: MyLambda
    Destination:
      Id: MySNSTopic
    Permissions:
      - Write
```

다음 예제에서는 [AWS::Serverless::Connector](#sam-resource-connector) 리소스를 사용하여 Amazon SNS 주제가 Lambda 함수에 쓰도록 하고, 그 다음 Amazon DynamoDB 테이블에 쓰도록 하며, 모든 리소스가 동일한 템플릿에서 이를 실행합니다.

```
Transform: AWS::Serverless-2016-10-31
Resources:
  Topic:
    Type: AWS::SNS::Topic
    Properties:
      Subscription:
        - Endpoint: !GetAtt Function.Arn
          Protocol: lambda

  Function:
    Type: AWS::Serverless::Function
    Properties:
      Runtime: nodejs16.x
      Handler: index.handler
      InlineCode: |
        const AWS = require('aws-sdk');
        exports.handler = async (event, context) => {
          const docClient = new AWS.DynamoDB.DocumentClient();
          await docClient.put({ 
            TableName: process.env.TABLE_NAME, 
            Item: {
              id: context.awsRequestId,
              event: JSON.stringify(event)
            }
          }).promise();
        };
      Environment:
        Variables:
          TABLE_NAME: !Ref Table

  Table:
    Type: AWS::Serverless::SimpleTable

  TopicToFunctionConnector:
    Type: AWS::Serverless::Connector
    Properties:
      Source: 
        Id: Topic
      Destination: 
        Id: Function
      Permissions:
        - Write

  FunctionToTableConnector:
    Type: AWS::Serverless::Connector
    Properties:
      Source: 
        Id: Function
      Destination: 
        Id: Table
      Permissions:
        - Write
```

다음은 위 예제에서 변환된 AWS CloudFormation 템플릿입니다.

```
"FunctionToTableConnectorPolicy": {
  "Type": "AWS::IAM::ManagedPolicy",
  "Metadata": {
    "aws:sam:connectors": {
      "FunctionToTableConnector": {
        "Source": {
          "Type": "AWS::Lambda::Function"
        },
        "Destination": {
          "Type": "AWS::DynamoDB::Table"
        }
      }
    }
  },
  "Properties": {
    "PolicyDocument": {
      "Version": "2012-10-17",		 	 	 
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "dynamodb:PutItem",
            "dynamodb:UpdateItem",
            "dynamodb:DeleteItem",
            "dynamodb:BatchWriteItem",
            "dynamodb:PartiQLDelete",
            "dynamodb:PartiQLInsert",
            "dynamodb:PartiQLUpdate"
          ],
          "Resource": [
            {
              "Fn::GetAtt": [
                "MyTable",
                "Arn"
              ]
            },
            {
              "Fn::Sub": [
                "${DestinationArn}/index/*",
                {
                  "DestinationArn": {
                    "Fn::GetAtt": [
                      "MyTable",
                      "Arn"
                    ]
                  }
                }
              ]
            }
          ]
        }
      ]
    },
    "Roles": [
      {
        "Ref": "MyFunctionRole"
      }
    ]
  }
}
```

# ResourceReference
<a name="sam-property-connector-resourcereference"></a>

[AWS::Serverless::Connector](sam-resource-connector.md) 리소스 유형이 사용하는 리소스에 대한 참조.

**참고**  
동일한 템플릿에 있는 리소스의 경우 `Id`를 제공하십시오. 동일한 템플릿에 있지 않은 리소스의 경우 다른 속성을 조합하여 사용합니다. 자세한 내용은을 참조하십시오[AWS SAM 커넥터 참조](reference-sam-connector.md)

## 구문
<a name="sam-property-connector-resourcereference-syntax"></a>

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

### YAML
<a name="sam-property-connector-resourcereference-syntax.yaml"></a>

```
  [Arn](#sam-connector-resourcereference-arn): String
  [Id](#sam-connector-resourcereference-id): String
  [Name](#sam-connector-resourcereference-name): String
  [Qualifier](#sam-connector-resourcereference-qualifier): String
  [QueueUrl](#sam-connector-resourcereference-queueurl): String
  [ResourceId](#sam-connector-resourcereference-resourceid): String
  [RoleName](#sam-connector-resourcereference-rolename): String
  [Type](#sam-connector-resourcereference-type): String
```

## 속성
<a name="sam-property-connector-resourcereference-properties"></a>

 `Arn`   <a name="sam-connector-resourcereference-arn"></a>
리소스의 ARN.  
*유형*: 문자열  
*필수 항목 여부*: 조건부  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `Id`   <a name="sam-connector-resourcereference-id"></a>
동일한 템플릿에 있는 리소스의 [논리적 ID](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resources-section-structure.html).  
`Id`를 지정하면 커넥터가 AWS Identity and Access Management (IAM) 정책을 생성하는 경우 해당 정책과 연결된 IAM 역할은 리소스에서 추론됩니다`Id`. `Id`이 지정되지 않은 경우, 커넥터가 생성된 IAM 정책을 IAM 역할에 연결할 수 있도록 리소스의 `RoleName`를 제공하십시오.
*유형*: 문자열  
*필수 항목 여부*: 조건부  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `Name`   <a name="sam-connector-resourcereference-name"></a>
리소스의 이름.  
*유형*: 문자열  
*필수 항목 여부*: 조건부  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `Qualifier`   <a name="sam-connector-resourcereference-qualifier"></a>
범위를 좁히는 리소스의 한정자입니다. `Qualifier`는 리소스 제약 조건 ARN의 끝에 있는 `*` 값을 대체합니다. 예시는 [API Gateway가 Lambda 함수를 호출](#sam-property-connector-resourcereference--examples--api-gateway-invoking-a-lambda-function)에서 확인하십시오.  
한정자 정의는 리소스 유형별로 다릅니다. 지원되는 소스 및 대상 리소스 유형 목록은 [AWS SAM 커넥터 참조](reference-sam-connector.md) 섹션을 참조하세요.
*유형*: 문자열  
*필수 항목 여부*: 조건부  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `QueueUrl`   <a name="sam-connector-resourcereference-queueurl"></a>
Amazon SQS 대기열의 URL. 이 속성은 Amazon SQS 리소스에만 적용됩니다.  
*유형*: 문자열  
*필수 항목 여부*: 조건부  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `ResourceId`   <a name="sam-connector-resourcereference-resourceid"></a>
리소스의 ID. 에를 들면, API 게이트웨이 API ID.  
*유형*: 문자열  
*필수 항목 여부*: 조건부  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `RoleName`   <a name="sam-connector-resourcereference-rolename"></a>
리소스와 관련된 역할 이름.  
`Id`이 지정된 경우, 커넥터가 IAM 정책을 생성하면 해당 정책에 연결된 IAM 역할이 리소스 `Id`에서 유추됩니다. `Id`이 지정되지 않은 경우, 커넥터가 생성된 IAM 정책을 IAM 역할에 연결할 수 있도록 리소스의 `RoleName`를 제공하십시오.
*유형*: 문자열  
*필수 항목 여부*: 조건부  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `Type`   <a name="sam-connector-resourcereference-type"></a>
리소스의 CloudFormation 유형입니다. 자세한 내용은 [AWS 리소스 및 속성 유형 참조](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html)를 참조하세요.  
*유형*: 문자열  
*필수 항목 여부*: 조건부  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

## 예제
<a name="sam-property-connector-resourcereference--examples"></a>

### API Gateway가 Lambda 함수를 호출
<a name="sam-property-connector-resourcereference--examples--api-gateway-invoking-a-lambda-function"></a>

다음 예제에서는 [AWS::Serverless::Connector](sam-resource-connector.md) 리소스를 사용하여 Amazon API Gateway가 AWS Lambda 함수를 호출하도록 허용합니다.

#### YAML
<a name="sam-property-connector-resourcereference--examples--api-gateway-invoking-a-lambda-function--yaml"></a>

```
Transform: AWS::Serverless-2016-10-31
Resources:
  MyRole:
    Type: AWS::IAM::Role
    Properties:
      AssumeRolePolicyDocument:
        Statement:
          - Effect: Allow
            Action: sts:AssumeRole
            Principal:
              Service: lambda.amazonaws.com
      ManagedPolicyArns:
        - !Sub arn:${AWS::Partition}:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole

  MyFunction:
    Type: AWS::Lambda::Function
    Properties:
      Role: !GetAtt MyRole.Arn
      Runtime: nodejs16.x
      Handler: index.handler
      Code:
        ZipFile: |
          exports.handler = async (event) => {
            return {
              statusCode: 200,
              body: JSON.stringify({
                "message": "It works!"
              }),
            };
          };

  MyApi:
    Type: AWS::ApiGatewayV2::Api
    Properties:
      Name: MyApi
      ProtocolType: HTTP

  MyStage:
    Type: AWS::ApiGatewayV2::Stage
    Properties:
      ApiId: !Ref MyApi
      StageName: prod
      AutoDeploy: True

  MyIntegration:
    Type: AWS::ApiGatewayV2::Integration
    Properties:
      ApiId: !Ref MyApi
      IntegrationType: AWS_PROXY
      IntegrationUri: !Sub arn:aws:apigateway:${AWS::Region}:lambda:path/2015-03-31/functions/${MyFunction.Arn}/invocations
      IntegrationMethod: POST
      PayloadFormatVersion: "2.0"

  MyRoute:
    Type: AWS::ApiGatewayV2::Route
    Properties:
      ApiId: !Ref MyApi
      RouteKey: GET /hello
      Target: !Sub integrations/${MyIntegration}

  MyConnector:
    Type: AWS::Serverless::Connector
    Properties:
      Source: # Use 'Id' when resource is in the same template
        Type: AWS::ApiGatewayV2::Api
        ResourceId: !Ref MyApi
        Qualifier: prod/GET/hello # Or "*" to allow all routes
      Destination: # Use 'Id' when resource is in the same template
        Type: AWS::Lambda::Function
        Arn: !GetAtt MyFunction.Arn
      Permissions:
        - Write

Outputs:
  Endpoint:
    Value: !Sub https://${MyApi}.execute-api.${AWS::Region}.${AWS::URLSuffix}/prod/hello
```

# SourceReference
<a name="sam-property-connector-sourcereference"></a>

[AWS::Serverless::Connector](sam-resource-connector.md) 리소스 유형이 사용하는 소스 리소스에 대한 참조입니다.

## 구문
<a name="sam-property-connector-sourcereference-syntax"></a>

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

### YAML
<a name="sam-property-connector-sourcereference-syntax.yaml"></a>

```
[Qualifier](#sam-connector-sourcereference-qualifier): String
```

## 속성
<a name="sam-property-connector-sourcereference-properties"></a>

 `Qualifier`   <a name="sam-connector-sourcereference-qualifier"></a>
범위를 좁히는 리소스의 한정자입니다. `Qualifier`는 리소스 제약 조건 ARN의 끝에 있는 `*` 값을 대체합니다.  
한정자 정의는 리소스 유형별로 다릅니다. 지원되는 소스 및 대상 리소스 유형 목록은 [AWS SAM 커넥터 참조](reference-sam-connector.md) 섹션을 참조하세요.
*유형*: 문자열  
*필수 항목 여부*: 조건부  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 동등한 속성이 CloudFormation 없습니다.

## 예제
<a name="sam-property-connector-sourcereference--examples"></a>

**다음 예제에서는 내장된 커넥터를 사용하여 `Id`이 아닌 속성으로 소스 리소스를 정의합니다.**

```
Transform: AWS::Serverless-2016-10-31
...
Resources:
  MyApi:
    Type: AWS::Serverless::Api
    Connectors:
      ApitoLambdaConn:
        Properties:
          SourceReference:
            Qualifier: Prod/GET/foobar
          Destination:
            Id: MyTable
          Permissions:
            - Read
            - Write
  MyTable:
    Type: AWS::DynamoDB::Table
    ...
```

# 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)을 사용하는 것이 좋습니다.
*유형*: [ 문자열 \$1 [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)에 사용됩니다.
*유형*: 맵 \$1 [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) 파일 시스템에 대한 연결 설정을 지정하는 [FileSystemConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-filesystemconfig.html) 객체 목록입니다.  
귀하의 템플릿이 [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` 리소스 속성도 지정해야 합니다.  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*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` 속성을 설정하면 이 속성은 무시됩니다.
*유형*: 문자열 \$1 목록 \$1 맵  
*필수 항목 여부*: 아니요  
*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`\$1`Disabled`\$1`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`, `Tracing`, `Policies`, `Amazon EFS` 및 `Api` 이벤트 소스를 사용하는 패키지 유형 `Zip`(기본값) [AWS::Serverless::Function](#sam-resource-function)의 예입니다.

#### 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
```

# DeadLetterQueue
<a name="sam-property-function-deadletterqueue"></a>

 AWS Lambda (Lambda)가 처리할 수 없을 때 이벤트를 로 보내는 SQS 대기열 또는 SNS 주제를 지정합니다. 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)를 참조하세요.

SAM은 Lambda 함수 실행 역할에 적절한 권한을 자동으로 추가하여 Lambda 서비스에 리소스에 대한 액세스 권한을 부여합니다. SQS 대기열에는 SQS:sendMessage가 추가되고 SNS 주제에는 SNS:Publish가 추가됩니다.

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

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

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

```
  [TargetArn](#sam-function-deadletterqueue-targetarn): String
  [Type](#sam-function-deadletterqueue-type): String
```

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

 `TargetArn`   <a name="sam-function-deadletterqueue-targetarn"></a>
Amazon SQS 대기열 또는 Amazon SNS 주제의 Amazon 리소스 이름(ARN)입니다.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::Function` `DeadLetterConfig` 데이터 유형의 `[TargetArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-deadletterconfig.html#cfn-lambda-function-deadletterconfig-targetarn)` 속성으로 직접 전달됩니다.

 `Type`   <a name="sam-function-deadletterqueue-type"></a>
DLQ(Dead Letter Queue) 유형.  
*유효한 값*: `SNS`, `SQS`   
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

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

### DeadLetterQueue
<a name="sam-property-function-deadletterqueue--examples--deadletterqueue"></a>

SNS 주제에 대한 DLQ 예제

#### YAML
<a name="sam-property-function-deadletterqueue--examples--deadletterqueue--yaml"></a>

```
DeadLetterQueue:
  Type: SNS
  TargetArn: arn:aws:sns:us-east-2:123456789012:my-topic
```

# DeploymentPreference
<a name="sam-property-function-deploymentpreference"></a>

점진적 Lambda 배포를 지원하는 구성을 지정합니다. 점진적 Lambda 배포 구성에 대한 자세한 내용은 [를 사용하여 서버리스 애플리케이션 점진적으로 배포 AWS SAM](automating-updates-to-serverless-apps.md)을 참조하세요.

**참고**  
`AutoPublishAlias` 객체를 사용하려면 [AWS::Serverless::Function](sam-resource-function.md)에서 `DeploymentPreference`을 지정해야 합니다. 그렇지 않으면 오류가 발생합니다.

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

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

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

```
  [Alarms](#sam-function-deploymentpreference-alarms): List
  [Enabled](#sam-function-deploymentpreference-enabled): Boolean
  [Hooks](#sam-function-deploymentpreference-hooks): Hooks
  [PassthroughCondition](#sam-function-deploymentpreference-passthroughcondition): Boolean
  [Role](#sam-function-deploymentpreference-role): String
  [TriggerConfigurations](#sam-function-deploymentpreference-triggerconfigurations): List
  [Type](#sam-function-deploymentpreference-type): String
```

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

 `Alarms`   <a name="sam-function-deploymentpreference-alarms"></a>
배포로 인해 발생한 오류로 인해 트리거하고자 하는 CloudWatch 경보의 목록입니다.  
이 속성은 `Fn::If` 내장 함수를 받아들입니다. `Fn::If`를 사용하는 예제 템플릿은 이 항목 하단의 예제 섹션을 참조하세요.  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `Enabled`   <a name="sam-function-deploymentpreference-enabled"></a>
이 배포 환경 설정이 활성화되어 있는지 여부입니다.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*기본값*: True  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `Hooks`   <a name="sam-function-deploymentpreference-hooks"></a>
트래픽 이동 전후에 실행되는 Lambda 함수를 검증합니다.  
*유형*: [Hooks](sam-property-function-hooks.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `PassthroughCondition`   <a name="sam-function-deploymentpreference-passthroughcondition"></a>
True인 경우 이 배포 선호가 활성화되어 있으면, 생성된 CodeDeploy 리소스로 함수의 조건이 전달됩니다. 일반적으로 이 값을 True로 설정해야 합니다. 그렇지 않으면 함수의 조건이 False로 확인되더라도 CodeDeploy 리소스가 생성됩니다.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `Role`   <a name="sam-function-deploymentpreference-role"></a>
CodeDeploy가 트래픽 이동에 사용할 IAM 역할 ARN입니다. 이것이 제공되면 IAM 역할이 생성되지 않습니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `TriggerConfigurations`   <a name="sam-function-deploymentpreference-triggerconfigurations"></a>
배포 그룹에 연결하고자 하는 트리거 구성의 목록입니다. 라이프사이클 이벤트에 관한 SNS 주제를 알리는 데 사용됩니다.  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::CodeDeploy::DeploymentGroup` 리소스의 `[TriggerConfigurations](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codedeploy-deploymentgroup.html#cfn-codedeploy-deploymentgroup-triggerconfigurations)` 속성으로 직접 전달됩니다.

 `Type`   <a name="sam-function-deploymentpreference-type"></a>
현재 배포 유형에는 Linear와 Canary라는 두 가지 카테고리가 있습니다. 사용할 수 있는 배포 유형에 대한 자세한 내용은 [를 사용하여 서버리스 애플리케이션 점진적으로 배포 AWS SAM](automating-updates-to-serverless-apps.md)섹션을 참조하세요.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

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

### 사전 및 사후 트래픽 후크가 포함된 DeploymentPreference.
<a name="sam-property-function-deploymentpreference--examples--deploymentpreference-with-pre--and-post-traffic-hooks."></a>

트래픽 전후 훅이 포함된 배포 환경 설정 예입니다.

#### YAML
<a name="sam-property-function-deploymentpreference--examples--deploymentpreference-with-pre--and-post-traffic-hooks.--yaml"></a>

```
DeploymentPreference:
  Enabled: true
  Type: Canary10Percent10Minutes 
  Alarms:
    - !Ref: AliasErrorMetricGreaterThanZeroAlarm
    - !Ref: LatestVersionErrorMetricGreaterThanZeroAlarm
  Hooks:
    PreTraffic:
      !Ref: PreTrafficLambdaFunction
    PostTraffic:
      !Ref: PostTrafficLambdaFunction
```

### Fn: :If 내장 함수를 사용한 DeploymentPreference
<a name="sam-property-function-deploymentpreference--examples--deploymentpreference-with-fn::if-intrinsic-function"></a>

알람 구성에 `Fn::If`를 사용하는 배포 환경 설정의 예입니다. 이 예제에서는 `Alarm1`가 `MyCondition`인 경우 `true`이 구성되고, `Alarm2`이 `Alarm5`이면 `MyCondition` 및 `false`가 구성될 것입니다.

#### YAML
<a name="sam-property-function-deploymentpreference--examples--deploymentpreference-with-fn::if-intrinsic-function--yaml"></a>

```
DeploymentPreference:
  Enabled: true
  Type: Canary10Percent10Minutes 
  Alarms:
    Fn::If:
      - MyCondition
      - - Alarm1
      - - Alarm2
        - Alarm5
```

# Hooks
<a name="sam-property-function-hooks"></a>

트래픽 이동 전후에 실행되는 Lambda 함수를 검증합니다.

**참고**  
이 속성에서 참조되는 Lambda 함수는 결과 `CodeDeployLambdaAliasUpdate` 리소스의 [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) 객체를 구성합니다. *자세한 내용은 [사용자 가이드](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatepolicy.html#cfn-attributes-updatepolicy-codedeploylambdaaliasupdate)의AWS CloudFormation CodeDeploy LambdaAliasUpdate 정책*을 참조하세요.

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

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

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

```
  [PostTraffic](#sam-function-hooks-posttraffic): String
  [PreTraffic](#sam-function-hooks-pretraffic): String
```

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

 `PostTraffic`   <a name="sam-function-hooks-posttraffic"></a>
트래픽 이동 후에 실행되는 Lambda 함수입니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `PreTraffic`   <a name="sam-function-hooks-pretraffic"></a>
트래픽이 이동하기 전에 실행되는 Lambda 함수입니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

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

### 후크
<a name="sam-property-function-hooks--examples--hooks"></a>

예제 후크 함수

#### YAML
<a name="sam-property-function-hooks--examples--hooks--yaml"></a>

```
Hooks:
  PreTraffic:
    Ref: PreTrafficLambdaFunction
  PostTraffic:
    Ref: PostTrafficLambdaFunction
```

# DurableConfig
<a name="sam-property-function-durableconfig"></a>

 AWS Lambda 함수에 대한 내구성 있는 실행 설정을 구성합니다. 내구성 있는 함수는 최대 1년 동안 실행되고 진행 상황을 자동으로 체크포인트하여 장기 실행 워크플로와 내결함성 애플리케이션을 지원합니다. 내구성 함수에 대한 자세한 내용은 *AWS Lambda 개발자 안내서*의 [Lambda 내구성 함수](https://docs.aws.amazon.com/lambda/latest/dg/durable-functions.html)를 참조하세요.

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

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

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

```
  [ExecutionTimeout](#sam-function-durableconfig-executiontimeout): Integer
  [RetentionPeriodInDays](#sam-function-durableconfig-retentionperiodindays): Integer
```

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

 `ExecutionTimeout`   <a name="sam-function-durableconfig-executiontimeout"></a>
Lambda가 영구 함수를 중지하기 전에 실행하도록 허용하는 시간(초)입니다. 최대값은 366일 또는 31,622,400초입니다.  
*유형*: 정수  
*필수 항목 여부:* 예  
*최소*: 1  
*최대*: 31622400  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::Function` `DurableConfig` 데이터 유형의 `[ExecutionTimeout](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-durableconfig.html#cfn-lambda-function-durableconfig-executiontimeout)` 속성으로 직접 전달됩니다.

 `RetentionPeriodInDays`   <a name="sam-function-durableconfig-retentionperiodindays"></a>
지속적인 실행이 종료된 후 Lambda가 기록을 유지하는 일수로, 1\$190일입니다. 기본값은 14일입니다.  
*유형*: 정수  
*필수 항목 여부*: 아니요  
*기본*값: 14  
*최소*: 1  
*최대*: 90  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::Function` `DurableConfig` 데이터 유형의 `[RetentionPeriodInDays](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-durableconfig.html#cfn-lambda-function-durableconfig-retentionperiodindays)` 속성으로 직접 전달됩니다.

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

### DurableConfig
<a name="sam-property-function-durableconfig--examples--durableconfig"></a>

실행 제한 시간이 1시간이고 보존 기간이 7일인 함수에 대한 내구성 구성 예제입니다.

#### YAML
<a name="sam-property-function-durableconfig--examples--durableconfig--yaml"></a>

```
DurableConfig:
  ExecutionTimeout: 3600
  RetentionPeriodInDays: 7
```

# EventInvokeConfiguration
<a name="sam-property-function-eventinvokeconfiguration"></a>

[비동기식](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html) Lambda 별칭 또는 버전 간접 호출을 위한 구성 옵션입니다.

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

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

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

```
  [DestinationConfig](#sam-function-eventinvokeconfiguration-destinationconfig): EventInvokeDestinationConfiguration
  [MaximumEventAgeInSeconds](#sam-function-eventinvokeconfiguration-maximumeventageinseconds): Integer
  [MaximumRetryAttempts](#sam-function-eventinvokeconfiguration-maximumretryattempts): Integer
```

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

 `DestinationConfig`   <a name="sam-function-eventinvokeconfiguration-destinationconfig"></a>
Lambda가 이벤트를 처리한 후 이벤트의 대상을 지정하는 구성 객체입니다.  
*유형*: [EventInvokeDestinationConfiguration](sam-property-function-eventinvokedestinationconfiguration.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventInvokeConfig` 리소스의 `[DestinationConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventinvokeconfig-destinationconfig.html)` 속성과 유사합니다. SAM에는 CloudFormation에 없는 추가 매개변수인 “유형”이 필요합니다.

 `MaximumEventAgeInSeconds`   <a name="sam-function-eventinvokeconfiguration-maximumeventageinseconds"></a>
Lambda가 처리를 위해 함수에 보내는 요청의 최대 사용 기간입니다.  
*유형*: 정수  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventInvokeConfig` 리소스의 `[MaximumEventAgeInSeconds](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventinvokeconfig.html#cfn-lambda-eventinvokeconfig-maximumeventageinseconds)` 속성으로 직접 전달됩니다.

 `MaximumRetryAttempts`   <a name="sam-function-eventinvokeconfiguration-maximumretryattempts"></a>
함수가 오류를 반환할 때 재시도하는 최대 횟수입니다.  
*유형*: 정수  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventInvokeConfig` 리소스의 `[MaximumRetryAttempts](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventinvokeconfig.html#cfn-lambda-eventinvokeconfig-maximumretryattempts)` 속성으로 직접 전달됩니다.

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

### MaximumEventAgeInSeconds
<a name="sam-property-function-eventinvokeconfiguration--examples--maximumeventageinseconds"></a>

MaximumEventAgeInSeconds 예제

#### YAML
<a name="sam-property-function-eventinvokeconfiguration--examples--maximumeventageinseconds--yaml"></a>

```
EventInvokeConfig:
  MaximumEventAgeInSeconds: 60
  MaximumRetryAttempts: 2
  DestinationConfig:
    OnSuccess:
      Type: SQS
      Destination: arn:aws:sqs:us-west-2:012345678901:my-queue
    OnFailure:
      Type: Lambda
      Destination: !GetAtt DestinationLambda.Arn
```

# EventInvokeDestinationConfiguration
<a name="sam-property-function-eventinvokedestinationconfiguration"></a>

Lambda가 이벤트를 처리한 후 이벤트의 대상을 지정하는 구성 객체입니다.

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

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

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

```
  [OnFailure](#sam-function-eventinvokedestinationconfiguration-onfailure): OnFailure
  [OnSuccess](#sam-function-eventinvokedestinationconfiguration-onsuccess): OnSuccess
```

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

 `OnFailure`   <a name="sam-function-eventinvokedestinationconfiguration-onfailure"></a>
처리에 실패한 이벤트의 대상입니다.  
*유형*: [OnFailure](sam-property-function-onfailure.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventInvokeConfig` 리소스의 `[OnFailure](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventinvokeconfig-onfailure.html)` 속성과 유사합니다. 추가 SAM 전용 속성인 `Type`이 요구됩니다.

 `OnSuccess`   <a name="sam-function-eventinvokedestinationconfiguration-onsuccess"></a>
성공적으로 처리된 이벤트의 대상입니다.  
*유형*: [OnSuccess](sam-property-function-onsuccess.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventInvokeConfig` 리소스의 `[OnSuccess](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventinvokeconfig-onsuccess)` 속성과 유사합니다. 추가 SAM 전용 속성인 `Type`이 요구됩니다.

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

### OnSuccess
<a name="sam-property-function-eventinvokedestinationconfiguration--examples--onsuccess"></a>

OnSuccess 예제

#### YAML
<a name="sam-property-function-eventinvokedestinationconfiguration--examples--onsuccess--yaml"></a>

```
EventInvokeConfig:
  DestinationConfig:
    OnSuccess:
      Type: SQS
      Destination: arn:aws:sqs:us-west-2:012345678901:my-queue
    OnFailure:
      Type: Lambda
      Destination: !GetAtt DestinationLambda.Arn
```

# OnFailure
<a name="sam-property-function-onfailure"></a>

처리에 실패한 이벤트의 대상입니다.

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

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

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

```
  [Destination](#sam-function-onfailure-destination): String
  [Type](#sam-function-onfailure-type): String
```

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

 `Destination`   <a name="sam-function-onfailure-destination"></a>
대상 리소스의 Amazon 리소스 이름(ARN)입니다.  
*유형*: 문자열  
*필수 항목 여부*: 조건부  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventInvokeConfig` 리소스의 `[OnFailure](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventinvokeconfig-onfailure.html)` 속성과 유사합니다. SAM은 이 속성에서 참조되는 리소스에 액세스하는 데 필요한 권한을 이 함수와 관련된 자동 생성 IAM 역할에 추가합니다.  
*추가 참고 사항*: 유형이 Lambda/EventBridge인 경우 대상이 필요합니다.

 `Type`   <a name="sam-function-onfailure-type"></a>
대상에서 참조되는 리소스의 유형입니다. 지원되는 유형은 `SQS`, `SNS`, `S3`, `Lambda` 및 `EventBridge`입니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.  
*추가 참고 사항*: 유형이 SQS/SNS이고 `Destination` 속성이 비어 있는 경우 SAM이 SQS/SNS 리소스를 자동 생성합니다. 리소스를 참조하려면 SQS의 경우 `<function-logical-id>.DestinationQueue`를, SNS의 경우 `<function-logical-id>.DestinationTopic`를 사용합니다. 유형이 Lambda/EventBridge인 경우 `Destination`이 필수입니다.

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

### SQS 및 Lambda 대상을 사용한 EventInvoke 구성 예제
<a name="sam-property-function-onfailure--examples--eventinvoke-configuration-example-with-sqs-and-lambda-destinations"></a>

이 예제에서는 SQS OnSuccess 구성에 대해 대상이 제공되지 않으므로 SAM은 묵시적으로 SQS 대기열을 생성하고 필요한 권한을 추가합니다. 또한 이 예제에서는 템플릿 파일에 선언된 Lambda 리소스에 대한 대상 람다 함수가 OnFailure 구성에 지정되어 있으므로 SAM은 대상 Lambda 함수를 직접 호출하는 데 필요한 권한을 이 Lambda 함수에 추가합니다.

#### YAML
<a name="sam-property-function-onfailure--examples--eventinvoke-configuration-example-with-sqs-and-lambda-destinations--yaml"></a>

```
EventInvokeConfig:
  DestinationConfig:
    OnSuccess:
      Type: SQS
    OnFailure:
      Type: Lambda
      Destination: !GetAtt DestinationLambda.Arn  # Arn of a Lambda function declared in the template file.
```

### SNS 대상을 사용한 EventInvoke 구성 예제
<a name="sam-property-function-onfailure--examples--eventinvoke-configuration-example-with-sns-destination"></a>

이 예제에서는 OnSuccess 구성의 템플릿 파일에 선언된 SNS 주제에 대하여 대상이 제공됩니다.

#### YAML
<a name="sam-property-function-onfailure--examples--eventinvoke-configuration-example-with-sns-destination--yaml"></a>

```
EventInvokeConfig:
  DestinationConfig:
    OnSuccess:
      Type: SNS
      Destination:
        Ref: DestinationSNS       # Arn of an SNS topic declared in the tempate file
```

# OnSuccess
<a name="sam-property-function-onsuccess"></a>

성공적으로 처리된 이벤트의 대상입니다.

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

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

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

```
  [Destination](#sam-function-onsuccess-destination): String
  [Type](#sam-function-onsuccess-type): String
```

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

 `Destination`   <a name="sam-function-onsuccess-destination"></a>
대상 리소스의 Amazon 리소스 이름(ARN)입니다.  
*유형*: 문자열  
*필수 항목 여부*: 조건부  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventInvokeConfig` 리소스의 `[OnSuccess](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventinvokeconfig-onsuccess)` 속성과 유사합니다. SAM은 이 속성에서 참조되는 리소스에 액세스하는 데 필요한 권한을 이 함수와 관련된 자동 생성 IAM 역할에 추가합니다.  
*추가 참고 사항*: 유형이 Lambda/EventBridge인 경우 대상이 필요합니다.

 `Type`   <a name="sam-function-onsuccess-type"></a>
대상에서 참조되는 리소스의 유형입니다. 지원되는 유형은 `SQS`, `SNS`, `S3`, `Lambda` 및 `EventBridge`입니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.  
*추가 참고 사항*: 유형이 SQS/SNS이고 `Destination` 속성이 비어 있는 경우 SAM이 SQS/SNS 리소스를 자동 생성합니다. 리소스를 참조하려면 SQS의 경우 `<function-logical-id>.DestinationQueue`를, SNS의 경우 `<function-logical-id>.DestinationTopic`를 사용합니다. 유형이 Lambda/EventBridge인 경우 `Destination`이 필수입니다.

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

### SQS 및 Lambda 대상을 사용한 EventInvoke 구성 예제
<a name="sam-property-function-onsuccess--examples--eventinvoke-configuration-example-with-sqs-and-lambda-destinations"></a>

이 예제에서는 SQS OnSuccess 구성에 대해 대상이 제공되지 않으므로 SAM은 묵시적으로 SQS 대기열을 생성하고 필요한 권한을 추가합니다. 또한 이 예제에서는 템플릿 파일에 선언된 Lambda 리소스에 대한 대상 람다 함수가 OnFailure 구성에 지정되어 있으므로 SAM은 대상 Lambda 함수를 직접 호출하는 데 필요한 권한을 이 Lambda 함수에 추가합니다.

#### YAML
<a name="sam-property-function-onsuccess--examples--eventinvoke-configuration-example-with-sqs-and-lambda-destinations--yaml"></a>

```
EventInvokeConfig:
  DestinationConfig:
    OnSuccess:
      Type: SQS
    OnFailure:
      Type: Lambda
      Destination: !GetAtt DestinationLambda.Arn  # Arn of a Lambda function declared in the template file.
```

### SNS 대상을 사용한 EventInvoke 구성 예제
<a name="sam-property-function-onsuccess--examples--eventinvoke-configuration-example-with-sns-destination"></a>

이 예제에서는 OnSuccess 구성의 템플릿 파일에 선언된 SNS 주제에 대하여 대상이 제공됩니다.

#### YAML
<a name="sam-property-function-onsuccess--examples--eventinvoke-configuration-example-with-sns-destination--yaml"></a>

```
EventInvokeConfig:
  DestinationConfig:
    OnSuccess:
      Type: SNS
      Destination:
        Ref: DestinationSNS       # Arn of an SNS topic declared in the tempate file
```

# EventSource
<a name="sam-property-function-eventsource"></a>

함수를 트리거하는 이벤트의 소스를 설명하는 객체입니다. 각 이벤트는 유형과 해당 유형에 따라 달라지는 속성 집합으로 구성됩니다. 각 이벤트 소스의 속성에 대한 자세한 내용은 해당 유형에 적용되는 주제를 참조하세요.

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

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

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

```
  [Properties](#sam-function-eventsource-properties): AlexaSkill | Api | CloudWatchEvent | CloudWatchLogs | Cognito | DocumentDB | DynamoDB | EventBridgeRule | HttpApi | IoTRule | Kinesis | MQ | MSK | S3 | Schedule | ScheduleV2 | SelfManagedKafka | SNS | SQS
  [Type](#sam-function-eventsource-type): String
```

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

 `Properties`   <a name="sam-function-eventsource-properties"></a>
이 이벤트 매핑의 속성을 설명하는 객체입니다. 속성 세트는 정의된 유형을 준수해야 합니다.  
*유형*: [AlexaSkill](sam-property-function-alexaskill.md) \$1 [Api](sam-property-function-api.md) \$1 [CloudWatchEvent](sam-property-function-cloudwatchevent.md) \$1 [CloudWatchLogs](sam-property-function-cloudwatchlogs.md) \$1 [Cognito](sam-property-function-cognito.md) \$1 [DocumentDB](sam-property-function-documentdb.md) \$1 [DynamoDB](sam-property-function-dynamodb.md) \$1 [EventBridgeRule](sam-property-function-eventbridgerule.md) \$1 [HttpApi](sam-property-function-httpapi.md) \$1 [IoTRule](sam-property-function-iotrule.md) \$1 [Kinesis](sam-property-function-kinesis.md) \$1 [MQ](sam-property-function-mq.md) \$1 [MSK](sam-property-function-msk.md) \$1 [S3](sam-property-function-s3.md) \$1 [Schedule](sam-property-function-schedule.md) \$1 [ScheduleV2](sam-property-function-schedulev2.md) \$1 [SelfManagedKafka](sam-property-function-selfmanagedkafka.md) \$1 [SNS](sam-property-function-sns.md) \$1 [SQS](sam-property-function-sqs.md)  
*필수 항목 여부*: 예  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `Type`   <a name="sam-function-eventsource-type"></a>
이벤트 유형.  
*유효한 값*: `AlexaSkill`, `Api`, `CloudWatchEvent`, `CloudWatchLogs`, `Cognito`, `DocumentDB`, `DynamoDB`, `EventBridgeRule`, `HttpApi`, `IoTRule`, `Kinesis`, `MQ`, `MSK`, `S3`, `Schedule`, `ScheduleV2`, `SelfManagedKafka`, `SNS`, `SQS`   
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

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

### APIEvent
<a name="sam-property-function-eventsource--examples--apievent"></a>

API 이벤트 사용 예제

#### YAML
<a name="sam-property-function-eventsource--examples--apievent--yaml"></a>

```
ApiEvent:
  Type: Api
  Properties:
    Method: get
    Path: /group/{user}
    RestApiId: 
      Ref: MyApi
```

# AlexaSkill
<a name="sam-property-function-alexaskill"></a>

`AlexaSkill` 이벤트 소스 유형을 설명하는 객체.

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

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

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

```
  [SkillId](#sam-function-alexaskill-skillid): String
```

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

 `SkillId`   <a name="sam-function-alexaskill-skillid"></a>
귀하의 Alexa 스킬에 대한 Alexa 스킬 ID. 스킬 ID에 대한 자세한 내용은 Alexa 스킬 키트 설명서에서 [Lambda 함수에 대한 트리거 구성](https://developer.amazon.com/docs/custom-skills/host-a-custom-skill-as-an-aws-lambda-function.html#configuring-the-alexa-skills-kit-trigger)을 참조하세요.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

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

### AlexaSkillTrigger
<a name="sam-property-function-alexaskill--examples--alexaskilltrigger"></a>

알렉사 스킬 이벤트 예제

#### YAML
<a name="sam-property-function-alexaskill--examples--alexaskilltrigger--yaml"></a>

```
AlexaSkillEvent:
  Type: AlexaSkill
```

# Api
<a name="sam-property-function-api"></a>

`Api` 이벤트 소스 유형을 설명하는 객체. [AWS::Serverless::Api](sam-resource-api.md) 리소스가 정의된 경우 경로 및 메서드 값은 API의 OpenAPI 정의에 있는 작업과 일치해야 합니다.

정의된 [AWS::Serverless::Api](sam-resource-api.md)이 없는 경우, 함수 입력 및 출력은 HTTP 요청 및 HTTP 응답을 나타냅니다.

예를 들어, JavaScript API를 사용하면 StatusCode 및 body 키가 있는 객체를 반환하여 응답의 상태 코드와 본문을 제어할 수 있습니다.

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

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

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

```
  [Auth](#sam-function-api-auth): ApiFunctionAuth
  [Method](#sam-function-api-method): String
  [Path](#sam-function-api-path): String
  [RequestModel](#sam-function-api-requestmodel): RequestModel
  [RequestParameters](#sam-function-api-requestparameters): List of [ String | RequestParameter ]
  [RestApiId](#sam-function-api-restapiid): String
  [ResponseTransferMode](#sam-function-api-responsetransfermode): String
  TimeoutInMillis: Integer
```

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

 `Auth`   <a name="sam-function-api-auth"></a>
이 특정 Api\$1Path\$1Method에 대한 인증 구성입니다.  
지정된 `DefaultAuthorizer`가 없는 경우, 개별 경로에 대한 API의 `DefaultAuthorizer` 설정 인증 구성을 재정의하거나 기본 `ApiKeyRequired` 설정을 재정의하는 데 유용합니다.   
*[유형](sam-property-function-apifunctionauth.md): API/함수/권한부여*  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `Method`   <a name="sam-function-api-method"></a>
이 함수가 간접 호출되는 HTTP 메서드입니다. 옵션에는 `DELETE`, `GET`, `HEAD`, `OPTIONS`, `PATCH`, `POST`, `PUT` 및 `ANY`이(가) 포함됩니다. 자세한 내용은 *API Gateway 개발자 가이드*의 [HTTP 메서드 설정](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-method-settings-method-request.html#setup-method-add-http-method)을 참조하세요.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `Path`   <a name="sam-function-api-path"></a>
이 함수가 간접 호출되는 Uri 경로입니다. `/`로 시작해야 합니다.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `RequestModel`   <a name="sam-function-api-requestmodel"></a>
이 특정 API\$1Path\$1메서드에 사용할 요청 모델입니다. 이것은 [AWS::Serverless::Api](sam-resource-api.md) 리소스의 `Models` 섹션에 지정된 모델 이름을 참조해야 합니다.   
*유형*: [요청 모델](sam-property-function-requestmodel.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `RequestParameters`   <a name="sam-function-api-requestparameters"></a>
이 특정 API\$1Path\$1메서드에 대한 파라미터 구성을 요청합니다. 모든 파라미터 이름은 `method.request`로 시작해야 하며, `method.request.header`, `method.request.querystring`, 혹은 `method.request.path`로 제한되어야 합니다.  
목록에는 매개변수 이름 문자열과 [RequestParameter](sam-property-function-requestparameter.md) 객체가 모두 포함될 수 있습니다. 문자열의 경우 `Required` 및 `Caching` 속성은 `false`에 기본적으로 설정됩니다.  
*유형*: [문자열 \$1 [요청 파라미터](sam-property-function-requestparameter.md)] 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `RestApiId`   <a name="sam-function-api-restapiid"></a>
지정된 경로와 메서드를 가진 작업을 포함해야 하는 RestAPI 리소스의 식별자. 이것은 일반적으로 이 템플릿에 정의된 [AWS::Serverless::Api](sam-resource-api.md) 리소스를 참조하도록 설정됩니다.  
이 속성을 정의하지 않으면는 생성된 `OpenApi` 문서를 사용하여 기본 [AWS::Serverless::Api](sam-resource-api.md) 리소스를 AWS SAM 생성합니다. 해당 리소스에는 `RestApiId`를 지정하지 않은 동일한 템플릿의 `Api` 이벤트에 의해 정의된 모든 경로와 메서드가 통합되어 있습니다.  
이것은 다른 템플릿에 정의된 [AWS::Serverless::Api](sam-resource-api.md) 리소스를 참조할 수 없습니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

`ResponseTransferMode`  <a name="sam-function-api-responsetransfermode"></a>
Lambda 함수 통합을 위한 응답 전송 모드입니다. API Gateway를 통해 Lambda 응답 스트리밍을 활성화`RESPONSE_STREAM`하려면 로 설정하면 함수가 응답을 클라이언트로 다시 스트리밍할 수 있습니다. 로 설정하면 `RESPONSE_STREAM`API Gateway는 Lambda InvokeWithResponseStreaming API를 사용합니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
유효한 값**: `BUFFERED` \$1 `RESPONSE_STREAM`  
*CloudFormation 호환성*:이 속성은의 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-method-integration.html#cfn-apigateway-method-integration-responsetransfermode](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigateway-method-integration.html#cfn-apigateway-method-integration-responsetransfermode) 속성으로 직접 전달됩니다`AWS::ApiGateway::Method Integration`.

`TimeoutInMillis`  <a name="sam-function-api-timeoutinmillis"></a>
50\$129,000밀리초 사이의 제한 시간 사용자 지정입니다.  
이 속성을 지정하면가 OpenAPI 정의를 AWS SAM 수정합니다. OpenAPI 정의는 `DefinitionBody` 속성을 사용하여 인라인으로 지정해야 합니다. 
*유형*: 정수  
*필수 항목 여부*: 아니요  
*기본값*: 29,000밀리초(29초)입니다.  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 동등한 속성이 CloudFormation 없습니다.

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

### 기본 예제
<a name="sam-property-function-api--examples--apievent"></a>

#### YAML
<a name="sam-property-function-api--examples--apievent--yaml"></a>

```
Events:
  ApiEvent:
    Type: Api
    Properties:
      Path: /path
      Method: get
      RequestParameters:
        - method.request.header.Authorization
        - method.request.querystring.keyword:
            Required: true
            Caching: false
```

# ApiFunctionAuth
<a name="sam-property-function-apifunctionauth"></a>

특정 API, 경로 및 메서드에 대해 이벤트 수준에서 권한 부여를 구성합니다.

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

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

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

```
  [ApiKeyRequired](#sam-function-apifunctionauth-apikeyrequired): Boolean
  [AuthorizationScopes](#sam-function-apifunctionauth-authorizationscopes): List
  [Authorizer](#sam-function-apifunctionauth-authorizer): String
  [InvokeRole](#sam-function-apifunctionauth-invokerole): String
  OverrideApiAuth: Boolean
  [ResourcePolicy](#sam-function-apifunctionauth-resourcepolicy): ResourcePolicyStatement
```

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

 `ApiKeyRequired`   <a name="sam-function-apifunctionauth-apikeyrequired"></a>
이 API, 경로 및 메서드에 대한 API 키가 필요합니다.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 AWS SAM 고유하며 CloudFormation 동등한 속성이 없습니다.

 `AuthorizationScopes`   <a name="sam-function-apifunctionauth-authorizationscopes"></a>
이 API, 경로 및 메서드에 적용할 수 있는 권한 부여 범위.  
지정한 범위는 해당 속성을 지정한 경우 `DefaultAuthorizer` 속성에서 적용한 모든 범위를 재정의합니다.  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 AWS SAM 고유하며 CloudFormation 동등한 속성이 없습니다.

 `Authorizer`   <a name="sam-function-apifunctionauth-authorizer"></a>
특정 함수를 위한 `Authorizer`  
귀하의 `AWS::Serverless::Api` 리소스에 글로벌 권한 부여자가 지정된 경우, `Authorizer`를 `NONE`으로 설정하여 권한 부여자를 재정의할 수 있습니다. 예제는 [Amazon API Gateway REST API에 대한 글로벌 권한 부여자 재정의](#sam-property-function-apifunctionauth--examples--override) 섹션을 참조하세요.  
`AWS::Serverless::Api` 리소스의 `DefinitionBody` 속성을 사용하여 API를 설명하는 경우 `Authorizer`와 함께 `OverrideApiAuth`을 사용하여 귀하의 글로벌 권한 부여자를 재정의해야 합니다. 자세한 정보는 `OverrideApiAuth`을 참조하세요
*유효한 값*: 템플릿에 정의된 권한 부여자의 `AWS_IAM``NONE`, 또는 논리적 ID입니다 AWS SAM .  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 AWS SAM 고유하며 CloudFormation 동등한 속성이 없습니다.

 `InvokeRole`   <a name="sam-function-apifunctionauth-invokerole"></a>
`AWS_IAM` 권한 부여에 사용할 `InvokeRole`를 지정합니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*기본값*: `CALLER_CREDENTIALS`  
*CloudFormation 호환성*:이 속성은에 AWS SAM 고유하며 CloudFormation 동등한 속성이 없습니다.  
*추가 참고 사항*: `CALLER_CREDENTIALS`는 `arn:aws:iam:::<user>/`을 매핑하며, 이는 호출자 보안 인증을 사용하여 엔드포인트를 호출합니다.

`OverrideApiAuth`  <a name="sam-function-apifunctionauth-overrideapiauth"></a>
귀하의 `AWS::Serverless::Api`리소스의 글로벌 권한 부여자 구성을 재정의하도록 `true`을 지정합니다. 이 속성은 글로벌 권한 부여자를 지정하고 `AWS::Serverless::Api` 리소스의 `DefinitionBody` 속성을 사용하여 API를 설명하는 경우에만 필요합니다.  
를 `OverrideApiAuth`로 지정하면 AWS SAM `true`는 글로벌 권한 부여자를 `ApiKeyRequired`, `Authorizer`또는에 제공된 값으로 재정의합니다`ResourcePolicy`. 따라서 `OverrideApiAuth`를 사용할 때 이러한 속성들 중에서 적어도 하나가 지정되어야 합니다. 예시는 [AWS::서버리스::Api용 DefinitionBody가 지정된 경우 글로벌 권한 부여자를 재정의합니다.](#sam-property-function-apifunctionauth--examples--override2) 섹션을 참조하세요.
*유형*: 부울  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `ResourcePolicy`   <a name="sam-function-apifunctionauth-resourcepolicy"></a>
API에서 이 경로에 대한 리소스 정책을 구성합니다.  
*유형*: [리소스 정책 설명](sam-property-function-resourcepolicystatement.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 AWS SAM 고유하며 CloudFormation 동등한 속성이 없습니다.

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

### 함수-권한 부여
<a name="sam-property-function-apifunctionauth--examples--function-auth"></a>

다음 예제에서는 함수 수준에서 권한 부여를 지정합니다.

#### YAML
<a name="sam-property-function-apifunctionauth--examples--function-auth--yaml"></a>

```
Auth:
  ApiKeyRequired: true
  Authorizer: NONE
```

### Amazon API Gateway REST API에 대한 글로벌 권한 부여자 재정의
<a name="sam-property-function-apifunctionauth--examples--override"></a>

`AWS::Serverless::Api` 리소스의 글로벌 권한 부여자를 지정할 수 있습니다. 다음은 글로벌 기본 권한 부여자를 구성하는 예입니다.

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
...
Resources:
  MyApiWithLambdaRequestAuth:
    Type: AWS::Serverless::Api
    Properties:
      ...
      Auth:
        Authorizers:
          MyLambdaRequestAuth:
            FunctionArn: !GetAtt MyAuthFn.Arn
        DefaultAuthorizer: MyLambdaRequestAuth
```

 AWS Lambda 함수의 기본 권한 부여자를 재정의하려면를 `Authorizer`로 지정할 수 있습니다`NONE`. 다음은 예제입니다.

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
...
Resources:
  ...
  MyFn:
    Type: AWS::Serverless::Function
    Properties:
      ...
      Events:
        LambdaRequest:
          Type: Api
          Properties:
            RestApiId: !Ref MyApiWithLambdaRequestAuth
            Method: GET
            Auth:
              Authorizer: NONE
```

### AWS::서버리스::Api용 DefinitionBody가 지정된 경우 글로벌 권한 부여자를 재정의합니다.
<a name="sam-property-function-apifunctionauth--examples--override2"></a>

`DefinitionBody`속성을 사용하여 `AWS::Serverless::Api` 리소스를 설명하는 경우 이전 재정의 방법이 작동하지 않습니다. 다음은 `AWS::Serverless::Api` 리소스에 `DefinitionBody` 속성을 사용하는 예제입니다.

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
...
Resources:
  MyApiWithLambdaRequestAuth:
    Type: AWS::Serverless::Api
    Properties:
      ...
      DefinitionBody:
        swagger: 2.0
        ...
        paths:
          /lambda-request:
            ...
      Auth:
        Authorizers:
          MyLambdaRequestAuth:
            FunctionArn: !GetAtt MyAuthFn.Arn
        DefaultAuthorizer: MyLambdaRequestAuth
```

글로벌 권한 부여자를 재정의하려면 `OverrideApiAuth` 속성을 사용합니다. 다음은 `Authorizer`에 제공된 값으로 글로벌 권한 부여자를 재정의하는 데 `OverrideApiAuth`을 사용하는 예제입니다. 

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
...
Resources:
  MyApiWithLambdaRequestAuth:
    Type: AWS::Serverless::Api
    Properties:
      ...
      DefinitionBody:
        swagger: 2-0
        ...
        paths:
          /lambda-request:
            ...
      Auth:
        Authorizers:
          MyLambdaRequestAuth:
            FunctionArn: !GetAtt MyAuthFn.Arn
        DefaultAuthorizer: MyLambdaRequestAuth
    
    MyAuthFn:
      Type: AWS::Serverless::Function
      ...
    
    MyFn:
      Type: AWS::Serverless::Function
        Properties:
          ...
          Events:
            LambdaRequest:
              Type: Api
              Properties:
                RestApiId: !Ref MyApiWithLambdaRequestAuth
                Method: GET
                Auth:
                  Authorizer: NONE
                  OverrideApiAuth: true
                Path: /lambda-token
```

# ResourcePolicyStatement
<a name="sam-property-function-resourcepolicystatement"></a>

API의 모든 메서드와 경로에 대한 리소스 정책을 구성합니다. 리소스 정책에 대한 자세한 내용은 *API Gateway 개발자 안내서*의 [API Gateway 리소스 정책을 사용하는 액세스 제어](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-resource-policies.html)를 참조하세요.

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

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

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

```
  [AwsAccountBlacklist](#sam-function-resourcepolicystatement-awsaccountblacklist): List
  [AwsAccountWhitelist](#sam-function-resourcepolicystatement-awsaccountwhitelist): List
  [CustomStatements](#sam-function-resourcepolicystatement-customstatements): List
  [IntrinsicVpcBlacklist](#sam-function-resourcepolicystatement-intrinsicvpcblacklist): List
  [IntrinsicVpcWhitelist](#sam-function-resourcepolicystatement-intrinsicvpcwhitelist): List
  [IntrinsicVpceBlacklist](#sam-function-resourcepolicystatement-intrinsicvpceblacklist): List
  [IntrinsicVpceWhitelist](#sam-function-resourcepolicystatement-intrinsicvpcewhitelist): List
  [IpRangeBlacklist](#sam-function-resourcepolicystatement-iprangeblacklist): List
  [IpRangeWhitelist](#sam-function-resourcepolicystatement-iprangewhitelist): List
  [SourceVpcBlacklist](#sam-function-resourcepolicystatement-sourcevpcblacklist): List
  [SourceVpcWhitelist](#sam-function-resourcepolicystatement-sourcevpcwhitelist): List
```

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

 `AwsAccountBlacklist`   <a name="sam-function-resourcepolicystatement-awsaccountblacklist"></a>
차단할 AWS 계정입니다.  
*유형*: 문자열 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `AwsAccountWhitelist`   <a name="sam-function-resourcepolicystatement-awsaccountwhitelist"></a>
허용할 AWS 계정입니다. 이 속성의 예제 사용 예제를 알아보려면 이 페이지 하단의 예제을 참조하세요  
*유형*: 문자열 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `CustomStatements`   <a name="sam-function-resourcepolicystatement-customstatements"></a>
이 API에 적용할 사용자 지정 리소스 정책 설명 목록. 이 속성의 예제 사용 예제를 알아보려면 이 페이지 하단의 예제을 참조하세요  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `IntrinsicVpcBlacklist`   <a name="sam-function-resourcepolicystatement-intrinsicvpcblacklist"></a>
차단할 Virtual Private Cloud(VPC) )목록입니다. 여기서 각 VPC는 [동적 참조](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html) 또는 `Ref` [내장 함수](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html)와 같은 참조로 지정됩니다. 이 속성의 예제 사용 예제를 알아보려면 이 페이지 하단의 예제을 참조하세요  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `IntrinsicVpcWhitelist`   <a name="sam-function-resourcepolicystatement-intrinsicvpcwhitelist"></a>
[허용할 VPC 목록. 여기서 각 VPC는 [동적 참조](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html) 또는 `Ref` 내장 함수](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html)와 같은 참조로 지정됩니다.  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `IntrinsicVpceBlacklist`   <a name="sam-function-resourcepolicystatement-intrinsicvpceblacklist"></a>
[차단할 VPC 엔드포인트 목록. 여기서 각 VPC 엔드포인트는 [동적 참조](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html) 또는 `Ref` 내장 함수](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html)와 같은 참조로 지정됩니다.  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `IntrinsicVpceWhitelist`   <a name="sam-function-resourcepolicystatement-intrinsicvpcewhitelist"></a>
[허용할 VPC 엔드포인트 목록. 여기서 각 VPC 엔드포인트는 [동적 참조](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html) 또는 `Ref` 내장 함수](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html)와 같은 참조로 지정됩니다. 이 속성의 예제 사용 예제를 알아보려면 이 페이지 하단의 예제을 참조하세요  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `IpRangeBlacklist`   <a name="sam-function-resourcepolicystatement-iprangeblacklist"></a>
차단할 IP 주소 또는 주소 범위. 이 속성의 예제 사용 예제를 알아보려면 이 페이지 하단의 예제을 참조하세요  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `IpRangeWhitelist`   <a name="sam-function-resourcepolicystatement-iprangewhitelist"></a>
허용할 IP 주소 또는 주소 범위.  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `SourceVpcBlacklist`   <a name="sam-function-resourcepolicystatement-sourcevpcblacklist"></a>
차단할 소스 VPC 또는 VPC 엔드포인트. 소스 VPC 이름은 `"vpc-"`로 시작하고 소스 VPC 엔드포인트 이름은 `"vpce-"`로 시작해야 합니다. 이 속성의 예제 사용 예제를 알아보려면 이 페이지 하단의 예제을 참조하세요  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `SourceVpcWhitelist`   <a name="sam-function-resourcepolicystatement-sourcevpcwhitelist"></a>
허용할 소스 VPC 또는 VPC 엔드포인트. 소스 VPC 이름은 `"vpc-"`로 시작하고 소스 VPC 엔드포인트 이름은 `"vpce-"`로 시작해야 합니다.  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

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

### 리소스 정책 예시
<a name="sam-property-function-resourcepolicystatement--examples--resource-policy-example"></a>

다음 예제에서는 두 개의 IP 주소와 소스 VPC를 차단하고 AWS 계정을 허용합니다.

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

```
Auth:
  ResourcePolicy:
    CustomStatements: [{
                         "Effect": "Allow",
                         "Principal": "*",
                         "Action": "execute-api:Invoke",
                         "Resource": "execute-api:/Prod/GET/pets",
                         "Condition": {
                           "IpAddress": {
                             "aws:SourceIp": "1.2.3.4"
                           }
                         }
                       }]
    IpRangeBlacklist:
      - "10.20.30.40"
      - "1.2.3.4"
    SourceVpcBlacklist:
      - "vpce-1a2b3c4d"
    AwsAccountWhitelist:
      - "111122223333"
    IntrinsicVpcBlacklist:
      - "{{resolve:ssm:SomeVPCReference:1}}" 
      - !Ref MyVPC
    IntrinsicVpceWhitelist:
      - "{{resolve:ssm:SomeVPCEReference:1}}" 
      - !Ref MyVPCE
```

# RequestModel
<a name="sam-property-function-requestmodel"></a>

특정 Api\$1Path\$1Method에 대한 요청 모델을 구성합니다.

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

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

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

```
  [Model](#sam-function-requestmodel-model): String
  [Required](#sam-function-requestmodel-required): Boolean
  [ValidateBody](#sam-function-requestmodel-validatebody): Boolean
  [ValidateParameters](#sam-function-requestmodel-validateparameters): Boolean
```

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

 `Model`   <a name="sam-function-requestmodel-model"></a>
[AWS::Serverless::Api](sam-resource-api.md)의 Models 속성에 정의된 모델 이름입니다.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `Required`   <a name="sam-function-requestmodel-required"></a>
주어진 API 엔드포인트에 대한 OpenAPI 정의의 매개변수 섹션에 `required` 속성을 추가합니다.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `ValidateBody`   <a name="sam-function-requestmodel-validatebody"></a>
API Gateway가 요청 본문을 검증하기 위해 `Model`을 사용할지 여부를 지정합니다. 자세한 내용은 [API Gateway 개발자 가이드](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-method-request-validation.html) 내 *API 게이트웨이에서 요청 검증 활성화*를 참조하세요.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `ValidateParameters`   <a name="sam-function-requestmodel-validateparameters"></a>
API 게이트웨이에서 `Model`를 사용하여 요청 경로 매개변수, 쿼리 문자열 및 헤더를 검증할지 여부를 지정합니다. 자세한 내용은 [API Gateway 개발자 가이드](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-method-request-validation.html) 내 *API 게이트웨이에서 요청 검증 활성화*를 참조하세요.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

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

### 요청 모델
<a name="sam-property-function-requestmodel--examples--request-model"></a>

요청 모델 예제

#### YAML
<a name="sam-property-function-requestmodel--examples--request-model--yaml"></a>

```
RequestModel:
  Model: User
  Required: true
  ValidateBody: true
  ValidateParameters: true
```

# RequestParameter
<a name="sam-property-function-requestparameter"></a>

특정 Api\$1Path\$1Method에 대한 요청 매개변수를 구성합니다.

요청 매개변수에 대해 `Required` 또는 `Caching` 속성을 지정해야 합니다

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

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

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

```
  [Caching](#sam-function-requestparameter-caching): Boolean
  [Required](#sam-function-requestparameter-required): Boolean
```

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

 `Caching`   <a name="sam-function-requestparameter-caching"></a>
API 게이트웨이 OpenAPI 정의에 `cacheKeyParameters` 섹션 추가  
*유형*: 부울  
*필수 항목 여부*: 조건부  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `Required`   <a name="sam-function-requestparameter-required"></a>
이 필드는 매개변수가 필요한지를 지정합니다  
*유형*: 부울  
*필수 항목 여부*: 조건부  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

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

### 요청 매개변수
<a name="sam-property-function-requestparameter--examples--request-parameter"></a>

요청 매개변수 설정 예제

#### YAML
<a name="sam-property-function-requestparameter--examples--request-parameter--yaml"></a>

```
RequestParameters:
  - method.request.header.Authorization:
      Required: true
      Caching: true
```

# CloudWatchEvent
<a name="sam-property-function-cloudwatchevent"></a>

`CloudWatchEvent` 이벤트 소스 유형을 설명하는 객체.

AWS Serverless Application Model (AWS SAM)는이 이벤트 유형이 설정되면 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html) 리소스를 생성합니다.

**중요 참고** 사항: [EventBridgeRule](sam-property-function-eventbridgerule.md)는 대신 사용할 기본 이벤트 소스 유형입니다`CloudWatchEvent`. `EventBridgeRule` 및는 동일한 기본 서비스, API 및 CloudFormation 리소스를 `CloudWatchEvent` 사용합니다. 그러나 AWS SAM 는 에만 새 기능에 대한 지원을 추가합니다`EventBridgeRule`.

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

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

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

```
  [Enabled](#sam-function-cloudwatchevent-enabled): Boolean
  [EventBusName](#sam-function-cloudwatchevent-eventbusname): String
  [Input](#sam-function-cloudwatchevent-input): String
  [InputPath](#sam-function-cloudwatchevent-inputpath): String
  [Pattern](#sam-function-cloudwatchevent-pattern): [EventPattern](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-eventpattern)
  [State](#sam-function-cloudwatchevent-state): String
```

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

 `Enabled`   <a name="sam-function-cloudwatchevent-enabled"></a>
규칙을 활성화할지를 나타냅니다.  
규칙을 비활성화하려면 이 속성을 `false`로 설정합니다.  
`Enabled` 또는 `State` 속성을 지정할 수 있지만, 두 속성을 함께 지정할 수는 없습니다.
*유형*: 부울  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Events::Rule` 리소스의 `[State](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-state)` 속성과 유사합니다. 이 속성이 로 설정된 경우를 `true` AWS SAM 전달하고`ENABLED`, 그렇지 않으면를 전달합니다`DISABLED`.

 `EventBusName`   <a name="sam-function-cloudwatchevent-eventbusname"></a>
이 규칙과 연결할 이벤트 버스입니다. 이 속성을 생략하면가 기본 이벤트 버스를 AWS SAM 사용합니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*기본값*: 기본 이벤트 버스  
*CloudFormation 호환성*:이 속성은 `AWS::Events::Rule` 리소스의 `[EventBusName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-eventbusname)` 속성으로 직접 전달됩니다.

 `Input`   <a name="sam-function-cloudwatchevent-input"></a>
대상으로 전달되는 유효한 JSON 텍스트입니다. 이 속성을 사용하면 이벤트 텍스트 자체의 어떤 것도 대상으로 전달되지 않습니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Events::Rule Target` 리소스의 `[Input](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-input)` 속성으로 직접 전달됩니다.

 `InputPath`   <a name="sam-function-cloudwatchevent-inputpath"></a>
일치된 이벤트 전체를 전달하지 않으려는 경우 `InputPath` 속성을 사용하여 이벤트의 어떤 부분이 전달되어야 하는지 설명하세요.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Events::Rule Target` 리소스의 `[InputPath](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-inputpath)` 속성으로 직접 전달됩니다.

 `Pattern`   <a name="sam-function-cloudwatchevent-pattern"></a>
어떤 이벤트가 지정된 대상으로 라우팅되는지를 설명합니다. 자세한 내용은 *Amazon EventBridge 사용자 가이드*의 [EventBridge의 이벤트 및 이벤트 패턴](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-and-event-patterns.html)을 참조하세요.  
*유형*: [이벤트패턴](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-eventpattern)  
*필수 항목 여부*: 예  
*CloudFormation 호환성*:이 속성은 `AWS::Events::Rule` 리소스의 `[EventPattern](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-eventpattern)` 속성으로 직접 전달됩니다.

 `State`   <a name="sam-function-cloudwatchevent-state"></a>
규칙의 상태입니다.  
*허용되는 값:* `DISABLED | ENABLED`  
`Enabled` 또는 `State` 속성을 지정할 수 있지만, 두 속성을 함께 지정할 수는 없습니다.
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Events::Rule` 리소스의 `[State](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-state)` 속성으로 직접 전달됩니다.

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

### CloudWatchEvent
<a name="sam-property-function-cloudwatchevent--examples--cloudwatchevent"></a>

다음은 `CloudWatchEvent` 이벤트 소스 유형의 한 예제입니다.

#### YAML
<a name="sam-property-function-cloudwatchevent--examples--cloudwatchevent--yaml"></a>

```
CWEvent:
  Type: CloudWatchEvent
  Properties:
    Enabled: false
    Input: '{"Key": "Value"}'
    Pattern:
      detail:
        state:
          - running
```

# CloudWatchLogs
<a name="sam-property-function-cloudwatchlogs"></a>

`CloudWatchLogs` 이벤트 소스 유형을 설명하는 객체.

[https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-subscriptionfilter.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-subscriptionfilter.html) 리소스는 구독 필터를 지정하여 특정 로그 그룹과 연결합니다.

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

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

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

```
  [FilterPattern](#sam-function-cloudwatchlogs-filterpattern): String
  [LogGroupName](#sam-function-cloudwatchlogs-loggroupname): String
```

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

 `FilterPattern`   <a name="sam-function-cloudwatchlogs-filterpattern"></a>
대상 AWS 리소스로 전달되는 항목을 제한하는 필터링 표현식입니다. 필터 패턴 구문에 대한 자세한 내용은 [필터 및 패턴 구문](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html)을 참조하세요.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::Logs::SubscriptionFilter` 리소스의 `[FilterPattern](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-subscriptionfilter.html#cfn-cwl-subscriptionfilter-filterpattern)` 속성으로 직접 전달됩니다.

 `LogGroupName`   <a name="sam-function-cloudwatchlogs-loggroupname"></a>
구독 필터와 연결되는 로그 그룹입니다. 필터 패턴이 로그 이벤트와 일치하면이 로그 그룹에 업로드되는 모든 로그 이벤트가 필터링되고 지정된 AWS 리소스로 전달됩니다.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::Logs::SubscriptionFilter` 리소스의 `[LogGroupName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-subscriptionfilter.html#cfn-cwl-subscriptionfilter-loggroupname)` 속성으로 직접 전달됩니다.

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

### Cloudwatchlogs 구독 필터
<a name="sam-property-function-cloudwatchlogs--examples--cloudwatchlogs-subscription-filter"></a>

Cloudwatchlogs 구독 필터 예제

#### YAML
<a name="sam-property-function-cloudwatchlogs--examples--cloudwatchlogs-subscription-filter--yaml"></a>

```
CWLog:
  Type: CloudWatchLogs
  Properties:
    LogGroupName:
      Ref: CloudWatchLambdaLogsGroup
    FilterPattern: My pattern
```

# Cognito
<a name="sam-property-function-cognito"></a>

`Cognito` 이벤트 소스 유형을 설명하는 객체.

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

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

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

```
  [Trigger](#sam-function-cognito-trigger): List
  [UserPool](#sam-function-cognito-userpool): String
```

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

 `Trigger`   <a name="sam-function-cognito-trigger"></a>
새로운 사용자 풀에 대한 Lambda 트리거 구성 정보입니다.  
*유형*: 목록  
*필수 항목 여부*: 예  
*CloudFormation 호환성*:이 속성은 `AWS::Cognito::UserPool` 리소스의 `[LambdaConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cognito-userpool-lambdaconfig.html)` 속성으로 직접 전달됩니다.

 `UserPool`   <a name="sam-function-cognito-userpool"></a>
동일한 템플릿에 정의된 UserPool에 대한 참조  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

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

### Cognito 이벤트
<a name="sam-property-function-cognito--examples--cognito-event"></a>

Cognito 이벤트 예

#### YAML
<a name="sam-property-function-cognito--examples--cognito-event--yaml"></a>

```
CognitoUserPoolPreSignup:
  Type: Cognito
  Properties:
    UserPool:
      Ref: MyCognitoUserPool
    Trigger: PreSignUp
```

# DocumentDB
<a name="sam-property-function-documentdb"></a>

`DocumentDB` 이벤트 소스 유형을 설명하는 객체. 자세한 내용은 *AWS Lambda 개발자 안내서*의 [ Amazon DocumentDB AWS Lambda 에서 사용을](https://docs.aws.amazon.com/lambda/latest/dg/with-documentdb.html) 참조하세요.

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

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

### YAML
<a name="sam-property-function-documentdb-syntax-yaml"></a>

```
BatchSize: Integer
Cluster: [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)
CollectionName: String
DatabaseName: String
Enabled: Boolean
FilterCriteria: [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)
FullDocument: String
KmsKeyArn: String  
MaximumBatchingWindowInSeconds: Integer
SecretsManagerKmsKeyId: String
SourceAccessConfigurations: List
StartingPosition: String
StartingPositionTimestamp: Double
```

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

 `BatchSize`   <a name="sam-function-documentdb-batchsize"></a>
한 번의 배치에서 검색하는 최대 항목 수입니다.  
*유형*: 정수  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[ BatchSize](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-batchsize)` 속성으로 직접 전달됩니다.

 `Cluster`   <a name="sam-function-documentdb-cluster"></a>
Amazon DocumentDB 클러스터의 Amazon 리소스 이름(ARN).  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[ EventSourceArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-eventsourcearn)` 속성으로 직접 전달됩니다.

 `CollectionName`   <a name="sam-function-documentdb-collectionname"></a>
데이터베이스 내에서 사용할 컬렉션의 이름입니다. 컬렉션을 지정하지 않으면 Lambda는 모든 컬렉션을 사용합니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` `DocumentDBEventSourceConfig` 데이터 유형의 `[ CollectionName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-documentdbeventsourceconfig.html#cfn-lambda-eventsourcemapping-documentdbeventsourceconfig-collectionname)` 속성으로 직접 전달됩니다.

 `DatabaseName`   <a name="sam-function-documentdb-databasename"></a>
Amazon DocumentDB 클러스터에서 사용할 데이터베이스의 이름.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` `DocumentDBEventSourceConfig`데이터 유형의 `[ DatabaseName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-documentdbeventsourceconfig.html#cfn-lambda-eventsourcemapping-documentdbeventsourceconfig-databasename)` 속성으로 직접 전달됩니다.

 `Enabled`   <a name="sam-function-documentdb-enabled"></a>
`true`이면, 이벤트 소스 매핑이 활성 상태입니다. 폴링 및 간접 호출을 일시 중지하려면 `false`로 설정합니다.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[ Enabled](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-enabled)` 속성으로 직접 전달됩니다.

 `FilterCriteria`   <a name="sam-function-documentdb-filtercriteria"></a>
Lambda가 이벤트를 처리해야 하는지 결정하는 기준을 정의하는 객체입니다. 자세한 내용은 *AWS Lambda 개발자 안내서*의 [Lambda 이벤트 필터링](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html)을 참조하세요.  
*유형*: [FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[ FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)` 속성으로 직접 전달됩니다.

 `FullDocument`   <a name="sam-function-documentdb-fulldocument"></a>
문서 업데이트 작업 중에 Amazon DocumentDB가 귀하의 이벤트 스트림으로 보내는 내용을 결정합니다. `UpdateLookup`로 설정된 경우, Amazon DocumentDB는 전체 문서의 복사본과 함께 변경 내용을 설명하는 델타를 보냅니다. 그렇지 않으면 Amazon DocumentDB는 단지 변경 내용이 포함된 부분적 문서만 전송합니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` `DocumentDBEventSourceConfig` 데이터 유형의 `[ FullDocument](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-documentdbeventsourceconfig.html#cfn-lambda-eventsourcemapping-documentdbeventsourceconfig-fulldocument)` 속성으로 직접 전달됩니다.

 `KmsKeyArn`   <a name="sam-function-documentdb-kmskeyarn"></a>
이 이벤트와 관련된 정보를 암호화하는 키의 Amazon 리소스 이름(ARN)입니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[KmsKeyArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-kmskeyarn)` 속성으로 직접 전달됩니다.

 `MaximumBatchingWindowInSeconds`   <a name="sam-function-documentdb-maximumbatchingwindowinseconds"></a>
함수를 호출하기 전에 기록을 수집할 최대 기간(단위: 초)입니다.  
*유형*: 정수  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[ MaximumBatchingWindowInSeconds](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumbatchingwindowinseconds)` 속성으로 직접 전달됩니다.

 `SecretsManagerKmsKeyId`   <a name="sam-function-documentdb-secretsmanagerkmskeyid"></a>
 AWS Secrets Manager에서 고객 관리형 키의 AWS Key Management Service (AWS KMS) 키 ID입니다. `kms:Decrypt` 권한이 포함되지 않은 Lambda 실행 역할과 함께 Secrets Manager의 고객 관리형 키를 사용할 때 필요합니다.  
이 속성의 값은 UUID입니다. 예를 들어 `1abc23d4-567f-8ab9-cde0-1fab234c5d67`입니다.  
*유형*: 문자열  
*필수 항목 여부*: 조건부  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 동등한 속성이 CloudFormation 없습니다.

 `SourceAccessConfigurations`   <a name="sam-function-documentdb-sourceaccessconfigurations"></a>
인증 프로토콜 또는 가상 호스트의 배열입니다. [SourceAccessConfigurations](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-sourceaccessconfiguration.html) 데이터 유형을 사용하여 이를 지정하십시오.  
`DocumentDB`이벤트 소스 유형의 경우 유효한 구성 유형은 `BASIC_AUTH`뿐입니다.  
+ `BASIC_AUTH` - 귀하의 브로커 자격 증명을 저장하는 Secrets Manager 보안 암호입니다. 이 유형의 자격 증명은 다음 `{"username": "your-username", "password": "your-password"}` 형식이어야 합니다. `BASIC_AUTH` 유형의 객체는 오직 한 개만 허용됩니다.
*유형*: 목록  
*필수 항목 여부*: 예  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[ SourceAccessConfigurations](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-sourceaccessconfigurations)` 속성으로 직접 전달됩니다.

 `StartingPosition`   <a name="sam-function-documentdb-startingposition"></a>
읽기를 시작하는 스트림 내의 위치입니다.  
+ `AT_TIMESTAMP` - 기록 읽기를 시작할 시간을 지정합니다.
+ `LATEST` – 새 기록만 읽습니다.
+ `TRIM_HORIZON` – 사용 가능한 모든 기록을 처리합니다.
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[ StartingPosition](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-startingposition)` 속성으로 직접 전달됩니다.

 `StartingPositionTimestamp`   <a name="sam-function-documentdb-startingpositiontimestamp"></a>
읽기를 시작하는 시간(유닉스 시간 초 단위)입니다. `StartingPositionTimestamp` 언제 `StartingPosition`를 `AT_TIMESTAMP`으로 지정할지 정의합니다.  
*유형*: Double  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[ StartingPositionTimestamp](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-startingpositiontimestamp)` 속성으로 직접 전달됩니다.

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

### Amazon DocumentDB 이벤트 소스
<a name="sam-property-function-documentdb-examples-example1"></a>

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
...
Resources:
  MyFunction:
    Type: AWS::Serverless::Function
    Properties:
    ...
      Events:
        MyDDBEvent:
          Type: DocumentDB
          Properties:
            Cluster: "arn:aws:rds:us-west-2:123456789012:cluster:docdb-2023-01-01"
            BatchSize: 10
            MaximumBatchingWindowInSeconds: 5
            DatabaseName: "db1"
            CollectionName: "collection1"
            FullDocument: "UpdateLookup"
            SourceAccessConfigurations:
              - Type: BASIC_AUTH
                URI: "arn:aws:secretsmanager:us-west-2:123456789012:secret:doc-db"
```

# DynamoDB
<a name="sam-property-function-dynamodb"></a>

`DynamoDB` 이벤트 소스 유형을 설명하는 객체. 자세한 내용은 *AWS Lambda 개발자 안내서*의 [Amazon DynamoDB AWS Lambda 에서 사용을](https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html) 참조하세요.

AWS SAM 이 이벤트 유형이 설정되면가 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html) 리소스를 생성합니다.

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

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

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

```
  [BatchSize](#sam-function-dynamodb-batchsize): Integer
  [BisectBatchOnFunctionError](#sam-function-dynamodb-bisectbatchonfunctionerror): Boolean
  [DestinationConfig](#sam-function-dynamodb-destinationconfig): [DestinationConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-destinationconfig)
  [Enabled](#sam-function-dynamodb-enabled): Boolean
  [FilterCriteria](#sam-function-dynamodb-filtercriteria): [FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)
  [FunctionResponseTypes](#sam-function-dynamodb-functionresponsetypes): List
  KmsKeyArn: String          
  [MaximumBatchingWindowInSeconds](#sam-function-dynamodb-maximumbatchingwindowinseconds): Integer
  [MaximumRecordAgeInSeconds](#sam-function-dynamodb-maximumrecordageinseconds): Integer
  [MaximumRetryAttempts](#sam-function-dynamodb-maximumretryattempts): Integer
  [MetricsConfig](#sam-function-dynamodb-metricsconfig): [MetricsConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-metricsconfig)
  [ParallelizationFactor](#sam-function-dynamodb-parallelizationfactor): Integer
  [StartingPosition](#sam-function-dynamodb-startingposition): String
  StartingPositionTimestamp: Double
  [Stream](#sam-function-dynamodb-stream): String
  [TumblingWindowInSeconds](#sam-function-dynamodb-tumblingwindowinseconds): Integer
```

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

 `BatchSize`   <a name="sam-function-dynamodb-batchsize"></a>
한 번의 배치에서 검색하는 최대 항목 수입니다.  
*유형*: 정수  
*필수 항목 여부*: 아니요  
*기본값*: 100  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[BatchSize](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-batchsize)` 속성으로 직접 전달됩니다.  
*최소*: `1`  
*최대*: `1000`

 `BisectBatchOnFunctionError`   <a name="sam-function-dynamodb-bisectbatchonfunctionerror"></a>
함수가 오류를 제시하면 비치를 2개로 분할해서 다시 시도합니다.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[BisectBatchOnFunctionError](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-bisectbatchonfunctionerror)` 속성으로 직접 전달됩니다.

 `DestinationConfig`   <a name="sam-function-dynamodb-destinationconfig"></a>
폐기된 기록을 위한 Amazon Simple Queue Service(Amazon SQS) 대기열 또는 Amazon Simple Notification Service(SNS) 주제 대상입니다.  
*유형*: [DestinationConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-destinationconfig)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[DestinationConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-destinationconfig)` 속성으로 직접 전달됩니다.

 `Enabled`   <a name="sam-function-dynamodb-enabled"></a>
이벤트 소스 매핑을 비활성화하여 폴링 및 간접 호출을 일시 중지합니다.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[Enabled](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-enabled)` 속성으로 직접 전달됩니다.

 `FilterCriteria`   <a name="sam-function-dynamodb-filtercriteria"></a>
Lambda가 이벤트를 처리해야 하는지 결정하는 기준을 정의하는 객체입니다. 자세한 내용은 [AWS Lambda 개발자 가이드](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html)의 *AWS Lambda 이벤트 필터링*을 참조하세요.  
*유형*: [FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)` 속성으로 직접 전달됩니다.

 `FunctionResponseTypes`   <a name="sam-function-dynamodb-functionresponsetypes"></a>
이벤트 소스 매핑에 현재 적용된 응답 유형의 목록입니다. 자세한 내용은 *AWS Lambda Developer Guide의* [ Reporting batch item failures](https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html#services-ddb-batchfailurereporting)를 참조하세요.  
*유효한 값*: `ReportBatchItemFailures`  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[FunctionResponseTypes](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-functionresponsetypes)` 속성으로 직접 전달됩니다.

 `KmsKeyArn`   <a name="sam-function-dynamodb-kmskeyarn"></a>
이 이벤트와 관련된 정보를 암호화하는 키의 Amazon 리소스 이름(ARN)입니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[KmsKeyArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-kmskeyarn)` 속성으로 직접 전달됩니다.

 `MaximumBatchingWindowInSeconds`   <a name="sam-function-dynamodb-maximumbatchingwindowinseconds"></a>
함수를 호출하기 전에 기록을 수집할 최대 기간(단위: 초)입니다.  
*유형*: 정수  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[MaximumBatchingWindowInSeconds](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumbatchingwindowinseconds)` 속성으로 직접 전달됩니다.

 `MaximumRecordAgeInSeconds`   <a name="sam-function-dynamodb-maximumrecordageinseconds"></a>
Lambda가 처리를 위해 함수에 보내는 기록의 최대 사용 기간입니다.  
*유형*: 정수  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[MaximumRecordAgeInSeconds](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumrecordageinseconds)` 속성으로 직접 전달됩니다.

 `MaximumRetryAttempts`   <a name="sam-function-dynamodb-maximumretryattempts"></a>
함수가 오류를 반환할 때 재시도하는 최대 횟수입니다.  
*유형*: 정수  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[MaximumRetryAttempts](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumretryattempts)` 속성으로 직접 전달됩니다.

 `MetricsConfig`   <a name="sam-function-dynamodb-metricsconfig"></a>
처리 단계별로 캡처하는 이벤트 소스 매핑에 대한 향상된 지표를 얻기 위한 옵트인 구성입니다. 예제는 [MetricsConfig 이벤트](#sam-property-function-dynamodb-example-metricsconfigevent) 섹션을 참조하세요.  
*유형*: [MetricsConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-metricsconfig)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[MetricsConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-metricsconfig)` 속성으로 직접 전달됩니다.

 `ParallelizationFactor`   <a name="sam-function-dynamodb-parallelizationfactor"></a>
각 샤드에서 동시에 처리할 배치의 수입니다.  
*유형*: 정수  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[ParallelizationFactor](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-parallelizationfactor)` 속성으로 직접 전달됩니다.

 `StartingPosition`   <a name="sam-function-dynamodb-startingposition"></a>
읽기를 시작하는 스트림 내의 위치입니다.  
+ `AT_TIMESTAMP` - 기록 읽기를 시작할 시간을 지정합니다.
+ `LATEST` – 새 기록만 읽습니다.
+ `TRIM_HORIZON` – 사용 가능한 모든 기록을 처리합니다.
*유효한 값*: `AT_TIMESTAMP` \$1 `LATEST` \$1 `TRIM_HORIZON`  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[StartingPosition](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-startingposition)` 속성으로 직접 전달됩니다.

 `StartingPositionTimestamp`   <a name="sam-function-dynamodb-startingpositiontimestamp"></a>
읽기를 시작하는 시간(유닉스 시간 초 단위)입니다. `StartingPositionTimestamp` 언제 `StartingPosition`를 `AT_TIMESTAMP`으로 지정할지 정의합니다.  
*유형*: Double  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[StartingPositionTimestamp](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-startingpositiontimestamp)` 속성으로 직접 전달됩니다.

 `Stream`   <a name="sam-function-dynamodb-stream"></a>
DynamoDB 스트림의 Amazon 리소스 이름(ARN)입니다.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[EventSourceArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-eventsourcearn)` 속성으로 직접 전달됩니다.

 `TumblingWindowInSeconds`   <a name="sam-function-dynamodb-tumblingwindowinseconds"></a>
처리 윈도우 기간(초 단위). 유효한 범위는 1 \$1 900입니다(15분).  
자세한 내용은 [ 개발자 가이드](https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html#streams-tumbling)의 *AWS Lambda Tumbling windows*를 참조하세요.  
*유형*: 정수  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[TumblingWindowInSeconds](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-tumblingwindowinseconds)` 속성으로 직접 전달됩니다.

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

### MetricsConfig 이벤트
<a name="sam-property-function-dynamodb-example-metricsconfigevent"></a>

다음은 이벤트 소스 매핑에 대한 처리 단계별 캡처를 위해 `MetricsConfig` 속성을 사용하는 리소스의 예시입니다.

```
Resources:
  FilteredEventsFunction:
    Type: AWS::Serverless::Function
    Properties:
      CodeUri: s3://sam-demo-bucket/metricsConfig.zip
      Handler: index.handler
      Runtime: nodejs16.x
      Events:
        KinesisStream:
          Type: Kinesis
          Properties:
            Stream: !GetAtt KinesisStream.Arn
            StartingPosition: LATEST
            MetricsConfig:
              Metrics:
              - EventCount
```

### 기존 DynamoDB 테이블의 DynamoDB 이벤트 소스
<a name="sam-property-function-dynamodb--examples--dynamodb-event-source-for-existing-dynamodb-table"></a>

 AWS 계정에 이미 있는 DynamoDB 테이블의 DynamoDB 이벤트 소스입니다.

#### YAML
<a name="sam-property-function-dynamodb--examples--dynamodb-event-source-for-existing-dynamodb-table--yaml"></a>

```
Events:
  DDBEvent:
    Type: DynamoDB
    Properties:
      Stream: arn:aws:dynamodb:us-east-1:123456789012:table/TestTable/stream/2016-08-11T21:21:33.291
      StartingPosition: TRIM_HORIZON
      BatchSize: 10
      Enabled: false
```

### 템플릿에 선언된 DynamoDB 테이블에 대한 DynamoDB 이벤트
<a name="sam-property-function-dynamodb--examples--dynamodb-event-for-dynamodb-table-declared-in-template"></a>

동일한 템플릿 파일에 선언된 DynamoDB 테이블에 대한 DynamoDB 이벤트입니다.

#### YAML
<a name="sam-property-function-dynamodb--examples--dynamodb-event-for-dynamodb-table-declared-in-template--yaml"></a>

```
Events:
  DDBEvent:
    Type: DynamoDB
    Properties:
      Stream: 
        !GetAtt MyDynamoDBTable.StreamArn   # This must be the name of a DynamoDB table declared in the same template file
      StartingPosition: TRIM_HORIZON
      BatchSize: 10
      Enabled: false
```

# EventBridgeRule
<a name="sam-property-function-eventbridgerule"></a>

서버리스 함수를 Amazon EventBridge 규칙의 대상으로 설정하는 `EventBridgeRule`이벤트 소스 유형을 설명하는 객체입니다. 자세한 내용은 [Amazon EventBridge 사용자 가이드](https://docs.aws.amazon.com/eventbridge/latest/userguide/what-is-amazon-eventbridge.html)의 *Amazon EventBridge란?*을 참조하세요.

AWS SAM 는이 이벤트 유형이 설정되면 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html) 리소스를 생성합니다. AWS SAM 또한가 Lambda를 호출할 `EventBridgeRule` 수 있도록 필요한 `AWS::Lambda::Permission` 리소스를 생성합니다.

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

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

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

```
  [DeadLetterConfig](#sam-function-eventbridgerule-deadletterconfig): DeadLetterConfig
  [EventBusName](#sam-function-eventbridgerule-eventbusname): String
  [Input](#sam-function-eventbridgerule-input): String
  [InputPath](#sam-function-eventbridgerule-inputpath): String
  InputTransformer: [InputTransformer](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-inputtransformer.html)
  [Pattern](#sam-function-eventbridgerule-pattern): [EventPattern](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-eventpattern)
  [RetryPolicy](#sam-function-eventbridgerule-retrypolicy): [RetryPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-retrypolicy)
  RuleName: String 
  State: String
  [Target](#sam-function-eventbridgerule-target): Target
```

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

 `DeadLetterConfig`   <a name="sam-function-eventbridgerule-deadletterconfig"></a>
대상 호출이 실패한 경우 EventBridge가 이벤트를 전송하는 Amazon Simple Queue Service(Amazon SQS) 대기열을 구성합니다. 예를 들어 존재하지 않는 Lambda 함수로 이벤트를 전송하거나 EventBridge에 Lambda 함수를 간접 호출할 권한이 충분하지 않은 경우 간접 호출이 실패할 수 있습니다. 자세한 내용은 *Amazon EventBridge 사용자 가이드*의 [이벤트 재시도 정책 및 DLQ(Dead Letter Queue) 사용](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html)을 참조하세요.  
[AWS::Serverless::Function](sam-resource-function.md) 리소스 유형에는 유사한 데이터 유형인`DeadLetterQueue`가 있으며, 이는 대상 Lambda 함수를 성공적으로 호출한 후 발생하는 장애를 처리합니다. 이러한 유형의 실패의 예로는 Lambda 제한 또는 Lambda 대상 함수에서 표시되는 오류가 있습니다. 함수 `DeadLetterQueue` 속성에 대한 자세한 내용은 *AWS Lambda 개발자 가이드*의 [DLQ(Dead Letter Queue)](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-dlq)를 참조하세요.
*유형*: [DeadLetterConfig](sam-property-function-deadletterconfig.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Events::Rule` `Target` 데이터 유형의 `[DeadLetterConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-deadletterconfig)` 속성과 유사합니다. 이 속성의 AWS SAM 버전에는 배달 못한 편지 대기열 AWS SAM 을 생성하려는 경우 추가 하위 속성이 포함됩니다.

 `EventBusName`   <a name="sam-function-eventbridgerule-eventbusname"></a>
이 규칙과 연결할 이벤트 버스입니다. 이 속성을 생략하면가 기본 이벤트 버스를 AWS SAM 사용합니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*기본값*: 기본 이벤트 버스  
*CloudFormation 호환성*:이 속성은 `AWS::Events::Rule` 리소스의 `[EventBusName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-eventbusname)` 속성으로 직접 전달됩니다.

 `Input`   <a name="sam-function-eventbridgerule-input"></a>
대상으로 전달되는 유효한 JSON 텍스트입니다. 이 속성을 사용하면 이벤트 텍스트 자체의 어떤 것도 대상으로 전달되지 않습니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Events::Rule Target` 리소스의 `[Input](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-input)` 속성으로 직접 전달됩니다.

 `InputPath`   <a name="sam-function-eventbridgerule-inputpath"></a>
일치된 이벤트 전체를 전달하지 않으려는 경우 `InputPath` 속성을 사용하여 이벤트의 어떤 부분이 전달되어야 하는지 설명하세요.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Events::Rule Target` 리소스의 `[InputPath](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-inputpath)` 속성으로 직접 전달됩니다.

 `InputTransformer`   <a name="sam-function-eventbridgerule-inputtransformer"></a>
특정 이벤트 데이터를 기반으로 대상에 사용자 지정 입력을 제공할 수 있게 하는 설정입니다. 이벤트에서 하나 이상의 키-값 페어를 추출한 후 이 데이터를 사용하여 대상에 사용자 지정 입력을 전송할 수 있습니다. 자세한 내용은 [Amazon EventBridge 사용자 가이드](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-transform-target-input.html)의 *Amazon EventBridge input transformation*를 참조하세요.  
*유형*: [InputTransformer](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-inputtransformer)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Events::Rule` `Target` 데이터 유형의 `[InputTransformer](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-inputtransformer.html)` 속성으로 직접 전달됩니다.

 `Pattern`   <a name="sam-function-eventbridgerule-pattern"></a>
어떤 이벤트가 지정된 대상으로 라우팅되는지를 설명합니다. 자세한 내용은 [Amazon EventBridge 사용자 가이드](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-events.html)의 [Amazon EventBridge 이벤트](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-patterns.html) 및 *EventBridge 이벤트 패턴*을 참조하세요.  
*유형*: [이벤트패턴](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-eventpattern)  
*필수 항목 여부*: 예  
*CloudFormation 호환성*:이 속성은 `AWS::Events::Rule` 리소스의 `[EventPattern](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-eventpattern)` 속성으로 직접 전달됩니다.

 `RetryPolicy`   <a name="sam-function-eventbridgerule-retrypolicy"></a>
재시도 정책 설정에 대한 정보가 포함된 `RetryPolicy` 객체입니다. 자세한 내용은 *Amazon EventBridge 사용자 가이드*의 [이벤트 재시도 정책 및 DLQ(Dead Letter Queue) 사용](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html)을 참조하세요.  
*유형*: [RetryPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-retrypolicy)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Events::Rule` `Target` 데이터 유형의 `[RetryPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-retrypolicy)` 속성으로 직접 전달됩니다.

 `RuleName`   <a name="sam-function-eventbridgerule-rulename"></a>
규칙의 이름입니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Events::Rule` 리소스의 `[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-name)` 속성으로 직접 전달됩니다.

 `State`   <a name="sam-function-eventbridgerule-state"></a>
규칙의 상태입니다.  
*허용되는 값*: `DISABLED` \$1 `ENABLED` \$1 `ENABLED_WITH_ALL_CLOUDTRAIL_MANAGEMENT_EVENTS`  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Events::Rule` 리소스의 `[State](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-state) ` 속성으로 직접 전달됩니다.

 `Target`   <a name="sam-function-eventbridgerule-target"></a>
규칙이 트리거될 때 EventBridge가 호출하는 AWS 리소스입니다. 이 속성을 사용하여 대상의 논리적 ID를 지정할 수 있습니다. 이 속성을 지정하지 않으면가 대상의 논리적 ID를 AWS SAM 생성합니다.  
*유형*: [Target](sam-property-function-target.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Events::Rule` 리소스의 `[Targets](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-targets)` 속성과 유사합니다. `Amazon EC2 RebootInstances API call`는 대상 속성의 예입니다. 이 속성의 AWS SAM 버전에서는 단일 대상의 논리적 ID만 지정할 수 있습니다.

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

### EventBridgeRule
<a name="sam-property-function-eventbridgerule--examples--eventbridgerule"></a>

다음은 `EventBridgeRule` 이벤트 소스 유형의 예입니다.

#### YAML
<a name="sam-property-function-eventbridgerule--examples--eventbridgerule--yaml"></a>

```
EBRule:
  Type: EventBridgeRule
  Properties:
    Input: '{"Key": "Value"}'
    Pattern:
      detail:
        state:
          - terminated
    RetryPolicy:
      MaximumRetryAttempts: 5
      MaximumEventAgeInSeconds: 900
    DeadLetterConfig:
      Type: SQS
      QueueLogicalId: EBRuleDLQ
    Target:
      Id: MyTarget
```

# DeadLetterConfig
<a name="sam-property-function-deadletterconfig"></a>

대상 호출 실패 후 EventBridge가 이벤트를 전송하는 Amazon Simple Queue Service(Amazon SQS) 대기열을 지정하는 데 사용되는 객체입니다. 예를 들어 존재하지 않는 Lambda 함수로 이벤트를 전송하거나 Lambda 함수를 호출할 권한이 충분하지 않은 경우 간접 호출이 실패할 수 있습니다. 자세한 내용은 *Amazon EventBridge 사용자 가이드*의 [이벤트 재시도 정책 및 DLQ(Dead Letter Queue) 사용](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html)을 참조하세요.

**참고**  
[AWS::Serverless::Function](sam-resource-function.md) 리소스 유형에는 유사한 데이터 유형인`DeadLetterQueue`가 있으며, 이는 대상 Lambda 함수를 성공적으로 호출한 후 발생하는 장애를 처리합니다. 이러한 유형의 실패의 예로는 Lambda 제한 또는 Lambda 대상 함수에서 반환되는 오류가 있습니다. 함수 `DeadLetterQueue` 속성에 대한 자세한 내용은 *AWS Lambda 개발자 가이드*의 [DLQ(Dead Letter Queue)](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-dlq)를 참조하세요.

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

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

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

```
  [Arn](#sam-function-deadletterconfig-arn): String
  [QueueLogicalId](#sam-function-deadletterconfig-queuelogicalid): String
  [Type](#sam-function-deadletterconfig-type): String
```

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

 `Arn`   <a name="sam-function-deadletterconfig-arn"></a>
DLQ(Dead Letter Queue)의 대상으로 지정된 Amazon SQS 대기열의 Amazon 리소스 이름(ARN)입니다.  
`Type` 속성 또는 `Arn` 속성 중 하나만 지정해야 하며, 둘 다 지정할 수는 없습니다.
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Events::Rule` `DeadLetterConfig` 데이터 유형의 `[Arn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-deadletterconfig.html#cfn-events-rule-deadletterconfig-arn)` 속성으로 직접 전달됩니다.

 `QueueLogicalId`   <a name="sam-function-deadletterconfig-queuelogicalid"></a>
가 지정된 경우가 AWS SAM 생성하는 배달 못한 편지 대기열의 사용자 지정 이름`Type`입니다.  
`Type` 속성이 설정되지 않은 경우 이 속성은 무시됩니다.
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `Type`   <a name="sam-function-deadletterconfig-type"></a>
대기열 유형. 이 속성이 설정되면는 배달 못한 편지 대기열을 AWS SAM 자동으로 생성하고 필요한 [리소스 기반 정책을](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html#dlq-perms) 연결하여 대기열로 이벤트를 전송할 수 있는 규칙 리소스에 권한을 부여합니다.  
`Type` 속성 또는 `Arn` 속성 중 하나만 지정해야 하며, 둘 다 지정할 수는 없습니다.
*유효한 값*: `SQS`  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

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

### DeadLetterConfig
<a name="sam-property-function-deadletterconfig--examples--deadletterconfig"></a>

DeadLetterConfig

#### YAML
<a name="sam-property-function-deadletterconfig--examples--deadletterconfig--yaml"></a>

```
DeadLetterConfig:
  Type: SQS
  QueueLogicalId: MyDLQ
```

# Target
<a name="sam-property-function-target"></a>

규칙이 트리거될 때 EventBridge가 호출하는 AWS 리소스를 구성합니다.

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

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

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

```
  [Id](#sam-function-target-id): String
```

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

 `Id`   <a name="sam-function-target-id"></a>
대상의 논리적 ID.  
`Id`의 값은 영숫자 문자, 마침표(`.`), 하이픈(`-`), 밑줄(`_`)을 포함할 수 있습니다.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::Events::Rule` `Target` 데이터 유형의 `[Id](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-id)` 속성으로 직접 전달됩니다.

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

### 대상
<a name="sam-property-function-target--examples--target"></a>

#### YAML
<a name="sam-property-function-target--examples--target--yaml"></a>

```
EBRule:
  Type: EventBridgeRule
  Properties:
    Target:
      Id: MyTarget
```

# HttpApi
<a name="sam-property-function-httpapi"></a>

HttpAPI 유형의 이벤트 소스를 설명하는 객체입니다.

지정된 경로 및 메서드에 대한 OpenAPI 정의가 API에 있는 경우 SAM은 Lambda 통합 및 보안 섹션(해당하는 경우)을 자동으로 추가합니다.

API에 지정된 경로와 메서드에 대한 OpenApi 정의가 없는 경우 SAM이 이 정의를 자동으로 생성합니다.

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

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

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

```
  [ApiId](#sam-function-httpapi-apiid): String
  [Auth](#sam-function-httpapi-auth): HttpApiFunctionAuth
  [Method](#sam-function-httpapi-method): String
  [Path](#sam-function-httpapi-path): String
  [PayloadFormatVersion](#sam-function-httpapi-payloadformatversion): String
  [RouteSettings](#sam-function-httpapi-routesettings): [RouteSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-routesettings)
  [TimeoutInMillis](#sam-function-httpapi-timeoutinmillis): Integer
```

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

 `ApiId`   <a name="sam-function-httpapi-apiid"></a>
이 템플릿에 정의된 [AWS::Serverless::HttpApi](sam-resource-httpapi.md) 리소스의 식별자입니다.  
정의되지 않은 경우, [AWS::Serverless::HttpApi](sam-resource-httpapi.md)을 정의하지 않는 이 템플릿에 정의된 Api 이벤트에 의해 정의된 모든 경로와 메서드의 집합을 포함하는 생성된 OpenAPI 문서를 사용하여 `ServerlessHttpApi`라는 명칭의 기본 `ApiId` 리소스가 생성됩니다.  
이것은 다른 템플릿에 정의된 [AWS::Serverless::HttpApi](sam-resource-httpapi.md) 리소스를 참조할 수 없습니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `Auth`   <a name="sam-function-httpapi-auth"></a>
이 특정 Api\$1Path\$1Method에 대한 인증 구성입니다.  
지정된 `DefaultAuthorizer`가 없는 경우, API의 `DefaultAuthorizer`을 재정의하거나 개별 경로에 인증 구성을 설정하는 데 유용합니다.   
*유형*: [http://API/FunctionAuth](sam-property-function-httpapifunctionauth.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `Method`   <a name="sam-function-httpapi-method"></a>
이 함수가 간접 호출되는 HTTP 메서드입니다.  
`Path`이나 `Method` 어느 것도 지정되지 않은 경우, SAM은 다른 엔드포인트에 매핑되지 않는 모든 요청을 이 Lambda 함수로 라우팅하는 기본 API 경로를 생성합니다. API당 이러한 기본 경로 중 하나만 존재할 수 있습니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `Path`   <a name="sam-function-httpapi-path"></a>
이 함수가 간접 호출되는 Uri 경로입니다. `/`로 시작해야 합니다.  
`Path`이나 `Method` 어느 것도 지정되지 않은 경우, SAM은 다른 엔드포인트에 매핑되지 않는 모든 요청을 이 Lambda 함수로 라우팅하는 기본 API 경로를 생성합니다. API당 이러한 기본 경로 중 하나만 존재할 수 있습니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `PayloadFormatVersion`   <a name="sam-function-httpapi-payloadformatversion"></a>
통합으로 전송되는 페이로드의 형식을 지정합니다.  
참고: PayloadFormatVersion을 사용하려면 SAM이 OpenAPI 정의를 수정해야 하므로 `DefinitionBody` 속성에 정의된 인라인 OpenApi와만 작동합니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*기본값*: 2.0  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `RouteSettings`   <a name="sam-function-httpapi-routesettings"></a>
이 HTTP API의 경로별 경로 설정입니다. 경로 설정에 대한 자세한 내용은 [API 게이트웨이 개발자 가이드](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-stage-routesettings.html)의 *AWS::API 게이트웨이V2::StageRouteSettings*을 참조하세요.  
참고: HttpApi 리소스와 이벤트 소스 모두에 RouteSettings가 지정된 경우는 이를 이벤트 소스 속성과 AWS SAM 병합합니다.  
*유형*: [RouteSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-routesettings)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGatewayV2::Stage` 리소스의 `[RouteSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-routesettings)` 속성으로 직접 전달됩니다.

 `TimeoutInMillis`   <a name="sam-function-httpapi-timeoutinmillis"></a>
50\$129,000밀리초 사이의 제한 시간 사용자 지정입니다.  
참고: TimeoutInMillis를 사용하려면 SAM이 OpenAPI 정의를 수정해야 하므로 `DefinitionBody` 속성에 정의된 인라인 OpenApi와만 작동합니다.  
*유형*: 정수  
*필수 항목 여부*: 아니요  
*기본값*: 5000  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

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

### 기본 HttpApi 이벤트
<a name="sam-property-function-httpapi--examples--default-httpapi-event"></a>

기본 경로를 사용하는 HttpApi 이벤트입니다. 이 API의 매핑되지 않은 모든 경로와 메서드는 이 엔드포인트로 라우팅됩니다.

#### YAML
<a name="sam-property-function-httpapi--examples--default-httpapi-event--yaml"></a>

```
Events:
  HttpApiEvent:
    Type: HttpApi
```

### HttpApi
<a name="sam-property-function-httpapi--examples--httpapi"></a>

특정 경로와 메서드를 사용하는 HttpApi 이벤트입니다.

#### YAML
<a name="sam-property-function-httpapi--examples--httpapi--yaml"></a>

```
Events:
  HttpApiEvent:
    Type: HttpApi
    Properties:
      Path: /
      Method: GET
```

### HttpApi 승인
<a name="sam-property-function-httpapi--examples--httpapi-authorization"></a>

권한 부여자를 사용하는HttpApi 이벤트입니다.

#### YAML
<a name="sam-property-function-httpapi--examples--httpapi-authorization--yaml"></a>

```
Events:
  HttpApiEvent:
    Type: HttpApi
    Properties:
      Path: /authenticated
      Method: GET
      Auth:
        Authorizer: OpenIdAuth
        AuthorizationScopes:
          - scope1
          - scope2
```

# HttpApiFunctionAuth
<a name="sam-property-function-httpapifunctionauth"></a>

이벤트 수준에서 권한 부여를 구성합니다.

특정 API \$1 경로 \$1 방법에 대한 권한 부여 구성 

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

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

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

```
  [AuthorizationScopes](#sam-function-httpapifunctionauth-authorizationscopes): List
  [Authorizer](#sam-function-httpapifunctionauth-authorizer): String
```

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

 `AuthorizationScopes`   <a name="sam-function-httpapifunctionauth-authorizationscopes"></a>
이 API, 경로 및 메서드에 적용할 수 있는 권한 부여 범위.  
여기에 나열된 범위는 `DefaultAuthorizer`이(존재한다면) 적용한 어떤 범위보다도 우선합니다.  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `Authorizer`   <a name="sam-function-httpapifunctionauth-authorizer"></a>
특정 함수를 위한 `Authorizer` IAM 인증을 사용하려면 `AWS_IAM`을 지정하고, 템플릿의 `true` 섹션에서 `EnableIamAuthorizer`에 관하여 `Globals`를 지정하십시오.  
API에서 글로벌 권한 부여자를 지정한 상태에서 특정 함수를 공개하려면 `Authorizer`을 `NONE`로 설정하여 변경하십시오.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

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

### 함수-권한 부여
<a name="sam-property-function-httpapifunctionauth--examples--function-auth"></a>

함수 수준에서 권한 부여

#### YAML
<a name="sam-property-function-httpapifunctionauth--examples--function-auth--yaml"></a>

```
Auth:
  Authorizer: OpenIdAuth
  AuthorizationScopes:
    - scope1
    - scope2
```

### IAM 권한 부여
<a name="sam-property-function-httpapifunctionauth--examples--iam-authorization"></a>

이벤트 수준에서 IAM 권한 부여를 지정합니다. 이벤트 수준에서 `AWS_IAM` 권한 부여를 사용하려면 템플릿의 `true` 섹션에서 `EnableIamAuthorizer`에 관하여 `Globals`를 지정해야 합니다. 자세한 내용은 [AWS SAM 템플릿의 글로벌 섹션](sam-specification-template-anatomy-globals.md)을 참조하십시오.

#### YAML
<a name="sam-property-function-httpapifunctionauth--examples--iam-authorization--yaml"></a>

```
Globals:
  HttpApi:
    Auth:
      EnableIamAuthorizer: true

Resources:
  HttpApiFunctionWithIamAuth:
    Type: AWS::Serverless::Function
    Properties:
      Events:
        ApiEvent:
          Type: HttpApi
          Properties:
            Path: /iam-auth
            Method: GET
            Auth:
              Authorizer: AWS_IAM
      Handler: index.handler
      InlineCode: |
        def handler(event, context):
          return {'body': 'HttpApiFunctionWithIamAuth', 'statusCode': 200}
      Runtime: python3.9
```

# IoTRule
<a name="sam-property-function-iotrule"></a>

`IoTRule` 이벤트 소스 유형을 설명하는 객체.

 AWS IoT 규칙을 선언할 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-topicrule.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-topicrule.html) 리소스를 생성합니다. 자세한 내용은 [CloudFormation 설명서](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iot-topicrule.html)를 참조하세요

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

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

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

```
  [AwsIotSqlVersion](#sam-function-iotrule-awsiotsqlversion): String
  [Sql](#sam-function-iotrule-sql): String
```

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

 `AwsIotSqlVersion`   <a name="sam-function-iotrule-awsiotsqlversion"></a>
규칙을 평가할 때 사용할 SQL 규칙의 버전입니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::IoT::TopicRule TopicRulePayload` 리소스의 `[AwsIotSqlVersion](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-topicrulepayload.html#cfn-iot-topicrule-topicrulepayload-awsiotsqlversion)` 속성으로 직접 전달됩니다.

 `Sql`   <a name="sam-function-iotrule-sql"></a>
주제에 대한 쿼리에 사용되는 SQL 문입니다. 자세한 내용을 알아보려면 [AWS IoT 개발자 가이드](https://docs.aws.amazon.com/iot/latest/developerguide/iot-rules.html#aws-iot-sql-reference)의 *AWS IoT SQL 참조*에서 참조하세요.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::IoT::TopicRule TopicRulePayload` 리소스의 `[Sql](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-topicrulepayload.html#cfn-iot-topicrule-topicrulepayload-sql)` 속성으로 직접 전달됩니다.

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

### IOT 규칙
<a name="sam-property-function-iotrule--examples--iot-rule"></a>

IOT 규칙 예제

#### YAML
<a name="sam-property-function-iotrule--examples--iot-rule--yaml"></a>

```
IoTRule:
  Type: IoTRule
  Properties:
    Sql: SELECT * FROM 'topic/test'
```

# Kinesis
<a name="sam-property-function-kinesis"></a>

`Kinesis` 이벤트 소스 유형을 설명하는 객체. 자세한 내용은 *AWS Lambda 개발자 안내서*의 [ Amazon Kinesis AWS Lambda 에서 사용을](https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html) 참조하세요.

AWS SAM 이 이벤트 유형이 설정되면가 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html) 리소스를 생성합니다.

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

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

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

```
  [BatchSize](#sam-function-kinesis-batchsize): Integer
  [BisectBatchOnFunctionError](#sam-function-kinesis-bisectbatchonfunctionerror): Boolean
  [DestinationConfig](#sam-function-kinesis-destinationconfig): [DestinationConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-destinationconfig)
  [Enabled](#sam-function-kinesis-enabled): Boolean
  [FilterCriteria](#sam-function-kinesis-filtercriteria): [FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)
  [FunctionResponseTypes](#sam-function-kinesis-functionresponsetypes): List
  KmsKeyArn: String          
  [MaximumBatchingWindowInSeconds](#sam-function-kinesis-maximumbatchingwindowinseconds): Integer
  [MaximumRecordAgeInSeconds](#sam-function-kinesis-maximumrecordageinseconds): Integer
  [MaximumRetryAttempts](#sam-function-kinesis-maximumretryattempts): Integer
  [MetricsConfig](#sam-function-kinesis-metricsconfig): [MetricsConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-metricsconfig)
  [ParallelizationFactor](#sam-function-kinesis-parallelizationfactor): Integer
  [StartingPosition](#sam-function-kinesis-startingposition): String
  StartingPositionTimestamp: Double
  [Stream](#sam-function-kinesis-stream): String
  [TumblingWindowInSeconds](#sam-function-kinesis-tumblingwindowinseconds): Integer
```

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

 `BatchSize`   <a name="sam-function-kinesis-batchsize"></a>
한 번의 배치에서 검색하는 최대 항목 수입니다.  
*유형*: 정수  
*필수 항목 여부*: 아니요  
*기본값*: 100  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[BatchSize](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-batchsize)` 속성으로 직접 전달됩니다.  
*최소*: `1`  
*최대*: `10000`

 `BisectBatchOnFunctionError`   <a name="sam-function-kinesis-bisectbatchonfunctionerror"></a>
함수가 오류를 제시하면 비치를 2개로 분할해서 다시 시도합니다.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[BisectBatchOnFunctionError](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-bisectbatchonfunctionerror)` 속성으로 직접 전달됩니다.

 `DestinationConfig`   <a name="sam-function-kinesis-destinationconfig"></a>
폐기된 기록을 위한 Amazon Simple Queue Service(Amazon SQS) 대기열 또는 Amazon Simple Notification Service(SNS) 주제 대상입니다.  
*유형*: [DestinationConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-destinationconfig)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[DestinationConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-destinationconfig)` 속성으로 직접 전달됩니다.

 `Enabled`   <a name="sam-function-kinesis-enabled"></a>
이벤트 소스 매핑을 비활성화하여 폴링 및 간접 호출을 일시 중지합니다.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[Enabled](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-enabled)` 속성으로 직접 전달됩니다.

 `FilterCriteria`   <a name="sam-function-kinesis-filtercriteria"></a>
Lambda가 이벤트를 처리해야 하는지 결정하는 기준을 정의하는 객체입니다. 자세한 내용은 [AWS Lambda 개발자 가이드](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html)의 *AWS Lambda 이벤트 필터링*을 참조하세요.  
*유형*: [FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)` 속성으로 직접 전달됩니다.

 `FunctionResponseTypes`   <a name="sam-function-kinesis-functionresponsetypes"></a>
이벤트 소스 매핑에 현재 적용된 응답 유형의 목록입니다. 자세한 내용은 *AWS Lambda Developer Guide의* [ Reporting batch item failures](https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html#services-kinesis-batchfailurereporting)를 참조하세요.  
*유효한 값*: `ReportBatchItemFailures`  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[FunctionResponseTypes](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-functionresponsetypes)` 속성으로 직접 전달됩니다.

 `KmsKeyArn`   <a name="sam-function-kinesis-kmskeyarn"></a>
이 이벤트와 관련된 정보를 암호화하는 키의 Amazon 리소스 이름(ARN)입니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[KmsKeyArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-kmskeyarn)` 속성으로 직접 전달됩니다.

 `MaximumBatchingWindowInSeconds`   <a name="sam-function-kinesis-maximumbatchingwindowinseconds"></a>
함수를 호출하기 전에 기록을 수집할 최대 기간(단위: 초)입니다.  
*유형*: 정수  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[MaximumBatchingWindowInSeconds](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumbatchingwindowinseconds)` 속성으로 직접 전달됩니다.

 `MaximumRecordAgeInSeconds`   <a name="sam-function-kinesis-maximumrecordageinseconds"></a>
Lambda가 처리를 위해 함수에 보내는 기록의 최대 사용 기간입니다.  
*유형*: 정수  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[MaximumRecordAgeInSeconds](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumrecordageinseconds)` 속성으로 직접 전달됩니다.

 `MaximumRetryAttempts`   <a name="sam-function-kinesis-maximumretryattempts"></a>
함수가 오류를 반환할 때 재시도하는 최대 횟수입니다.  
*유형*: 정수  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[MaximumRetryAttempts](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumretryattempts)` 속성으로 직접 전달됩니다.

 `MetricsConfig`   <a name="sam-function-kinesis-metricsconfig"></a>
처리 단계별로 캡처하는 이벤트 소스 매핑에 대한 향상된 지표를 얻기 위한 옵트인 구성입니다. 예제는 [MetricsConfig 이벤트](sam-property-function-dynamodb.md#sam-property-function-dynamodb-example-metricsconfigevent) 섹션을 참조하세요.  
*유형*: [MetricsConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-metricsconfig)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[MetricsConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-metricsconfig)` 속성으로 직접 전달됩니다.

 `ParallelizationFactor`   <a name="sam-function-kinesis-parallelizationfactor"></a>
각 샤드에서 동시에 처리할 배치의 수입니다.  
*유형*: 정수  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[ParallelizationFactor](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-parallelizationfactor)` 속성으로 직접 전달됩니다.

 `StartingPosition`   <a name="sam-function-kinesis-startingposition"></a>
읽기를 시작하는 스트림 내의 위치입니다.  
+ `AT_TIMESTAMP` - 기록 읽기를 시작할 시간을 지정합니다.
+ `LATEST` – 새 기록만 읽습니다.
+ `TRIM_HORIZON` – 사용 가능한 모든 기록을 처리합니다.
*유효한 값*: `AT_TIMESTAMP` \$1 `LATEST` \$1 `TRIM_HORIZON`  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[StartingPosition](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-startingposition)` 속성으로 직접 전달됩니다.

 `StartingPositionTimestamp`   <a name="sam-function-kinesis-startingpositiontimestamp"></a>
읽기를 시작하는 시간(유닉스 시간 초 단위)입니다. `StartingPositionTimestamp` 언제 `StartingPosition`를 `AT_TIMESTAMP`으로 지정할지 정의합니다.  
*유형*: Double  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[StartingPositionTimestamp](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-startingpositiontimestamp)` 속성으로 직접 전달됩니다.

 `Stream`   <a name="sam-function-kinesis-stream"></a>
데이터 스트림 혹은 스트림 컨슈머의 Amazon 리소스 이름(ARN).  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[EventSourceArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-eventsourcearn)` 속성으로 직접 전달됩니다.

 `TumblingWindowInSeconds`   <a name="sam-function-kinesis-tumblingwindowinseconds"></a>
처리 윈도우 기간(초 단위). 유효한 범위는 1 \$1 900입니다(15분).  
자세한 내용은 [ 개발자 가이드](https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html#streams-tumbling)의 *AWS Lambda Tumbling windows*를 참조하세요.  
*유형*: 정수  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[TumblingWindowInSeconds](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-tumblingwindowinseconds)` 속성으로 직접 전달됩니다.

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

### MetricsConfig 이벤트
<a name="sam-property-function-kinesis-example-metricsconfigevent"></a>

다음은 이벤트 소스 매핑에 대한 처리 단계별 캡처를 위해 `MetricsConfig` 속성을 사용하는 리소스의 예시입니다.

```
Resources:
  FilteredEventsFunction:
    Type: AWS::Serverless::Function
    Properties:
      CodeUri: s3://sam-demo-bucket/metricsConfig.zip
      Handler: index.handler
      Runtime: nodejs16.x
      Events:
        KinesisStream:
          Type: Kinesis
          Properties:
            Stream: !GetAtt KinesisStream.Arn
            StartingPosition: LATEST
            MetricsConfig:
              Metrics:
              - EventCount
```

### Kinesis 이벤트 소스
<a name="sam-property-function-kinesis--examples--kinesis-event-source"></a>

다음은 Kinesis 이벤트 소스의 예입니다.

#### YAML
<a name="sam-property-function-kinesis--examples--kinesis-event-source--yaml"></a>

```
Events:
  KinesisEvent:
    Type: Kinesis
    Properties:
      Stream: arn:aws:kinesis:us-east-1:123456789012:stream/my-stream
      StartingPosition: TRIM_HORIZON
      BatchSize: 10
      Enabled: false
      FilterCriteria: 
        Filters: 
          - Pattern: '{"key": ["val1", "val2"]}'
```

# MQ
<a name="sam-property-function-mq"></a>

`MQ` 이벤트 소스 유형을 설명하는 객체. 자세한 내용은 [ 개발자 가이드](https://docs.aws.amazon.com/lambda/latest/dg/with-mq.html)의 *AWS Lambda Amazon MQ로 Lambda 이용하기*를 참조하세요.

AWS Serverless Application Model (AWS SAM)는이 이벤트 유형이 설정되면 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html) 리소스를 생성합니다.

**참고**  
공개 네트워크의 Lambda 함수에 연결되는 Virtual Private Cloud(VPC) 에 Amazon MQ 대기열을 두려면 함수의 실행 역할에 다음 권한이 포함되어야 합니다.  
`ec2:CreateNetworkInterface`
`ec2:DeleteNetworkInterface`
`ec2:DescribeNetworkInterfaces`
`ec2:DescribeSecurityGroups`
`ec2:DescribeSubnets`
`ec2:DescribeVpcs`
자세한 내용은 [ 개발자 가이드](https://docs.aws.amazon.com/lambda/latest/dg/with-mq.html#events-mq-permissions)의 *AWS Lambda 실행 역할 권한*을 참조하세요.

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

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

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

```
  [BatchSize](#sam-function-mq-batchsize): Integer
  [Broker](#sam-function-mq-broker): String
  DynamicPolicyName: Boolean
  [Enabled](#sam-function-mq-enabled): Boolean
  [FilterCriteria](#sam-function-mq-filtercriteria): [FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)
  KmsKeyArn: String 
  [MaximumBatchingWindowInSeconds](#sam-function-mq-maximumbatchingwindowinseconds): Integer
  [Queues](#sam-function-mq-queues): List
  [SecretsManagerKmsKeyId](#sam-function-mq-secretsmanagerkmskeyid): String
  [SourceAccessConfigurations](#sam-function-mq-sourceaccessconfigurations): List
```

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

 `BatchSize`   <a name="sam-function-mq-batchsize"></a>
한 번의 배치에서 검색하는 최대 항목 수입니다.  
*유형*: 정수  
*필수 항목 여부*: 아니요  
*기본값*: 100  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[BatchSize](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-batchsize)` 속성으로 직접 전달됩니다.  
*최소*: `1`  
*최대*: `10000`

 `Broker`   <a name="sam-function-mq-broker"></a>
Amazon MQ 브로커의 Amazon 리소스 이름(ARN)입니다.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[EventSourceArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-eventsourcearn)` 속성으로 직접 전달됩니다.

 `DynamicPolicyName`   <a name="sam-function-mq-dynamicpolicyname"></a>
기본적으로 AWS Identity and Access Management (IAM) 정책 이름은 이전 버전과의 호환성을 `SamAutoGeneratedAMQPolicy` 위한 것입니다. IAM 정책을 위해 자동 생성된 이름을 사용하도록 `true`을 지정합니다. 이 이름에는 Amazon MQ 이벤트 소스 논리 ID가 포함됩니다.  
복수의 Amazon MQ 이벤트 소스를 사용하는 경우, IAM 정책 이름이 중복되지 않도록 `true`을 지정하십시오.
*유형*: 부울  
*필수 항목 여부*: 아니요  
*기본값*: `false`  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `Enabled`   <a name="sam-function-mq-enabled"></a>
`true`이면, 이벤트 소스 매핑이 활성 상태입니다. 폴링 및 간접 호출을 일시 중지하려면 `false`로 설정합니다.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[Enabled](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-enabled)` 속성으로 직접 전달됩니다.

 `FilterCriteria`   <a name="sam-function-mq-filtercriteria"></a>
Lambda가 이벤트를 처리해야 하는지 결정하는 기준을 정의하는 객체입니다. 자세한 내용은 [AWS Lambda 개발자 가이드](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html)의 *AWS Lambda 이벤트 필터링*을 참조하세요.  
*유형*: [FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)` 속성으로 직접 전달됩니다.

 `KmsKeyArn`   <a name="sam-function-mq-kmskeyarn"></a>
이 이벤트와 관련된 정보를 암호화하는 키의 Amazon 리소스 이름(ARN)입니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[KmsKeyArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-kmskeyarn)` 속성으로 직접 전달됩니다.

 `MaximumBatchingWindowInSeconds`   <a name="sam-function-mq-maximumbatchingwindowinseconds"></a>
함수를 호출하기 전에 기록을 수집할 최대 기간(단위: 초)입니다.  
*유형*: 정수  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[MaximumBatchingWindowInSeconds](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumbatchingwindowinseconds)` 속성으로 직접 전달됩니다.

 `Queues`   <a name="sam-function-mq-queues"></a>
소비할 Amazon MQ 브로커 대상 대기열의 이름입니다.  
*유형*: 목록  
*필수 항목 여부*: 예  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[Queues](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-queues)` 속성으로 직접 전달됩니다.

 `SecretsManagerKmsKeyId`   <a name="sam-function-mq-secretsmanagerkmskeyid"></a>
고객 관리형 키의 AWS Key Management Service (AWS KMS) 키 ID입니다 AWS Secrets Manager. `kms:Decrypt` 권한이 포함되지 않은 Lambda 실행 역할과 함께 Secrets Manager의 고객 관리형 키를 사용할 때 필요합니다.  
이 속성의 값은 UUID입니다. 예를 들어 `1abc23d4-567f-8ab9-cde0-1fab234c5d67`입니다.  
*유형*: 문자열  
*필수 항목 여부*: 조건부  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `SourceAccessConfigurations`   <a name="sam-function-mq-sourceaccessconfigurations"></a>
권한 부여 프로토콜 또는 가상 호스트의 배열입니다. [SourceAccessConfigurations](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-sourceaccessconfiguration.html) 데이터 유형을 사용하여 이를 지정하십시오.  
`MQ` 이벤트 소스 유형의 경우 유효한 구성 유형은 `BASIC_AUTH` 및 `VIRTUAL_HOST`뿐입니다.  
+ **`BASIC_AUTH`** - 귀하의 브로커 자격 증명을 저장하는 Secrets Manager 보안 암호입니다. 이 유형의 자격 증명은 다음 `{"username": "your-username", "password": "your-password"}` 형식이어야 합니다. `BASIC_AUTH` 유형의 객체는 오직 한 개만 허용됩니다.
+ **`VIRTUAL_HOST`** - RabbitMQ 브로커에 있는 가상 호스트의 이름입니다. Lambda는 이 Rabbit MQ의 호스트를 이벤트 소스로 사용합니다. `VIRTUAL_HOST` 유형의 객체는 오직 한 개만 허용됩니다.
*유형*: 목록  
*필수 항목 여부*: 예  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[SourceAccessConfigurations](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-sourceaccessconfigurations)` 속성으로 직접 전달됩니다.

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

### Amazon MQ 이벤트 소스
<a name="sam-property-function-mq--examples--amazon-mq-event-source"></a>

다음은 Amazon MQ 브로커의 `MQ` 이벤트 소스 유형 예시입니다.

#### YAML
<a name="sam-property-function-mq--examples--amazon-mq-event-source--yaml"></a>

```
Events:
  MQEvent:
    Type: MQ
    Properties:
      Broker: arn:aws:mq:us-east-2:123456789012:broker:MyBroker:b-1234a5b6-78cd-901e-2fgh-3i45j6k178l9
      Queues: List of queues
      SourceAccessConfigurations:
        - Type: BASIC_AUTH
          URI: arn:aws:secretsmanager:us-east-1:01234567890:secret:MyBrokerSecretName
      BatchSize: 200
      Enabled: true
```

# MSK
<a name="sam-property-function-msk"></a>

`MSK` 이벤트 소스 유형을 설명하는 객체. 자세한 내용은 *AWS Lambda 개발자 안내서*의 [Amazon MSK AWS Lambda 에서 사용을](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html) 참조하세요.

AWS Serverless Application Model (AWS SAM)는이 이벤트 유형이 설정되면 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html) 리소스를 생성합니다.

Schema Registry를 사용하려면 함수에 대한 특정 IAM 역할 권한을 정의해야 합니다. 필수 구성의 예시는 [IAM 역할로 설정 완료하기](#sam-property-function-msk-example-complete)를 참조하세요.

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

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

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

```
  [BatchSize](#sam-function-msk-batchsize): Integer
  [BisectBatchOnFunctionError](#sam-function-msk-bisectbatchonfunctionerror): Boolean
  [ConsumerGroupId](#sam-function-msk-consumergroupid): String
  DestinationConfig: [DestinationConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-destinationconfig.html)
  [Enabled](#sam-function-msk-enabled): Boolean
  [FilterCriteria](#sam-function-msk-filtercriteria): [FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)
  [FunctionResponseTypes](#sam-function-msk-functionresponsetypes): List
  KmsKeyArn: String
  [MaximumBatchingWindowInSeconds](#sam-function-msk-maximumbatchingwindowinseconds): Integer
  [MaximumRecordAgeInSeconds](#sam-function-msk-maximumrecordageinseconds): Integer
  [MaximumRetryAttempts](#sam-function-msk-maximumretryattempts): Integer
  [LoggingConfig](#sam-function-msk-loggingconfig): [LoggingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-loggingconfig.html)
  [MetricsConfig](#sam-function-msk-metricsconfig): [MetricsConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-metricsconfig.html)
  [ProvisionedPollerConfig](#sam-function-msk-provisionedpollerconfig): [ProvisionedPollerConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-provisionedpollerconfig)
  [SchemaRegistryConfig](#sam-function-msk-schemaregistryconfig): [SchemaRegistryConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-schemaregistryconfig.html)
  SourceAccessConfigurations: [SourceAccessConfigurations](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-sourceaccessconfigurations)
  [StartingPosition](#sam-function-msk-startingposition): String
  StartingPositionTimestamp: Double
  [Stream](#sam-function-msk-stream): String
  [Topics](#sam-function-msk-topics): List
```

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

 `BatchSize`   <a name="sam-function-msk-batchsize"></a>
Lambda가 스트림 또는 대기열에서 풀링하여 함수로 보내는 각 배치의 최대 레코드 수입니다. Lambda는 동기식 간접 호출에 대한 페이로드 제한(6MB)까지 단일 호출로 배치의 모든 레코드를 함수로 전달합니다.  
*기본값*: 100  
*유효 범위*: 최소값 1. 최대값은 10,000입니다.  
*유형*: 정수  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[BatchSize](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-batchsize)` 속성으로 직접 전달됩니다.

 `BisectBatchOnFunctionError`   <a name="sam-function-msk-bisectbatchonfunctionerror"></a>
함수가 오류를 제시하면 비치를 2개로 분할해서 다시 시도합니다.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[BisectBatchOnFunctionError](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-bisectbatchonfunctionerror)` 속성으로 직접 전달됩니다.

 `ConsumerGroupId`   <a name="sam-function-msk-consumergroupid"></a>
Kafka 주제에서 이벤트를 읽는 방법을 구성하는 문자열입니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[AmazonManagedKafkaConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html)` 속성으로 직접 전달됩니다.

 `DestinationConfig`   <a name="sam-function-msk-destinationconfig"></a>
Lambda가 이벤트를 처리한 후 이벤트의 대상을 지정하는 구성 객체입니다.  
이 속성을 사용하여 Amazon MSK 이벤트 소스에서 실패한 간접 호출의 대상을 지정합니다.  
*유형*: [DestinationConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-destinationconfig)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[ DestinationConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-destinationconfig.html)` 속성으로 직접 전달됩니다.

 `Enabled`   <a name="sam-function-msk-enabled"></a>
이벤트 소스 매핑을 비활성화하여 폴링 및 간접 호출을 일시 중지합니다.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[Enabled](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-enabled)` 속성으로 직접 전달됩니다.

 `FilterCriteria`   <a name="sam-function-msk-filtercriteria"></a>
Lambda가 이벤트를 처리해야 하는지 결정하는 기준을 정의하는 객체입니다. 자세한 내용은 [AWS Lambda 개발자 가이드](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html)의 *AWS Lambda 이벤트 필터링*을 참조하세요.  
*유형*: [FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)` 속성으로 직접 전달됩니다.

 `FunctionResponseTypes`   <a name="sam-function-msk-functionresponsetypes"></a>
이벤트 소스 매핑에 현재 적용된 응답 유형의 목록입니다. 자세한 내용은 *AWS Lambda Developer Guide의* [ Reporting batch item failures](https://docs.aws.amazon.com/lambda/latest/dg/kafka-retry-configurations.html)를 참조하세요.  
*유효한 값*: `ReportBatchItemFailures`  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[FunctionResponseTypes](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-functionresponsetypes)` 속성으로 직접 전달됩니다.

 `KmsKeyArn`   <a name="sam-function-msk-kmskeyarn"></a>
이 이벤트와 관련된 정보를 암호화하는 키의 Amazon 리소스 이름(ARN)입니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[KmsKeyArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-kmskeyarn)` 속성으로 직접 전달됩니다.

 `MaximumBatchingWindowInSeconds`   <a name="sam-function-msk-maximumbatchingwindowinseconds"></a>
함수를 호출하기 전에 기록을 수집할 최대 기간(단위: 초)입니다.  
*유형*: 정수  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[MaximumBatchingWindowInSeconds](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumbatchingwindowinseconds)` 속성으로 직접 전달됩니다.

 `MaximumRecordAgeInSeconds`   <a name="sam-function-msk-maximumrecordageinseconds"></a>
Lambda가 처리를 위해 함수에 보내는 기록의 최대 사용 기간입니다.  
*유형*: 정수  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[MaximumRecordAgeInSeconds](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumrecordageinseconds)` 속성으로 직접 전달됩니다.

 `MaximumRetryAttempts`   <a name="sam-function-msk-maximumretryattempts"></a>
함수가 오류를 반환할 때 재시도하는 최대 횟수입니다.  
*유형*: 정수  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[MaximumRetryAttempts](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumretryattempts)` 속성으로 직접 전달됩니다.

 `LoggingConfig`   <a name="sam-function-msk-loggingconfig"></a>
이벤트 소스 매핑에 대한 로깅 구성을 지정하는 구성 객체입니다.  
*Type*: [LoggingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-loggingconfig.html)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[LoggingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-loggingconfig.html)` 속성으로 직접 전달됩니다.

 `MetricsConfig`   <a name="sam-function-msk-metricsconfig"></a>
이벤트 소스 매핑에 대한 지표 구성을 지정하는 구성 객체입니다.  
*유형*: [MetricsConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-metricsconfig.html)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[MetricsConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-metricsconfig.html)` 속성으로 직접 전달됩니다.

 `ProvisionedPollerConfig`   <a name="sam-function-msk-provisionedpollerconfig"></a>
이벤트 소스 매핑을 컴퓨팅하는 데 사용되는 폴러의 양을 늘리기 위한 구성입니다. 이 구성은 최소 1개의 폴러와 최대 2,000개의 폴러를 허용합니다. 예시는 [ProvisionedPollerConfig 예시](#sam-property-function-msk-example-provisionedpollerconfig)에서 확인하세요.  
*유형*: [ProvisionedPollerConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-provisionedpollerconfig)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[ProvisionedPollerConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-provisionedpollerconfig)` 속성으로 직접 전달됩니다.

`SchemaRegistryConfig`  <a name="sam-function-msk-schemaregistryconfig"></a>
Kafka 이벤트 소스와 스키마 레지스트리를 사용하기 위한 구성입니다.  
이 기능에는 `ProvisionedPollerConfig` 구성이 필요합니다.
*유형*: SchemaRegistryConfig  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성:*이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[AmazonManagedKafkaEventSourceConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-amazonmanagedkafkaeventsourceconfig)` 속성으로 직접 전달됩니다.

 `SourceAccessConfigurations`   <a name="sam-function-msk-sourceaccessconfigurations"></a>
이벤트 소스를 보호하고 정의하는 데 사용되는 인증 프로토콜, VPC 구성 요소 또는 가상 호스트의 배열입니다.  
*유효한 값*: `CLIENT_CERTIFICATE_TLS_AUTH`  
*유형*: [SourceAccessConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-sourceaccessconfiguration.html) 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성:*이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 [AmazonManagedKafkaEventSourceConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-properties-lambda-eventsourcemapping-amazonmanagedkafkaeventsourceconfig) 속성의 일부입니다.

 `StartingPosition`   <a name="sam-function-msk-startingposition"></a>
읽기를 시작하는 스트림 내의 위치입니다.  
+ `AT_TIMESTAMP` - 기록 읽기를 시작할 시간을 지정합니다.
+ `LATEST` – 새 기록만 읽습니다.
+ `TRIM_HORIZON` – 사용 가능한 모든 기록을 처리합니다.
*유효한 값*: `AT_TIMESTAMP` \$1 `LATEST` \$1 `TRIM_HORIZON`  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[StartingPosition](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-startingposition)` 속성으로 직접 전달됩니다.

 `StartingPositionTimestamp`   <a name="sam-function-msk-startingpositiontimestamp"></a>
읽기를 시작하는 시간(유닉스 시간 초 단위)입니다. `StartingPositionTimestamp` 언제 `StartingPosition`를 `AT_TIMESTAMP`으로 지정할지 정의합니다.  
*유형*: Double  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[StartingPositionTimestamp](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-startingpositiontimestamp)` 속성으로 직접 전달됩니다.

 `Stream`   <a name="sam-function-msk-stream"></a>
데이터 스트림 혹은 스트림 컨슈머의 Amazon 리소스 이름(ARN).  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[EventSourceArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-eventsourcearn)` 속성으로 직접 전달됩니다.

 `Topics`   <a name="sam-function-msk-topics"></a>
Kafka 주제의 이름입니다.  
*유형*: 목록  
*필수 항목 여부*: 예  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[Topics](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-topics)` 속성으로 직접 전달됩니다.

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

### IAM 역할로 설정 완료
<a name="sam-property-function-msk-example-complete"></a>

다음 예시는 Schema Registry 사용을 위해 필요한 IAM 역할 구성을 포함한 완료된 설정을 보여줍니다.

```
Parameters:
  PreCreatedSubnetOne:
    Type: String
  PreCreatedSubnetTwo:
    Type: String
  MskClusterName4:
    Type: String

Resources:
  MyLambdaExecutionRole:
    Type: AWS::IAM::Role
    Properties:
      AssumeRolePolicyDocument:
        Version: '2012-10-17		 	 	 '
        Statement:
        - Action: [sts:AssumeRole]
          Effect: Allow
          Principal:
            Service: [lambda.amazonaws.com]
      Policies:
      - PolicyName: KafkaClusterPermissions
        PolicyDocument:
          Statement:
          - Action: [kafka:DescribeClusterV2, kafka:GetBootstrapBrokers]
            Effect: Allow
            Resource: 'arn:aws:kafka:us-east-1:123456789012:cluster/*'
      - PolicyName: KafkaAuthPolicy
        PolicyDocument:
          Statement:
          - Action: [secretsmanager:GetSecretValue, kms:Decrypt]
            Effect: "Allow"
            Resource: ['arn:aws:secretsmanager:us-west-2:123456789012:secret:kafkaSecret-******',
                        'arn:aws:kms:us-west-2:123456789012:key/keyId']
      - PolicyName: ENIPolicy
        PolicyDocument:
          Statement:
          - Action: [ec2:CreateNetworkInterface,
              ec2:DescribeNetworkInterfaces, ec2:DescribeVpcs, ec2:DeleteNetworkInterface,
              ec2:DescribeSubnets, ec2:DescribeSecurityGroups]
            Effect: Allow
            Resource: '*'
      - PolicyName: SchemaRegistryPolicy
        PolicyDocument:
          Statement:
          - Action: [glue:GetRegistry]
            Effect: Allow
            Resource: 'arn:aws:glue:{region}:{account-id}:registry/{registry-name}'
      - PolicyName: SchemaVersionsPolicy
        PolicyDocument:
          Statement:
          - Action: [glue:GetSchemaVersions]
            Effect: Allow
            Resource: '*'
      ManagedPolicyArns:
      - !Sub arn:${AWS::Partition}:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole
      Tags:
      - {Value: SAM, Key: lambda:createdBy}

  MyMskCluster:
    Type: AWS::MSK::Cluster
    Properties:
      BrokerNodeGroupInfo:
        ClientSubnets:
        - Ref: PreCreatedSubnetOne
        - Ref: PreCreatedSubnetTwo
        InstanceType: kafka.t3.small
        StorageInfo:
          EBSStorageInfo:
            VolumeSize: 1
      ClusterName:
        Ref: MskClusterName4
      KafkaVersion: 3.8.x
      NumberOfBrokerNodes: 2

  MyMskStreamProcessor:
    Type: AWS::Serverless::Function
    Properties:
      Runtime: nodejs18.x
      Handler: index.handler
      CodeUri: ${codeuri}
      Role:
        Fn::GetAtt: [MyLambdaExecutionRole, Arn]
      Events:
        MyMskEvent:
          Type: MSK
          Properties:
            StartingPosition: LATEST
            Stream:
              Ref: MyMskCluster
            SourceAccessConfigurations:
            - Type: SASL_SCRAM_512_AUTH
              URI: !Sub arn:${AWS::Partition}:secretsmanager:us-west-2:123456789012:secret:my-path/my-secret-name-1a2b3c
            Topics:
            - SchemaRegistryTestTopic
            ProvisionedPollerConfig:
              MinimumPollers: 1
            SchemaRegistryConfig:
              AccessConfigs:
              - Type: BASIC_AUTH
                URI: !Sub arn:${AWS::Partition}:secretsmanager:us-west-2:123456789012:secret:my-path/my-secret-name-1a2b3c
              SchemaValidationConfigs:
              - Attribute: KEY
              EventRecordFormat: JSON
              SchemaRegistryURI: !Sub arn:${AWS::Partition}:glue:us-west-2:123456789012:registry/myregistry
```

### ProvisionedPollerConfig 예시
<a name="sam-property-function-msk-example-provisionedpollerconfig"></a>

```
ProvisionedPollerConfig:
  MinimumPollers: 1
  MaximumPollers: 200
```

### 기존 클러스터를 위한 Amazon MSK 예제
<a name="sam-property-function-msk--examples--amazon-msk-example-for-existing-cluster"></a>

다음은 이미 AWS 계정에 존재하는 Amazon MSK 클러스터의 `MSK` 이벤트 소스 유형의 예입니다.

#### YAML
<a name="sam-property-function-msk--examples--amazon-msk-example-for-existing-cluster--yaml"></a>

```
Events:
  MSKEvent:
    Type: MSK
    Properties:
      StartingPosition: LATEST
      Stream: arn:aws:kafka:us-east-1:012345678012:cluster/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2
      Topics:
        - MyTopic
```

### 동일한 템플릿에 선언된 클러스터에 대한 Amazon MSK 예제
<a name="sam-property-function-msk--examples--amazon-msk-example-for-cluster-declared-in-same-template"></a>

다음은 동일한 템플릿 파일에 선언된 Amazon MSK 클러스터의 `MSK` 이벤트 소스 유형입니다.

#### YAML
<a name="sam-property-function-msk--examples--amazon-msk-example-for-cluster-declared-in-same-template--yaml"></a>

```
Events:
  MSKEvent:
    Type: MSK
    Properties:
      StartingPosition: LATEST
      Stream:
        Ref: MyMskCluster   # This must be the name of an MSK cluster declared in the same template file
      Topics:
        - MyTopic
```

#### Schema Registry를 사용한 MSK 이벤트 소스
<a name="sam-property-function-msk-example-schemaregistry"></a>

다음은 Schema Registry로 구성된 `MSK` 이벤트 소스 유형의 예시입니다.

```
Events:
  MSKEvent:
    Type: MSK
    Properties:
      StartingPosition: LATEST
      Stream:
        Ref: MyMskCluster
      Topics:
        - SchemaRegistryTestTopic
      ProvisionedPollerConfig:
        MinimumPollers: 1
      SchemaRegistryConfig:
        SchemaRegistryURI: !Sub arn:${AWS::Partition}:glue:us-west-2:123456789012:registry/myregistry
        EventRecordFormat: JSON
        SchemaValidationConfigs:
          - Attribute: KEY
          - Attribute: VALUE
```

#### Confluent Schema Registry를 사용한 MSK 이벤트 소스
<a name="sam-property-function-msk-example-schemaregistry-confluent"></a>

다음은 Confluent Schema Registry로 구성된 `MSK` 이벤트 소스 유형의 예시입니다.

```
Events:
  MSKEvent:
    Type: MSK
    Properties:
      StartingPosition: LATEST
      Stream:
        Ref: MyMskCluster
      Topics:
        - SchemaRegistryTestTopic
      ProvisionedPollerConfig:
        MinimumPollers: 1
      SchemaRegistryConfig:
        SchemaRegistryURI: https://my-schema-registry.confluent.cloud
        AccessConfigs:
          - Type: BASIC_AUTH
            URI: !Sub arn:${AWS::Partition}:secretsmanager:us-west-2:123456789012:secret:my-secret
        EventRecordFormat: JSON
        SchemaValidationConfigs:
          - Attribute: KEY
          - Attribute: VALUE
```

# S3
<a name="sam-property-function-s3"></a>

`S3` 이벤트 소스 유형을 설명하는 객체.

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

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

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

```
  [Bucket](#sam-function-s3-bucket): String
  [Events](#sam-function-s3-events): String | List
  [Filter](#sam-function-s3-filter): [NotificationFilter](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfiguration-config-filter.html)
```

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

 `Bucket`   <a name="sam-function-s3-bucket"></a>
S3 버킷 이름 이 버킷은 같은 템플릿 내에 있어야 합니다.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::S3::Bucket` 리소스의 `[BucketName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket.html#cfn-s3-bucket-name)` 속성과 유사합니다. 이것은 SAM에 속한 필수적 필드입니다. 이 필드는 이 템플릿에서 생성된 S3 버킷에 대한 참조만 허용합니다.

 `Events`   <a name="sam-function-s3-events"></a>
Lambda 함수의 호출 목적이 되는 Amazon S3 버킷 이벤트입니다. 유효한 값 목록은 [Amazon S3 지원 이벤트 유형](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html#supported-notification-event-types)을 참조하세요  
*형식*: 문자열 \$1 목록  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::S3::Bucket` `LambdaConfiguration` 데이터 유형의 `[Event](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfig-lambdaconfig.html#cfn-s3-bucket-notificationconfig-lambdaconfig-event)` 속성으로 직접 전달됩니다.

 `Filter`   <a name="sam-function-s3-filter"></a>
어느 Amazon S3 객체가 Lambda 함수를 호출할 것인지 결정하는 필터링 규칙입니다. Amazon S3 키 이름 필터링에 대한 자세한 내용은 [Amazon Simple Storage Service 개발자 안내서](https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html)의 *Amazon S3 이벤트 알림 구성*을 참조하세요.  
*유형*: [NotificationFilter](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfiguration-config-filter.html)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::S3::Bucket` `LambdaConfiguration` 데이터 유형의 `[Filter](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-s3-bucket-notificationconfiguration-config-filter.html)` 속성으로 직접 전달됩니다.

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

### S3-이벤트
<a name="sam-property-function-s3--examples--s3-event"></a>

S3 이벤트의 예시.

#### YAML
<a name="sam-property-function-s3--examples--s3-event--yaml"></a>

```
Events:
  S3Event:
    Type: S3
    Properties:
      Bucket:
        Ref: ImagesBucket     # This must be the name of an S3 bucket declared in the same template file
      Events: s3:ObjectCreated:*
      Filter:
        S3Key:
          Rules:
          - Name: prefix      # or "suffix"
            Value: value      # The value to search for in the S3 object key names
```

# Schedule
<a name="sam-property-function-schedule"></a>

`Schedule` 이벤트 소스 유형을 설명하는 객체로, 이는 귀하의 서버리스 함수를 일정에 따라 트리거되는 Amazon EventBridge 규칙의 대상으로 설정합니다. 자세한 내용은 [Amazon EventBridge 사용자 가이드](https://docs.aws.amazon.com/eventbridge/latest/userguide/what-is-amazon-eventbridge.html)의 *What Is Amazon EventBridge?(Amazon EventBridge란?)*을 참조하십시오.

AWS Serverless Application Model (AWS SAM)는이 이벤트 유형이 설정되면 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html) 리소스를 생성합니다.

**참고**  
EventBridge는 이제 새로운 예약 기능인 [Amazon EventBridgeScheduler](https://docs.aws.amazon.com/scheduler/latest/UserGuide/what-is-scheduler.html)를 제공합니다. Amazon EventBridge Scheduler은 하나의 중앙 관리형 서비스에서 작업을 생성, 실행 및 관리할 수 있는 서버리스 스케줄러입니다. EventBridge Scheduler은 고도로 사용자 지정이 가능하며, 더 광범위한 대상 API 작업 세트 및 AWS 서비스를 갖춤으로써 EventBridge의 예정된 규칙보다 향상된 확장성을 제공합니다.  
일정에 따라 EventBridge Scheduler을 사용하여 대상을 간접 호출하는 것이 좋습니다. AWS SAM 템플릿에서이 이벤트 소스 유형을 정의하려면 섹션을 참조하세요[ScheduleV2](sam-property-function-schedulev2.md).

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

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

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

```
  [DeadLetterConfig](#sam-function-schedule-deadletterconfig): DeadLetterConfig
  [Description](#sam-function-schedule-description): String
  [Enabled](#sam-function-schedule-enabled): Boolean
  [Input](#sam-function-schedule-input): String
  [Name](#sam-function-schedule-name): String
  [RetryPolicy](#sam-function-schedule-retrypolicy): [RetryPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-retrypolicy)
  [Schedule](#sam-function-schedule-schedule): String
  [State](#sam-function-schedule-state): String
```

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

 `DeadLetterConfig`   <a name="sam-function-schedule-deadletterconfig"></a>
대상 호출이 실패한 경우 EventBridge가 이벤트를 전송하는 Amazon Simple Queue Service(Amazon SQS) 대기열을 구성합니다. 예를 들어 존재하지 않는 Lambda 함수로 이벤트를 전송하거나 EventBridge에 Lambda 함수를 간접 호출할 권한이 충분하지 않은 경우 간접 호출이 실패할 수 있습니다. 자세한 내용은 *Amazon EventBridge 사용자 가이드*의 [이벤트 재시도 정책 및 DLQ(Dead Letter Queue) 사용](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html)을 참조하세요.  
[AWS::Serverless::Function](sam-resource-function.md) 리소스 유형에는 유사한 데이터 유형인`DeadLetterQueue`가 있으며, 이는 대상 Lambda 함수를 성공적으로 호출한 후 발생하는 장애를 처리합니다. 이러한 유형의 실패의 예로는 Lambda 제한 또는 Lambda 대상 함수에서 표시되는 오류가 있습니다. 함수 `DeadLetterQueue` 속성에 대한 자세한 내용은 *AWS Lambda 개발자 가이드*의 [DLQ(Dead Letter Queue)](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-dlq)를 참조하세요.
*유형*: [DeadLetterConfig](sam-property-function-scheduledeadletterconfig.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Events::Rule` `Target` 데이터 유형의 `[DeadLetterConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-deadletterconfig)` 속성과 유사합니다. 이 속성의 AWS SAM 버전에는 배달 못한 편지 대기열 AWS SAM 을 생성하려는 경우 추가 하위 속성이 포함됩니다.

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

 `Enabled`   <a name="sam-function-schedule-enabled"></a>
규칙을 활성화할지를 나타냅니다.  
규칙을 비활성화하려면 이 속성을 `false`로 설정합니다.  
`Enabled` 또는 `State` 속성을 지정할 수 있지만, 두 속성을 함께 지정할 수는 없습니다.
*유형*: 부울  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Events::Rule` 리소스의 `[State](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-state)` 속성과 유사합니다. 이 속성이 로 설정된 경우를 `true` AWS SAM 전달하고`ENABLED`, 그렇지 않으면를 전달합니다`DISABLED`.

 `Input`   <a name="sam-function-schedule-input"></a>
대상으로 전달되는 유효한 JSON 텍스트입니다. 이 속성을 사용하면 이벤트 텍스트 자체의 어떤 것도 대상으로 전달되지 않습니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Events::Rule Target` 리소스의 `[Input](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-input)` 속성으로 직접 전달됩니다.

 `Name`   <a name="sam-function-schedule-name"></a>
규칙의 이름입니다. 이름을 지정하지 않으면는 고유한 물리적 ID를 CloudFormation 생성하고 규칙 이름에 해당 ID를 사용합니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Events::Rule` 리소스의 `[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-name)` 속성으로 직접 전달됩니다.

 `RetryPolicy`   <a name="sam-function-schedule-retrypolicy"></a>
재시도 정책 설정에 대한 정보가 포함된 `RetryPolicy` 객체입니다. 자세한 내용은 *Amazon EventBridge 사용자 가이드*의 [이벤트 재시도 정책 및 DLQ(Dead Letter Queue) 사용](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html)을 참조하세요.  
*유형*: [RetryPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-retrypolicy)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Events::Rule` `Target` 데이터 유형의 `[RetryPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-retrypolicy)` 속성으로 직접 전달됩니다.

 `Schedule`   <a name="sam-function-schedule-schedule"></a>
규칙 실행 시기 및 방법을 결정하는 스케줄링 표현식입니다. 자세한 내용은 [규칙에 대한 예약 표현식](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule-schedule.html)을 참조하세요.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::Events::Rule` 리소스의 `[ScheduleExpression](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-scheduleexpression)` 속성으로 직접 전달됩니다.

 `State`   <a name="sam-function-schedule-state"></a>
규칙의 상태입니다.  
*허용되는 값:* `DISABLED | ENABLED`  
`Enabled` 또는 `State` 속성을 지정할 수 있지만, 두 속성을 함께 지정할 수는 없습니다.
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Events::Rule` 리소스의 `[State](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-state)` 속성으로 직접 전달됩니다.

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

### CloudWatch Schedule Event
<a name="sam-property-function-schedule--examples--cloudwatch-schedule-event"></a>

CloudWatch Schedule Events

#### YAML
<a name="sam-property-function-schedule--examples--cloudwatch-schedule-event--yaml"></a>

```
CWSchedule:
  Type: Schedule
  Properties:
    Schedule: 'rate(1 minute)'
    Name: TestSchedule
    Description: test schedule
    Enabled: false
```

# DeadLetterConfig
<a name="sam-property-function-scheduledeadletterconfig"></a>

대상 호출 실패 후 EventBridge가 이벤트를 전송하는 Amazon Simple Queue Service(Amazon SQS) 대기열을 지정하는 데 사용되는 객체입니다. 예를 들어 존재하지 않는 Lambda 함수로 이벤트를 전송하거나 Lambda 함수를 호출할 권한이 충분하지 않은 경우 간접 호출이 실패할 수 있습니다. 자세한 내용은 *Amazon EventBridge 사용자 가이드*의 [이벤트 재시도 정책 및 DLQ(Dead Letter Queue) 사용](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html)을 참조하세요.

**참고**  
[AWS::Serverless::Function](sam-resource-function.md) 리소스 유형에는 유사한 데이터 유형인`DeadLetterQueue`가 있으며, 이는 대상 Lambda 함수를 성공적으로 호출한 후 발생하는 장애를 처리합니다. 이러한 유형의 실패의 예로는 Lambda 제한 또는 Lambda 대상 함수에서 반환되는 오류가 있습니다. 함수 `DeadLetterQueue` 속성에 대한 자세한 내용은 *AWS Lambda 개발자 가이드*의 [DLQ(Dead Letter Queue)](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-dlq)를 참조하세요.

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

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

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

```
  [Arn](#sam-function-scheduledeadletterconfig-arn): String
  [QueueLogicalId](#sam-function-scheduledeadletterconfig-queuelogicalid): String
  [Type](#sam-function-scheduledeadletterconfig-type): String
```

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

 `Arn`   <a name="sam-function-scheduledeadletterconfig-arn"></a>
DLQ(Dead Letter Queue)의 대상으로 지정된 Amazon SQS 대기열의 Amazon 리소스 이름(ARN)입니다.  
`Type` 속성 또는 `Arn` 속성 중 하나만 지정해야 하며, 둘 다 지정할 수는 없습니다.
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Events::Rule` `DeadLetterConfig` 데이터 유형의 `[Arn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-deadletterconfig.html#cfn-events-rule-deadletterconfig-arn)` 속성으로 직접 전달됩니다.

 `QueueLogicalId`   <a name="sam-function-scheduledeadletterconfig-queuelogicalid"></a>
가 지정된 경우가 AWS SAM 생성하는 배달 못한 편지 대기열의 사용자 지정 이름`Type`입니다.  
`Type` 속성이 설정되지 않은 경우 이 속성은 무시됩니다.
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `Type`   <a name="sam-function-scheduledeadletterconfig-type"></a>
대기열 유형. 이 속성이 설정되면는 배달 못한 편지 대기열을 AWS SAM 자동으로 생성하고 필요한 [리소스 기반 정책을](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html#dlq-perms) 연결하여 대기열로 이벤트를 전송할 수 있는 규칙 리소스에 권한을 부여합니다.  
`Type` 속성 또는 `Arn` 속성 중 하나만 지정해야 하며, 둘 다 지정할 수는 없습니다.
*유효한 값*: `SQS`  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

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

### DeadLetterConfig
<a name="sam-property-function-scheduledeadletterconfig--examples--deadletterconfig"></a>

DeadLetterConfig

#### YAML
<a name="sam-property-function-scheduledeadletterconfig--examples--deadletterconfig--yaml"></a>

```
DeadLetterConfig:
  Type: SQS
  QueueLogicalId: MyDLQ
```

# ScheduleV2
<a name="sam-property-function-schedulev2"></a>

`ScheduleV2` 이벤트 소스 유형을 설명하는 객체로, 이는 귀하의 서버리스 함수를 일정에 따라 트리거되는 Amazon EventBridge Scheduler 이벤트의 대상으로 설정합니다. 자세한 내용은 EventBridge Scheduler 사용 설명서**의 [Amazon EventBridge Scheduler란 무엇인가요?](https://docs.aws.amazon.com/scheduler/latest/UserGuide/what-is-scheduler.html)를 참조하세요.

AWS Serverless Application Model (AWS SAM)는이 이벤트 유형이 설정되면 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html) 리소스를 생성합니다.

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

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

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

```
[DeadLetterConfig](#sam-function-schedulev2-deadletterconfig): DeadLetterConfig
[Description](#sam-function-schedulev2-description): String
[EndDate](#sam-function-schedulev2-enddate): String
[FlexibleTimeWindow](#sam-function-schedulev2-flexibletimewindow): FlexibleTimeWindow
[GroupName](#sam-function-schedulev2-groupname): String
[Input](#sam-function-schedulev2-input): String
[KmsKeyArn](#sam-function-schedulev2-kmskeyarn): String
[Name](#sam-function-schedulev2-name): String
OmitName: Boolean
[PermissionsBoundary](#sam-function-schedulev2-permissionsboundary): String
[RetryPolicy](#sam-function-schedulev2-retrypolicy): RetryPolicy
[RoleArn](#sam-function-schedulev2-rolearn): String
[ScheduleExpression](#sam-function-schedulev2-schedule): String
[ScheduleExpressionTimezone](#sam-function-schedulev2-scheduleexpressiontimezone): String
[StartDate](#sam-function-schedulev2-startdate): String
[State](#sam-function-schedulev2-state): String
```

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

 `DeadLetterConfig`   <a name="sam-function-schedulev2-deadletterconfig"></a>
대상 호출이 실패한 경우 EventBridge가 이벤트를 전송하는 Amazon Simple Queue Service(Amazon SQS) 대기열을 구성합니다. 예를 들어 존재하지 않는 Lambda 함수로 이벤트를 전송하거나 EventBridge에 Lambda 함수를 간접 호출할 권한이 충분하지 않은 경우 간접 호출이 실패할 수 있습니다. 자세한 내용은 *EventBridge 스케줄러 사용자 가이드*의 [EventBridge 스케줄러용 DLQ 대기열 구성](https://docs.aws.amazon.com/scheduler/latest/UserGuide/configuring-schedule-dlq.html)을 참조하세요.  
[AWS::Serverless::Function](sam-resource-function.md) 리소스 유형에는 유사한 데이터 유형인`DeadLetterQueue`가 있으며, 이는 대상 Lambda 함수를 성공적으로 호출한 후 발생하는 장애를 처리합니다. 이러한 유형의 실패의 예로는 Lambda 제한 또는 Lambda 대상 함수에서 표시되는 오류가 있습니다. 함수 `DeadLetterQueue` 속성에 대한 자세한 내용은 *AWS Lambda 개발자 가이드*의 [DLQ(Dead Letter Queue)](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-dlq)를 참조하세요.
*유형*: [DeadLetterConfig](sam-property-function-scheduledeadletterconfig.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Scheduler::Schedule` `Target` 데이터 유형의 `[DeadLetterConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-target.html#cfn-scheduler-schedule-target-deadletterconfig)` 속성과 유사합니다. 이 속성의 AWS SAM 버전에는 배달 못한 편지 대기열 AWS SAM 을 생성하려는 경우 추가 하위 속성이 포함됩니다.

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

 `EndDate`   <a name="sam-function-schedulev2-enddate"></a>
일정이 대상을 간접 호출할 수 있는 날짜(UTC 기준)입니다. 일정의 반복 식에 따라 사용자가 지정하는 **EndDate** 또는 그 이전에 호출이 중지될 수 있습니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Scheduler::Schedule` 리소스의 `[EndDate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-enddate)` 속성으로 직접 전달됩니다.

 `FlexibleTimeWindow`   <a name="sam-function-schedulev2-flexibletimewindow"></a>
일정을 간접 호출할 수 있는 창을 구성할 수 있습니다.  
*유형*: [FlexibleTimeWindow](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-flexibletimewindow)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Scheduler::Schedule` 리소스의 `[FlexibleTimeWindow](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-flexibletimewindow)` 속성으로 직접 전달됩니다.

 `GroupName`   <a name="sam-function-schedulev2-groupname"></a>
이 일정과 연계하기 위한 일정 그룹의 이름입니다. 정의되지 않은 경우 기본 그룹이 사용됩니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Scheduler::Schedule` 리소스의 `[GroupName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-groupname)` 속성으로 직접 전달됩니다.

 `Input`   <a name="sam-function-schedulev2-input"></a>
대상으로 전달되는 유효한 JSON 텍스트입니다. 이 속성을 사용하면 이벤트 텍스트 자체의 어떤 것도 대상으로 전달되지 않습니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Scheduler::Schedule Target` 리소스의 `[Input](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-target.html#cfn-scheduler-schedule-target-input)` 속성으로 직접 전달됩니다.

 `KmsKeyArn`   <a name="sam-function-schedulev2-kmskeyarn"></a>
고객 데이터를 암호화하는 데 사용되는 KMS 키의 ARN.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Scheduler::Schedule` 리소스의 `[KmsKeyArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-kmskeyarn)` 속성으로 직접 전달됩니다.

 `Name`   <a name="sam-function-schedulev2-name"></a>
일정의 이름입니다. 이름을 지정하지 않으면는 형식으로 이름을 AWS SAM 생성하고 해당 ID를 일정 이름에 `Function-Logical-IDEvent-Source-Name` 사용합니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Scheduler::Schedule` 리소스의 `[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-name)` 속성으로 직접 전달됩니다.

`OmitName`  <a name="sam-function-schedulev2-omitname"></a>
기본적으로는 *<Function-logical-ID><event-source-name>* 형식의 일정 이름을 AWS SAM 생성하고 사용합니다. 고유한 물리적 ID를 CloudFormation 생성하도록 `true`하려면이 속성을 로 설정하고 대신 일정 이름에 사용합니다.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*기본값*: `false`  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 동등한 속성이 CloudFormation 없습니다.

 `PermissionsBoundary`   <a name="sam-function-schedulev2-permissionsboundary"></a>
역할에 대한 권한 경계 설정에 사용되는 정책의 ARN입니다.  
`PermissionsBoundary`가 정의된 경우 스케줄러 일정의 대상 IAM 역할에 동일한 경계를 AWS SAM 적용합니다.
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::IAM::Role` 리소스의 `[PermissionsBoundary](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html#cfn-iam-role-permissionsboundary)` 속성으로 직접 전달됩니다.

 `RetryPolicy`   <a name="sam-function-schedulev2-retrypolicy"></a>
재시도 정책 설정에 대한 정보가 포함된 **RetryPolicy** 객체입니다.  
*유형*: [RetryPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-target.html#cfn-scheduler-schedule-target-retrypolicy)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Scheduler::Schedule` `Target` 데이터 유형의 `[RetryPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-target.html#cfn-scheduler-schedule-target-retrypolicy)` 속성으로 직접 전달됩니다.

 `RoleArn`   <a name="sam-function-schedulev2-rolearn"></a>
스케줄이 호출될 때 EventBridge 스케줄러가 대상에 사용할 IAM 역할의 ARN입니다.  
*유형*: [RoleArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-target.html#cfn-scheduler-schedule-target-rolearn)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Scheduler::Schedule` `Target` 데이터 유형의 `[RoleArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-target.html#cfn-scheduler-schedule-target-rolearn)` 속성으로 직접 전달됩니다.

 `ScheduleExpression`   <a name="sam-function-schedulev2-scheduleexpression"></a>
스케줄러 일정 이벤트가 실행되는 시기와 빈도를 결정하는 스케줄링 표현식입니다.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::Scheduler::Schedule` 리소스의 `[ScheduleExpression](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-scheduleexpression)` 속성으로 직접 전달됩니다.

 `ScheduleExpressionTimezone`   <a name="sam-function-schedulev2-scheduleexpressiontimezone"></a>
스케줄링 표현식이 평가되는 시간대입니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Scheduler::Schedule` 리소스의 `[ScheduleExpressionTimezone](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-scheduleexpressiontimezone)` 속성으로 직접 전달됩니다.

 `StartDate`   <a name="sam-function-schedulev2-startdate"></a>
일정이 대상의 간접 호출을 시작할 수 있는 날짜(UTC 기준)입니다. 일정의 반복 식에 따라 사용자가 지정하는 **StartDate** 또는 그 이후에 호출이 발생할 수 있습니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Scheduler::Schedule` 리소스의 `[StartDate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-startdate)` 속성으로 직접 전달됩니다.

 `State`   <a name="sam-function-schedulev2-state"></a>
스케줄러 일정의 상태.  
*허용되는 값:* `DISABLED | ENABLED`  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Scheduler::Schedule` 리소스의 `[State](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-state)` 속성으로 직접 전달됩니다.

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

### ScheduleV2 리소스를 정의하는 기본 예제
<a name="sam-property-function-schedulev2--examples--example1"></a>

```
Resources:
  Function:
    Properties:
      ...
      Events:
        ScheduleEvent:
          Type: ScheduleV2
          Properties:
            ScheduleExpression: "rate(1 minute)"
        ComplexScheduleEvent:
          Type: ScheduleV2
          Properties:
            ScheduleExpression: rate(1 minute)
            FlexibleTimeWindow:
              Mode: FLEXIBLE
              MaximumWindowInMinutes: 5
            StartDate: '2022-12-28T12:00:00.000Z'
            EndDate: '2023-01-28T12:00:00.000Z'
            ScheduleExpressionTimezone: UTC
            RetryPolicy:
              MaximumRetryAttempts: 5
              MaximumEventAgeInSeconds: 300
            DeadLetterConfig:
              Type: SQS
```

**참고**  
ScheduleV2의 생성된 물리적 ID에는 스택 이름이 포함되지 않습니다.

# SelfManagedKafka
<a name="sam-property-function-selfmanagedkafka"></a>

`SelfManagedKafka` 이벤트 소스 유형을 설명하는 객체. 자세한 내용은 *AWS Lambda 개발자 안내서*의 [자체 관리형 Apache Kafka AWS Lambda 에서 사용을](https://docs.aws.amazon.com/lambda/latest/dg/with-kafka.html) 참조하세요.

AWS Serverless Application Model (AWS SAM)는이 이벤트 유형이 설정되면 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html) 리소스를 생성합니다.

Schema Registry를 사용하려면 함수에 대한 특정 IAM 역할 권한을 정의해야 합니다. 필수 구성의 예시는 [IAM 역할로 설정 완료하기](sam-property-function-msk.md#sam-property-function-msk-example-complete)를 참조하세요.

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

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

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

```
  [BatchSize](#sam-function-selfmanagedkafka-batchsize): Integer
  [BisectBatchOnFunctionError](#sam-function-selfmanagedkafka-bisectbatchonfunctionerror): Boolean
  [ConsumerGroupId](#sam-function-selfmanagedkafka-consumergroupid): String
  DestinationConfig: [DestinationConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-destinationconfig.html)
  [Enabled](#sam-function-selfmanagedkafka-enabled): Boolean
  [FilterCriteria](#sam-function-selfmanagedkafka-filtercriteria): [FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)
  [KafkaBootstrapServers](#sam-function-selfmanagedkafka-kafkabootstrapservers): List
  [FunctionResponseTypes](#sam-function-selfmanagedkafka-functionresponsetypes): List
  KmsKeyArn: String
  [LoggingConfig](#sam-function-selfmanagedkafka-loggingconfig): LoggingConfig
  [MaximumRecordAgeInSeconds](#sam-function-selfmanagedkafka-maximumrecordageinseconds): Integer
  [MaximumRetryAttempts](#sam-function-selfmanagedkafka-maximumretryattempts): Integer
  [MetricsConfig](#sam-function-selfmanagedkafka-metricsconfig): MetricsConfig
  [ProvisionedPollerConfig](#sam-function-selfmanagedkafka-provisionedpollerconfig): [ProvisionedPollerConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-provisionedpollerconfig)
  [SchemaRegistryConfig](#sam-function-selfmanagedkafka-schemaregistryconfig): [SchemaRegistryConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-schemaregistryconfig.html)
  [SourceAccessConfigurations](#sam-function-selfmanagedkafka-sourceaccessconfigurations): [SourceAccessConfigurations](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-sourceaccessconfigurations)
  StartingPosition: String
  StartingPositionTimestamp: Double
  [Topics](#sam-function-selfmanagedkafka-topics): List
```

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

 `BatchSize`   <a name="sam-function-selfmanagedkafka-batchsize"></a>
Lambda가 귀하의 스트림으로부터 풀링하여 귀하의 함수로 보내는 각 배치의 최대 기록 수.  
*유형*: 정수  
*필수 항목 여부*: 아니요  
*기본값*: 100  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[BatchSize](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-batchsize)` 속성으로 직접 전달됩니다.  
*최소*: `1`  
*최대*: `10000`

 `BisectBatchOnFunctionError`   <a name="sam-function-selfmanagedkafka-bisectbatchonfunctionerror"></a>
함수가 오류를 제시하면 비치를 2개로 분할해서 다시 시도합니다.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[BisectBatchOnFunctionError](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-bisectbatchonfunctionerror)` 속성으로 직접 전달됩니다.

 `ConsumerGroupId`   <a name="sam-function-selfmanagedkafka-consumergroupid"></a>
Kafka 주제에서 이벤트를 읽는 방법을 구성하는 문자열입니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[SelfManagedKafkaEventSourceConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-selfmanagedkafkaeventsourceconfig)` 속성으로 직접 전달됩니다.

 `DestinationConfig`   <a name="sam-function-selfmanagedkafka-destinationconfig"></a>
Lambda가 이벤트를 처리한 후 이벤트의 대상을 지정하는 구성 객체입니다.  
이 속성을 사용하여 자체 관리형 Kafka 이벤트 소스에서 실패한 간접 호출의 대상을 지정합니다.  
*유형*: [DestinationConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-destinationconfig.html)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[ DestinationConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-destinationconfig)` 속성으로 직접 전달됩니다.

 `Enabled`   <a name="sam-function-selfmanagedkafka-enabled"></a>
이벤트 소스 매핑을 비활성화하여 폴링 및 간접 호출을 일시 중지합니다.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[Enabled](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-enabled)` 속성으로 직접 전달됩니다.

 `FilterCriteria`   <a name="sam-function-selfmanagedkafka-filtercriteria"></a>
Lambda가 이벤트를 처리해야 하는지 결정하는 기준을 정의하는 객체입니다. 자세한 내용은 [AWS Lambda 개발자 가이드](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html)의 *AWS Lambda 이벤트 필터링*을 참조하세요.  
*유형*: [FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-filtercriteria)` 속성으로 직접 전달됩니다.

 `KafkaBootstrapServers`   <a name="sam-function-selfmanagedkafka-kafkabootstrapservers"></a>
귀하의 Kafka 브로커의 부트스트랩 서버 목록. 포트를 포함시킵니다(예: `broker.example.com:xxxx`)  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `FunctionResponseTypes`   <a name="sam-function-selfmanagedkafka-functionresponsetypes"></a>
이벤트 소스 매핑에 현재 적용된 응답 유형의 목록입니다. 자세한 내용은 *AWS Lambda Developer Guide의* [ Reporting batch item failures](https://docs.aws.amazon.com/lambda/latest/dg/kafka-retry-configurations.html)를 참조하세요.  
*유효한 값*: `ReportBatchItemFailures`  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[FunctionResponseTypes](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-functionresponsetypes)` 속성으로 직접 전달됩니다.

 `KmsKeyArn`   <a name="sam-function-selfmanagedkafka-kmskeyarn"></a>
이 이벤트와 관련된 정보를 암호화하는 키의 Amazon 리소스 이름(ARN)입니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[KmsKeyArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-kmskeyarn)` 속성으로 직접 전달됩니다.

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

 `MaximumRecordAgeInSeconds`   <a name="sam-function-selfmanagedkafka-maximumrecordageinseconds"></a>
Lambda가 처리를 위해 함수에 보내는 기록의 최대 사용 기간입니다.  
*유형*: 정수  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[MaximumRecordAgeInSeconds](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumrecordageinseconds)` 속성으로 직접 전달됩니다.

 `MetricsConfig`   <a name="sam-function-selfmanagedkafka-metricsconfig"></a>
이벤트 소스에 대한 지표 구성입니다.  
*유형*: [MetricsConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-metricsconfig)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[MetricsConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-metricsconfig)` 속성으로 직접 전달됩니다.

 `MaximumRetryAttempts`   <a name="sam-function-selfmanagedkafka-maximumretryattempts"></a>
함수가 오류를 반환할 때 재시도하는 최대 횟수입니다.  
*유형*: 정수  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[MaximumRetryAttempts](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumretryattempts)` 속성으로 직접 전달됩니다.

 `ProvisionedPollerConfig`   <a name="sam-function-selfmanagedkafka-provisionedpollerconfig"></a>
이벤트 소스 매핑을 컴퓨팅하는 데 사용되는 폴러의 양을 늘리기 위한 구성입니다. 이 구성은 최소 1개의 폴러와 최대 2,000개의 폴러를 허용합니다. 예시는 [ProvisionedPollerConfig 예시](#sam-property-function-selfmanagedkafka-example-provisionedpollerconfig)에서 확인하세요  
*유형*: [ProvisionedPollerConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-provisionedpollerconfig)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[ProvisionedPollerConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-provisionedpollerconfig)` 속성으로 직접 전달됩니다.

`SchemaRegistryConfig`  <a name="sam-function-selfmanagedkafka-schemaregistryconfig"></a>
자체 관리형 Kafka 이벤트 소스와 스키마 레지스트리를 사용하기 위한 구성입니다.  
이 기능에는 `ProvisionedPollerConfig` 구성이 필요합니다.
*유형*: [SchemaRegistryConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-schemaregistryconfig)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성:*이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[SelfManagedKafkaEventSourceConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-selfmanagedkafkaeventsourceconfig)` 속성으로 직접 전달됩니다.

 `SourceAccessConfigurations`   <a name="sam-function-selfmanagedkafka-sourceaccessconfigurations"></a>
이벤트 소스를 보호하고 정의하는 데 사용되는 인증 프로토콜, VPC 구성 요소 또는 가상 호스트의 배열입니다.  
*유효한 값*: `BASIC_AUTH | CLIENT_CERTIFICATE_TLS_AUTH | SASL_SCRAM_256_AUTH | SASL_SCRAM_512_AUTH | SERVER_ROOT_CA_CERTIFICATE`  
*유형*: [SourceAccessConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-sourceaccessconfiguration) 목록  
*필수 항목 여부:* 예  
*CloudFormation 호환성:*이 속성은 `AWS::Lambda::EventSourceMapping` 리소스 속성`[SelfManagedKafkaEventSourceConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-selfmanagedkafkaeventsourceconfig)`의 일부입니다.

 `StartingPosition`   <a name="sam-function-selfmanagedkafka-startingposition"></a>
읽기를 시작하는 스트림 내의 위치입니다.  
+ `AT_TIMESTAMP` - 기록 읽기를 시작할 시간을 지정합니다.
+ `LATEST` – 새 기록만 읽습니다.
+ `TRIM_HORIZON` – 사용 가능한 모든 기록을 처리합니다.
*유효한 값*: `AT_TIMESTAMP` \$1 `LATEST` \$1 `TRIM_HORIZON`  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[StartingPosition](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-startingposition)` 속성으로 직접 전달됩니다.

 `StartingPositionTimestamp`   <a name="sam-function-selfmanagedkafka-startingpositiontimestamp"></a>
읽기를 시작하는 시간(유닉스 시간 초 단위)입니다. `StartingPositionTimestamp` 언제 `StartingPosition`를 `AT_TIMESTAMP`으로 지정할지 정의합니다.  
*유형*: Double  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[StartingPositionTimestamp](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-startingpositiontimestamp)` 속성으로 직접 전달됩니다.

 `Topics`   <a name="sam-function-selfmanagedkafka-topics"></a>
Kafka 주제의 이름입니다.  
*유형*: 목록  
*필수 항목 여부*: 예  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[Topics](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-topics)` 속성으로 직접 전달됩니다.

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

### IAM 역할로 설정 완료
<a name="sam-property-function-selfmanagedkafka-example-complete"></a>

다음 예시는 Schema Registry 사용을 위해 필요한 IAM 역할 구성을 포함한 완료된 설정을 보여줍니다.

```
Parameters:
  PreCreatedSubnetOne:
    Type: String
  PreCreatedSubnetTwo:
    Type: String

Resources:
  MyLambdaExecutionRole:
    Type: AWS::IAM::Role
    Properties:
      AssumeRolePolicyDocument:
        Version: '2012-10-17		 	 	 '
        Statement:
        - Action: [sts:AssumeRole]
          Effect: Allow
          Principal:
            Service: [lambda.amazonaws.com]
      Policies:
      - PolicyName: KafkaAuthPolicy
        PolicyDocument:
          Statement:
          - Action: [secretsmanager:GetSecretValue, kms:Decrypt]
            Effect: "Allow"
            Resource: ['arn:aws:secretsmanager:us-west-2:123456789012:secret:kafkaSecret-******',
                        'arn:aws:kms:us-west-2:123456789012:key/keyId']
      - PolicyName: ENIPolicy
        PolicyDocument:
          Statement:
          - Action: [ec2:CreateNetworkInterface,
              ec2:DescribeNetworkInterfaces, ec2:DescribeVpcs, ec2:DeleteNetworkInterface,
              ec2:DescribeSubnets, ec2:DescribeSecurityGroups]
            Effect: Allow
            Resource: '*'
      - PolicyName: SchemaRegistryPolicy
        PolicyDocument:
          Statement:
          - Action: [glue:GetRegistry]
            Effect: Allow
            Resource: 'arn:aws:glue:{region}:{account-id}:registry/{registry-name}'
      - PolicyName: SchemaVersionsPolicy
        PolicyDocument:
          Statement:
          - Action: [glue:GetSchemaVersions]
            Effect: Allow
            Resource: '*'
      ManagedPolicyArns:
      - !Sub arn:${AWS::Partition}:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole
      Tags:
      - {Value: SAM, Key: lambda:createdBy}

  MyKafkaProcessor:
    Type: AWS::Serverless::Function
    Properties:
      Runtime: nodejs18.x
      Handler: index.handler
      CodeUri: ${codeuri}
      Role:
        Fn::GetAtt: [MyLambdaExecutionRole, Arn]
      Events:
        SelfManagedKafkaEvent:
          Type: SelfManagedKafka
          Properties:
            KafkaBootstrapServers:
              - my-kafka-broker-1:9092
              - my-kafka-broker-2:9092
            Topics:
              - SchemaRegistryTestTopic
            StartingPosition: LATEST
            SourceAccessConfigurations:
              - Type: VPC_SUBNET
                URI: subnet:subnet-12345678
              - Type: VPC_SECURITY_GROUP
                URI: security_group:sg-12345678
              - Type: BASIC_AUTH
                URI: !Sub arn:${AWS::Partition}:secretsmanager:us-west-2:123456789012:secret:my-path/my-secret-name-1a2b3c
            ProvisionedPollerConfig:
              MinimumPollers: 1
            SchemaRegistryConfig:
              AccessConfigs:
              - Type: BASIC_AUTH
                URI: !Sub arn:${AWS::Partition}:secretsmanager:us-west-2:123456789012:secret:my-path/my-secret-name-1a2b3c
              SchemaValidationConfigs:
              - Attribute: KEY
              EventRecordFormat: JSON
              SchemaRegistryURI: !Sub arn:${AWS::Partition}:glue:us-west-2:123456789012:registry/myregistry
```

### ProvisionedPollerConfig 예시
<a name="sam-property-function-selfmanagedkafka-example-provisionedpollerconfig"></a>

```
ProvisionedPollerConfig:
  MinimumPollers: 1
  MaximumPollers: 200
```

### 자체 관리형 Kafka 이벤트 소스
<a name="sam-property-function-selfmanagedkafka--examples--self-managed-kafka-event-source"></a>

다음은 `SelfManagedKafka` 이벤트 소스 유형의 한 예제입니다.

#### YAML
<a name="sam-property-function-selfmanagedkafka--examples--self-managed-kafka-event-source--yaml"></a>

```
Events:
  SelfManagedKafkaEvent:
    Type: SelfManagedKafka
    Properties:
      BatchSize: 1000
      Enabled: true
      KafkaBootstrapServers:
        - abc.xyz.com:xxxx
      SourceAccessConfigurations:
        -  Type: BASIC_AUTH
           URI: arn:aws:secretsmanager:us-west-2:123456789012:secret:my-path/my-secret-name-1a2b3c
      Topics:
        - MyKafkaTopic
```

### AWS Glue 스키마 레지스트리를 사용하는 자체 관리형 Kafka 이벤트 소스
<a name="sam-property-function-selfmanagedkafka-example-schemaregistry"></a>

다음은 AWS Glue Schema Registry로 구성된 `SelfManagedKafka` 이벤트 소스 유형의 예입니다.

```
Events:
  SelfManagedKafkaEvent:
    Type: SelfManagedKafka
    Properties:
      KafkaBootstrapServers:
        - abc.xyz.com:9092
      Topics:
        - SchemaRegistryTestTopic
      StartingPosition: LATEST
      ProvisionedPollerConfig:
        MinimumPollers: 1
      SchemaRegistryConfig:
        SchemaRegistryURI: !Sub arn:${AWS::Partition}:glue:us-west-2:123456789012:registry/myregistry
        EventRecordFormat: JSON
        SchemaValidationConfigs:
          - Attribute: KEY
          - Attribute: VALUE
      SourceAccessConfigurations:
        - Type: VPC_SUBNET
          URI: subnet:subnet-12345678
        - Type: VPC_SECURITY_GROUP
          URI: security_group:sg-12345678
```

### Confluent Schema Registry를 사용한 자체 관리형 Kafka 이벤트 소스
<a name="sam-property-function-selfmanagedkafka-example-schemaregistry-confluent"></a>

다음은 Confluent Schema Registry로 구성된 `SelfManagedKafka` 이벤트 소스 유형의 예시입니다.

```
Events:
  SelfManagedKafkaEvent:
    Type: SelfManagedKafka
    Properties:
      KafkaBootstrapServers:
        - abc.xyz.com:9092
      Topics:
        - SchemaRegistryTestTopic
      StartingPosition: LATEST
      ProvisionedPollerConfig:
        MinimumPollers: 1
      SchemaRegistryConfig:
        SchemaRegistryURI: https://my-schema-registry.confluent.cloud
        AccessConfigs:
          - Type: BASIC_AUTH
            URI: !Sub arn:${AWS::Partition}:secretsmanager:us-west-2:123456789012:secret:my-secret
        EventRecordFormat: JSON
        SchemaValidationConfigs:
          - Attribute: KEY
          - Attribute: VALUE
      SourceAccessConfigurations:
        - Type: VPC_SUBNET
          URI: subnet:subnet-12345678
        - Type: VPC_SECURITY_GROUP
          URI: security_group:sg-12345678
        - Type: BASIC_AUTH
          URI: !Sub arn:${AWS::Partition}:secretsmanager:us-west-2:123456789012:secret:kafka-secret
```

# SNS
<a name="sam-property-function-sns"></a>

`SNS` 이벤트 소스 유형을 설명하는 객체.

SAM은 이 이벤트 유형이 설정되면 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html) 리소스를 생성합니다.

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

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

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

```
  [FilterPolicy](#sam-function-sns-filterpolicy): [SnsFilterPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-filterpolicy)
  FilterPolicyScope: String
  RedrivePolicy: Json
  [Region](#sam-function-sns-region): String
  [SqsSubscription](#sam-function-sns-sqssubscription): Boolean | SqsSubscriptionObject
  [Topic](#sam-function-sns-topic): String
```

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

 `FilterPolicy`   <a name="sam-function-sns-filterpolicy"></a>
구독에 할당된 필터 정책 JSON입니다. 자세한 내용은 Amazon Simple Notification Service API 참조에서 [GetSubscriptionAttributes](https://docs.aws.amazon.com/sns/latest/api/API_GetSubscriptionAttributes.html)을 참조하세요.  
*유형*: [SnsFilterPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-filterpolicy)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::SNS::Subscription` 리소스의 `[FilterPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-filterpolicy)` 속성으로 직접 전달됩니다.

 `FilterPolicyScope`   <a name="sam-function-sns-filterpolicyscope"></a>
이 속성을 사용하면 다음 문자열 값 유형 중 하나를 사용하여 필터링 범위를 선택할 수 있습니다.  
+ `MessageAttributes` - 필터가 메시지 속성에 적용됩니다.
+ `MessageBody` - 필터가 메시지 본문에 적용됩니다.
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*기본값*: `MessageAttributes`  
*CloudFormation 호환성*:이 속성은 `AWS::SNS::Subscription` 리소스의 ` [ FilterPolicyScope](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-filterpolicyscope)` 속성으로 직접 전달됩니다.

 `RedrivePolicy`   <a name="sam-function-sns-redrivepolicy"></a>
지정되면, 전송할 수 없는 메시지를 지정된 Amazon SQS DLQ(Dead Letter Queue)로 보냅니다. 클라이언트 오류(예: 구독 엔드포인트에 연결할 수 없는 경우) 또는 서버 오류(예: 구독 엔드포인트에 전원을 공급하는 서비스를 사용할 수 없게 된 경우)로 인해 전송할 수 없는 메시지는 추가 분석 또는 재처리를 위해 DLQ(Dead Letter Queue)에 보관됩니다.  
리드라이브 정책 및 DLQ(Dead Letter Queue)에 대한 자세한 내용은 [Amazon Simple Queue Service 개발자 가이드](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-dead-letter-queues.html)의 *Amazon SQS DLQ*를 참조하세요.  
*유형*: Json  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::SNS::Subscription` 리소스의 `[ RedrivePolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-redrivepolicy)` 속성으로 직접 전달됩니다.

 `Region`   <a name="sam-function-sns-region"></a>
교차 리전 구독의 경우 주제가 상주하는 리전입니다.  
리전을 지정하지 않을 경우 CloudFormation이 기본적으로 호출자의 리전을 사용합니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::SNS::Subscription` 리소스의 `[Region](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#cfn-sns-subscription-region)` 속성으로 직접 전달됩니다.

 `SqsSubscription`   <a name="sam-function-sns-sqssubscription"></a>
이 속성을 true로 설정하거나 `SqsSubscriptionObject`을 지정하여 SQS 대기열에서 SNS 토픽 알림 일괄 처리를 사용하도록 설정합니다. 이 속성을 `true`로 설정하면 새 SQS 대기열이 만들어지고, `SqsSubscriptionObject`를 지정하면 기존 SQS 대기열이 사용됩니다.  
*유형*: Boolean \$1 [SqsSubscriptionObject](sam-property-function-sqssubscriptionobject.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `Topic`   <a name="sam-function-sns-topic"></a>
구독할 주제의 ARN입니다.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::SNS::Subscription` 리소스의 `[TopicArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-sns-subscription.html#topicarn)` 속성으로 직접 전달됩니다.

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

### SNS 이벤트 소스 예제
<a name="sam-property-function-sns--examples--sns-event-source-example"></a>

SNS 이벤트 소스 예제

#### YAML
<a name="sam-property-function-sns--examples--sns-event-source-example--yaml"></a>

```
Events:
  SNSEvent:
    Type: SNS
    Properties:
      Topic: arn:aws:sns:us-east-1:123456789012:my_topic
      SqsSubscription: true
      FilterPolicy:
        store:
          - example_corp
        price_usd:
          - numeric:
              - ">="
              - 100
```

# SqsSubscriptionObject
<a name="sam-property-function-sqssubscriptionobject"></a>

기존 SQS 대기열 옵션을 SNS 이벤트에 지정

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

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

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

```
  [BatchSize](#sam-function-sqssubscriptionobject-batchsize): String
  [Enabled](#sam-function-sqssubscriptionobject-enabled): Boolean
  [QueueArn](#sam-function-sqssubscriptionobject-queuearn): String
  [QueuePolicyLogicalId](#sam-function-sqssubscriptionobject-queuepolicylogicalid): String
  [QueueUrl](#sam-function-sqssubscriptionobject-queueurl): String
```

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

 `BatchSize`   <a name="sam-function-sqssubscriptionobject-batchsize"></a>
SQS 대기열을 위한 한 번의 배치에서 검색하는 최대 항목 수.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*기본값*: 10  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `Enabled`   <a name="sam-function-sqssubscriptionobject-enabled"></a>
이벤트 소스 매핑을 비활성화하여 폴링 및 호출을 일시 중지합니다.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*기본값*: True  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `QueueArn`   <a name="sam-function-sqssubscriptionobject-queuearn"></a>
기존 SQS 대기열 arn을 지정합니다.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `QueuePolicyLogicalId`   <a name="sam-function-sqssubscriptionobject-queuepolicylogicalid"></a>
[AWS::SQS::QueuePolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-policy.html) 리소스에 대한 사용자 지정 logicalId 이름을 지정합니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `QueueUrl`   <a name="sam-function-sqssubscriptionobject-queueurl"></a>
`QueueArn` 속성과 관련된 대기열 URL을 지정합니다.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

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

### SNS 이벤트용 기존 SQS
<a name="sam-property-function-sqssubscriptionobject--examples--existing-sqs-for-sns-event"></a>

SNS 주제 구독을 위한 기존 SQS 대기열을 추가하는 예.

#### YAML
<a name="sam-property-function-sqssubscriptionobject--examples--existing-sqs-for-sns-event--yaml"></a>

```
QueuePolicyLogicalId: CustomQueuePolicyLogicalId
QueueArn:
  Fn::GetAtt: MyCustomQueue.Arn
QueueUrl:
  Ref: MyCustomQueue
BatchSize: 5
```

# SQS
<a name="sam-property-function-sqs"></a>

`SQS` 이벤트 소스 유형을 설명하는 객체. 자세한 내용은 *AWS Lambda 개발자 안내서*의 [ Amazon SQS AWS Lambda 에서 사용을](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html) 참조하세요.

SAM은 이 이벤트 유형이 설정되면 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html) 리소스를 생성합니다.

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

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

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

```
  [BatchSize](#sam-function-sqs-batchsize): Integer
  [Enabled](#sam-function-sqs-enabled): Boolean
  [FilterCriteria](#sam-function-sqs-filtercriteria): [FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)
  [FunctionResponseTypes](#sam-function-sqs-functionresponsetypes): List
  KmsKeyArn: String
  [MaximumBatchingWindowInSeconds](#sam-function-sqs-maximumbatchingwindowinseconds): Integer
  [MetricsConfig](#sam-function-sqs-metricsconfig): [MetricsConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-metricsconfig)
  [ProvisionedPollerConfig](#sam-function-sqs-provisionedpollerconfig): [ProvisionedPollerConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-provisionedpollerconfig)
  [Queue](#sam-function-sqs-queue): String
  ScalingConfig: [ScalingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-scalingconfig.html)
```

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

 `BatchSize`   <a name="sam-function-sqs-batchsize"></a>
한 번의 배치에서 검색하는 최대 항목 수입니다.  
*유형*: 정수  
*필수 항목 여부*: 아니요  
*기본값*: 10  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[BatchSize](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-batchsize)` 속성으로 직접 전달됩니다.  
*최소*: `1`  
*최대*: `10000`

 `Enabled`   <a name="sam-function-sqs-enabled"></a>
이벤트 소스 매핑을 비활성화하여 폴링 및 간접 호출을 일시 중지합니다.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[Enabled](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-enabled)` 속성으로 직접 전달됩니다.

 `FilterCriteria`   <a name="sam-function-sqs-filtercriteria"></a>
Lambda가 이벤트를 처리해야 하는지 결정하는 기준을 정의하는 객체입니다. 자세한 내용은 [AWS Lambda 개발자 가이드](https://docs.aws.amazon.com/lambda/latest/dg/invocation-eventfiltering.html)의 *AWS Lambda 이벤트 필터링*을 참조하세요.  
*유형*: [FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[FilterCriteria](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-filtercriteria.html)` 속성으로 직접 전달됩니다.

 `FunctionResponseTypes`   <a name="sam-function-sqs-functionresponsetypes"></a>
 이벤트 소스 매핑에 현재 적용된 응답 유형의 목록입니다. 자세한 내용은 *AWS Lambda Developer Guide의* [ Reporting batch item failures](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html#services-sqs-batchfailurereporting)를 참조하세요.  
 *유효한 값*: `ReportBatchItemFailures`   
 *유형*: 목록   
 *필수 항목 여부*: 아니요   
 *CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[FunctionResponseTypes](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-functionresponsetypes)` 속성으로 직접 전달됩니다.

 `KmsKeyArn`   <a name="sam-function-sqs-kmskeyarn"></a>
이 이벤트와 관련된 정보를 암호화하는 키의 Amazon 리소스 이름(ARN)입니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[KmsKeyArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-kmskeyarn)` 속성으로 직접 전달됩니다.

 `MaximumBatchingWindowInSeconds`   <a name="sam-function-sqs-maximumbatchingwindowinseconds"></a>
함수를 간접 호출하기 전에 레코드를 수집할 최대 시간(단위: 초)입니다.  
*유형*: 정수  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[MaximumBatchingWindowInSeconds](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-maximumbatchingwindowinseconds)` 속성으로 직접 전달됩니다.

 `MetricsConfig`   <a name="sam-function-sqs-metricsconfig"></a>
처리 단계별로 캡처하는 이벤트 소스 매핑에 대한 향상된 지표를 얻기 위한 옵트인 구성입니다. 예제는 [MetricsConfig 이벤트](sam-property-function-dynamodb.md#sam-property-function-dynamodb-example-metricsconfigevent) 섹션을 참조하세요.  
*유형*: [MetricsConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-metricsconfig)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[MetricsConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-metricsconfig)` 속성으로 직접 전달됩니다.

 `ProvisionedPollerConfig`   <a name="sam-function-sqs-provisionedpollerconfig"></a>
이벤트 소스 매핑을 컴퓨팅하는 데 사용되는 폴러의 양을 늘리기 위한 구성입니다. 이 구성은 최소 2개의 폴러와 최대 2,000개의 폴러를 허용합니다. 예시는 [ProvisionedPollerConfig 예시](#sam-property-function-sqs-example-provisionedpollerconfig)에서 확인하세요.  
*유형*: [ProvisionedPollerConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-provisionedpollerconfig)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[ProvisionedPollerConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-provisionedpollerconfig)` 속성으로 직접 전달됩니다.

 `Queue`   <a name="sam-function-sqs-queue"></a>
대기열의 ARN입니다.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[EventSourceArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-eventsourcemapping.html#cfn-lambda-eventsourcemapping-eventsourcearn)` 속성으로 직접 전달됩니다.

 `ScalingConfig`   <a name="sam-function-sqs-scalingconfig"></a>
SQS 폴러의 구성 규모를 조정하여 간접 호출 속도를 제어하고 최대 동시 간접 호출값을 설정합니다.  
*유형*: `[ScalingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-scalingconfig.html)`  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::EventSourceMapping` 리소스의 `[ ScalingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-eventsourcemapping-scalingconfig.html)` 속성으로 직접 전달됩니다.

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

### MetricsConfig 이벤트
<a name="sam-property-function-sqs-example-metricsconfigevent"></a>

다음은 이벤트 소스 매핑에 대한 처리 단계별 캡처를 위해 `MetricsConfig` 속성을 사용하는 리소스의 예시입니다.

```
Resources:
  FilteredEventsFunction:
    Type: AWS::Serverless::Function
    Properties:
      CodeUri: s3://sam-demo-bucket/metricsConfig.zip
      Handler: index.handler
      Runtime: nodejs16.x
      Events:
        KinesisStream:
          Type: Kinesis
          Properties:
            Stream: !GetAtt KinesisStream.Arn
            StartingPosition: LATEST
            MetricsConfig:
              Metrics:
              - EventCount
```

### 기본 SQS 이벤트
<a name="sam-property-function-sqs--examples--sqs-event"></a>

```
Events:
  SQSEvent:
    Type: SQS
    Properties:
      Queue: arn:aws:sqs:us-west-2:012345678901:my-queue
      BatchSize: 10
      Enabled: false
      FilterCriteria:
        Filters:
          - Pattern: '{"key": ["val1", "val2"]}'
```

### SQS 대기열에 대한 부분별 배치 리포트 구성
<a name="sam-property-function-sqs--examples--sqs-partial-batch"></a>

```
Events:
  SQSEvent:
    Type: SQS
    Properties:
      Enabled: true
      FunctionResponseTypes:
        - ReportBatchItemFailures
      Queue: !GetAtt MySqsQueue.Arn
      BatchSize: 10
```

### 규모 조정이 구성화된 SQS 이벤트가 포함된 Lambda 함수
<a name="sam-property-function-sqs--examples--sqs-event-scaling"></a>

```
MyFunction:
  Type: AWS::Serverless::Function
  Properties:
    ...
    Events:
      MySQSEvent:
        Type: SQS
        Properties:
          ...
          ScalingConfig:
            MaximumConcurrency: 10
```

### ProvisionedPollerConfig 예시
<a name="sam-property-function-sqs-example-provisionedpollerconfig"></a>

```
MyFunction:
  Type: AWS::Serverless::Function
  Properties:
    Handler: index.handler
    Runtime: nodejs18.x
    Timeout: 30
    Events:
      SQSEvent:
        Type: SQS
        Properties:
          Queue: !GetAtt MyQueue.Arn
          BatchSize: 10
          Enabled: True
          ProvisionedPollerConfig:
            MaximumPollers: 300
            MinimumPollers: 10
```

# FunctionCode
<a name="sam-property-function-functioncode"></a>

Lambda 함수의 [배포 패키지](https://docs.aws.amazon.com/lambda/latest/dg/deployment-package-v2.html)입니다.

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

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

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

```
  [Bucket](#sam-function-functioncode-bucket): String
  [Key](#sam-function-functioncode-key): String
  [Version](#sam-function-functioncode-version): String
```

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

 `Bucket`   <a name="sam-function-functioncode-bucket"></a>
함수와 동일한 AWS 리전에 있는 Amazon S3 버킷입니다.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::Function` `Code` 데이터 유형의 `[S3Bucket](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html#cfn-lambda-function-code-s3bucket)` 속성으로 직접 전달됩니다.

 `Key`   <a name="sam-function-functioncode-key"></a>
배포 패키지의 Amazon S3 키입니다.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::Function` `Code` 데이터 유형의 `[S3Key](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html#cfn-lambda-function-code-s3key)` 속성으로 직접 전달됩니다.

 `Version`   <a name="sam-function-functioncode-version"></a>
버전이 지정된 객체의 경우 사용할 배포 패키지 객체의 버전입니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::Function` `Code` 데이터 유형의 `[S3ObjectVersion](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-function-code.html#cfn-lambda-function-code-s3objectversion)` 속성으로 직접 전달됩니다.

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

### FunctionCode
<a name="sam-property-function-functioncode--examples--functioncode"></a>

`CodeUri`: 함수 코드 예제

#### YAML
<a name="sam-property-function-functioncode--examples--functioncode--yaml"></a>

```
CodeUri:
  Bucket: sam-s3-demo-bucket-name
  Key: mykey-name
  Version: 121212
```

# FunctionUrlConfig
<a name="sam-property-function-functionurlconfig"></a>

지정된 구성 파라미터를 사용하여 AWS Lambda 함수 URL을 생성합니다. Lambda 함수 URL은 함수를 간접 호출하는 데 사용할 수 있는 HTTPS 엔드포인트입니다.

기본적으로 귀하가 생성한 함수 URL은 Lambda 함수 `$LATEST` 버전을 사용합니다. Lambda 함수에 대해 `AutoPublishAlias`를 지정하는 경우 엔드포인트는 지정된 함수 별칭에 연결됩니다.

자세한 내용은 [ 개발자 가이드](https://docs.aws.amazon.com/lambda/latest/dg/lambda-urls.html) 내 *AWS Lambda Lambda 함수 URL*를 참조하세요.

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

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

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

```
[AuthType](#sam-function-functionurlconfig-authtype): String
[Cors](#sam-function-functionurlconfig-cors): [Cors](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-url-cors.html)
[InvokeMode](#sam-function-functionurlconfig-invokemode): String
```

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

 `AuthType`   <a name="sam-function-functionurlconfig-authtype"></a>
함수 URL에서 사용하는 인증 유형입니다. AWS Identity and Access Management (IAM)를 사용하여 요청을 승인하려면를 로 설정합니다`AWS_IAM`. 오픈 액세스의 경우 `NONE`으로 설정합니다.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::Url` 리소스의 `[AuthType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-url.html#cfn-lambda-url-authtype)` 속성으로 직접 전달됩니다.

 `Cors`   <a name="sam-function-functionurlconfig-cors"></a>
함수 URL에 대한 교차 오리진 리소스 공유(CORS) 설정입니다.  
*유형*: [Cors](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-url-cors.html)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::Url` 리소스의 `[Cors](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-url-cors.html)` 속성으로 직접 전달됩니다.

 `InvokeMode`  <a name="sam-function-functionurlconfig-invokemode"></a>
함수 URL이 간접 호출되는 모드입니다. 호출 완료 후 함수가 응답을 반환하도록 하려면 `BUFFERED`로 설정합니다. 함수가 응답을 스트리밍하도록 하려면 `RESPONSE_STREAM`로 설정합니다. 기본값은 `BUFFERED`입니다.  
*유효한 값*: `BUFFERED` 또는 `RESPONSE_STREAM`  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*AWS CloudFormation 호환성*:이 속성은 `AWS::Lambda::Url` 리소스의 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-url.html#cfn-lambda-url-invokemode](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-url.html#cfn-lambda-url-invokemode) 속성으로 직접 전달됩니다.

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

### 함수 URL
<a name="sam-property-function-functionurlconfig--examples--function-url"></a>

다음 예제에서는 함수 URL이 있는 Lambda 함수를 생성합니다. 함수 URL은 IAM 인증을 사용합니다.

#### YAML
<a name="sam-property-function-functionurlconfig--examples--function-url--yaml"></a>

```
HelloWorldFunction:
  Type: AWS::Serverless::Function
  Properties:
    CodeUri: hello_world/
    Handler: index.handler
    Runtime: nodejs20.x
    FunctionUrlConfig:
      AuthType: AWS_IAM
      InvokeMode: RESPONSE_STREAM

Outputs:
  MyFunctionUrlEndpoint:
      Description: "My Lambda Function URL Endpoint"
      Value:
        Fn::GetAtt: HelloWorldFunctionUrl.FunctionUrl
```

# CapacityProviderConfig
<a name="sam-property-function-capacityproviderconfig"></a>

함수의 게시된 버전을 연결할 용량 공급자를 구성합니다. 이렇게 하면 Lambda에서 관리하는 고객 소유 EC2 인스턴스에서 함수를 실행할 수 있습니다.

**참고**  
이 구성은 함수의 컴퓨팅 유형을 결정하며 첫 번째 함수 배포 중에 지정해야 합니다. 함수 리소스가 생성된 후에는 추가하거나 제거할 수 없습니다.

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

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

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

```
[Arn](#sam-function-capacityproviderconfig-arn): String
[ExecutionEnvironmentMemoryGiBPerVCpu](#sam-function-capacityproviderconfig-executionenvironmentmemorygibpervcpu): Float
[PerExecutionEnvironmentMaxConcurrency](#sam-function-capacityproviderconfig-perexecutionenvironmentmaxconcurrency): Integer
```

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

 `Arn`   <a name="sam-function-capacityproviderconfig-arn"></a>
이 함수에 사용할 용량 공급자의 ARN입니다.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 SAM에 고유합니다.

 `ExecutionEnvironmentMemoryGiBPerVCpu`   <a name="sam-function-capacityproviderconfig-executionenvironmentmemorygibpervcpu"></a>
각 실행 환경에 대한 vCPU 대비 메모리(GiB)의 비율입니다.  
CPU당 메모리 비율은 함수의 총 메모리인 2048MB를 초과할 수 없습니다. 지원되는 memory-to-CPU 비율은 CPU당 2GB, 4GB 또는 8GB입니다.
*유형*: 부동 소수점  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::Function` 리소스의 `[ExecutionEnvironmentMemoryGiBPerVCpu](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-lambdamanagedinstancescapacityproviderconfig)` 속성으로 직접 전달됩니다.

 `PerExecutionEnvironmentMaxConcurrency`   <a name="sam-function-capacityproviderconfig-perexecutionenvironmentmaxconcurrency"></a>
실행 환경(샌드박스)당 최대 동시 실행 수입니다.  
*유형*: 정수  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::Function` 리소스의 `[PerExecutionEnvironmentMaxConcurrency](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-lambdamanagedinstancescapacityproviderconfig)` 속성으로 직접 전달됩니다.

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

### 용량 공급자 구성
<a name="sam-property-function-capacityproviderconfig-examples-basic"></a>

다음 예제에서는 용량 공급자 리소스를 참조하는 용량 공급자 구성을 보여줍니다.

```
CapacityProviderConfig:
  Arn: !GetAtt MyCapacityProvider.Arn
  ExecutionEnvironmentMemoryGiBPerVCpu: 4.0
  PerExecutionEnvironmentMaxConcurrency: 100
```

# FunctionScalingConfig
<a name="sam-property-function-functionscalingconfig"></a>

생성할 수 있는 실행 환경(샌드박스) 수를 제어하여 Lambda 함수 버전의 조정 동작을 구성합니다. 이 구성은 \$1LATEST.PUBLISHED 및 숫자 함수 버전 모두에 적용됩니다.

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

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

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

```
[MinExecutionEnvironments](#sam-function-functionscalingconfig-minexecutionenvironments): Integer
[MaxExecutionEnvironments](#sam-function-functionscalingconfig-maxexecutionenvironments): Integer
```

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

 `MinExecutionEnvironments`   <a name="sam-function-functionscalingconfig-minexecutionenvironments"></a>
함수 버전에 대해 유지할 최소 실행 환경 수입니다.  
*유형*: 정수  
*필수 항목 여부*: 아니요  
*기본값*: `3`  
*최소*: `0`  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::Function` 리소스의 `[MinExecutionEnvironments](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-functionscalingconfig-minexecutionenvironments)` 속성으로 직접 전달됩니다.

 `MaxExecutionEnvironments`   <a name="sam-function-functionscalingconfig-maxexecutionenvironments"></a>
함수 버전에 대해 생성할 수 있는 최대 실행 환경 수입니다.  
*유형*: 정수  
*필수 항목 여부*: 아니요  
*기본값*: `3`  
*최소*: `0`  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::Function` 리소스의 `[MaxExecutionEnvironments](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html#cfn-lambda-function-functionscalingconfig-maxexecutionenvironments)` 속성으로 직접 전달됩니다.

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

### 함수 조정 구성
<a name="sam-property-function-functionscalingconfig-examples-basic"></a>

다음 예제에서는 최소 및 최대 실행 환경의 함수 조정 구성을 보여줍니다.

```
FunctionScalingConfig:
  MinExecutionEnvironments: 5
  MaxExecutionEnvironments: 100
```

# AWS::Serverless::GraphQLApi
<a name="sam-resource-graphqlapi"></a>

 AWS Serverless Application Model (AWS SAM) `AWS::Serverless::GraphQLApi` 리소스 유형을 사용하여 서버리스 애플리케이션에 대한 API를 AWS AppSync GraphQL 생성하고 구성합니다.

자세한 내용은 *AWS AppSync 개발자 안내서*의 [란 무엇입니까 AWS AppSync?](https://docs.aws.amazon.com/appsync/latest/devguide/what-is-appsync.html)를 AWS AppSync참조하세요.

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

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

```
LogicalId:
  Type: AWS::Serverless::GraphQLApi
  Properties:
    ApiKeys: ApiKeys
    Auth: Auth
    Cache: [AWS::AppSync::ApiCache](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html)
    DataSources: DataSource
    DomainName: [AWS::AppSync::DomainName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-domainname.html)
    Functions: Function
    Logging: [LogConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-logconfig.html)
    Name: String
    Resolvers: Resolver
    SchemaInline: String
    SchemaUri: String
    Tags:
    - [Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html)
    XrayEnabled: Boolean
```

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

`ApiKeys`  <a name="sam-graphqlapi-apikeys"></a>
API 키가 필요한 GraphQL 작업을 수행하는 데 사용할 수 있는 고유 키를 생성합니다.  
*유형*: [APIKey](sam-property-graphqlapi-apikeys.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

`Auth`  <a name="sam-graphqlapi-auth"></a>
GraphQLAPI에 대한 인증을 구성하십시오.  
*유형*: [인증](sam-property-graphqlapi-auth.md)  
*필수 여부*: 예  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

`Cache`  <a name="sam-graphqlapi-cache"></a>
`CreateApiCache` 작업의 입력.  
*유형*: [AWS::AppSync::ApiCache](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 [AWS::AppSync::ApiCache](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apicache.html) 리소스로 직접 전달됩니다.

`DataSources`  <a name="sam-graphqlapi-datasources"></a>
에서 연결할 함수 AWS AppSync 에 대한 데이터 소스를 생성합니다.는 Amazon DynamoDB 및 AWS Lambda 데이터 소스를 AWS SAM 지원합니다.  
*유형*: [DataSource](sam-property-graphqlapi-datasource.md)  
*필수 항목 여부*: 예  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

`DomainName`  <a name="sam-graphqlapi-domainname"></a>
GraphQLAPI에 대한 사용자 지정 도메인 이름.  
*유형*: [AWS::AppSync::DomainName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-domainname.html)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 [AWS::AppSync::DomainName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-domainname.html) 리소스에 직접 전달됩니다. AWS SAM 는 [AWS::AppSync::DomainNameApiAssociation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-domainnameapiassociation.html) 리소스를 자동으로 생성합니다.

`Functions`  <a name="sam-graphqlapi-functions"></a>
특정 작업을 수행하도록 GraphQL API의 함수를 구성합니다.  
*유형*[: 함수](sam-property-graphqlapi-function.md)  
*필수 여부*: 예  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

`Logging`  <a name="sam-graphqlapi-logging"></a>
GraphQL API에 대한 Amazon CloudWatch 로깅을 구성합니다.   
이 속성을 지정하지 않으면 AWS SAM 가 다음 값을 `CloudWatchLogsRoleArn` 생성하고 설정합니다.  
+ `ExcludeVerboseContent: true`
+ `FieldLogLevel: ALL`
로깅을 배제하려면 다음을 지정합니다.  

```
Logging: false
```
*유형*: [LogConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-logconfig.html)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::AppSync::GraphQLApi` 리소스의 `[LogConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-logconfig)` 속성으로 직접 전달됩니다.

`LogicalId`  <a name="sam-graphqlapi-logicalid"></a>
GraphQL API의 고유한 이름.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::AppSync::GraphQLApi` 리소스의 `[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-name)` 속성으로 직접 전달됩니다.

`Name`  <a name="sam-graphqlapi-name"></a>
귀하의 GraphQLAPI의 이름입니다. 이 속성을 지정하여 `LogicalId` 값을 재정의합니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::AppSync::GraphQLApi` 리소스의 `[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-name)` 속성으로 직접 전달됩니다.

`Resolvers`  <a name="sam-graphqlapi-resolvers"></a>
귀하의 GraphQL API 필드에 대한 해석기를 구성하십시오. AWS SAM 는 [JavaScript파이프라인](https://docs.aws.amazon.com/appsync/latest/devguide/resolver-reference-overview-js.html#anatomy-of-a-pipeline-resolver-js) 리졸버를 지원합니다.  
*유형:* [해석기](sam-property-graphqlapi-resolver.md)  
*필수 여부*: 예  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

`SchemaInline`  <a name="sam-graphqlapi-schemainline"></a>
SDL 형식의 GraphQL 스키마 텍스트 표시.  
*유형*: 문자열  
*필수 항목 여부*: 조건부. `SchemaInline` 또는`SchemaUri` 를 지정해야 합니다.  
*CloudFormation 호환성*:이 속성은 `AWS::AppSync::GraphQLSchema` 리소스의 `[Definition](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlschema.html#cfn-appsync-graphqlschema-definition)` 속성으로 직접 전달됩니다.

`SchemaUri`  <a name="sam-graphqlapi-schemauri"></a>
스키마의 Amazon Simple Storage Service(S3) 버킷 URI 또는 로컬 폴더 경로  
로컬 폴더의 경로를 지정하는 경우 배포 전에 파일을 먼저 Amazon S3에 업로드해야 CloudFormation 합니다. AWS SAMCLI를 사용하여 이 프로세스를 용이하게 할 수 있습니다. 자세한 내용은 [가 배포 시 로컬 파일을 AWS SAM 업로드하는 방법](deploy-upload-local-files.md)을 참조하십시오  
*유형*: 문자열  
*필수 항목 여부*: 조건부. `SchemaInline` 또는`SchemaUri` 를 지정해야 합니다.  
*CloudFormation 호환성*:이 속성은 `AWS::AppSync::GraphQLSchema` 리소스의 `[DefinitionS3Location](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlschema.html#cfn-appsync-graphqlschema-definitions3location)` 속성으로 직접 전달됩니다.

`Tags`  <a name="sam-graphqlapi-tags"></a>
이 GraphQL API에 대한 태그(키-값 페어)입니다. 태그를 사용하여 리소스를 식별하고 범주화하십시오.  
*유형:* [태그](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html)의 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::AppSync::GraphQLApi` 리소스의 `[Tag](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-tags)` 속성으로 직접 전달됩니다.

`XrayEnabled`  <a name="sam-graphqlapi-xrayenabled"></a>
이 리소스에 대해 [AWS X-Ray 추적](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html)을 사용할지 여부를 표시하십시오.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::AppSync::GraphQLApi` 리소스의 `[XrayEnabled](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-xrayenabled)` 속성으로 직접 전달됩니다.

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

반환 값 목록은 [CloudFormation 사용 설명서](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)의 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#aws-resource-appsync-graphqlapi-return-values.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#aws-resource-appsync-graphqlapi-return-values.html)을(를) 참조하세요.

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

### GraphQL APIDynamoDB 데이터 소스 사용
<a name="sam-resource-graphqlapi-examples-example1"></a>

이 예시에서는 DynamoDB 테이블을 데이터 소스로 사용하는 GraphQL API를 생성합니다.

**schema.graphql**

```
schema {
  query: Query
  mutation: Mutation
}

type Query {
  getPost(id: String!): Post
}

type Mutation {
  addPost(author: String!, title: String!, content: String!): Post!
}

type Post {
  id: String!
  author: String
  title: String
  content: String
  ups: Int!
  downs: Int!
  version: Int!
}
```

**template.yaml**

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
...
Resources:
  DynamoDBPostsTable:
    Type: AWS::Serverless::SimpleTable

  MyGraphQLAPI:
    Type: AWS::Serverless::GraphQLApi
    Properties:
      SchemaUri: ./sam_graphql_api/schema.graphql
      Auth:
        Type: AWS_IAM
      DataSources:
        DynamoDb:
          PostsDataSource:
            TableName: !Ref DynamoDBPostsTable
            TableArn: !GetAtt DynamoDBPostsTable.Arn
      Functions:
        preprocessPostItem:
          Runtime:
            Name: APPSYNC_JS
            Version: 1.0.0
          DataSource: NONE
          CodeUri: ./sam_graphql_api/preprocessPostItem.js
        createPostItem:
          Runtime:
            Name: APPSYNC_JS
            Version: "1.0.0"
          DataSource: PostsDataSource
          CodeUri: ./sam_graphql_api/createPostItem.js
        getPostFromTable:
          Runtime:
            Name: APPSYNC_JS
            Version: "1.0.0"
          DataSource: PostsDataSource
          CodeUri: ./sam_graphql_api/getPostFromTable.js
      Resolvers:
        Mutation:
          addPost:
            Runtime:
              Name: APPSYNC_JS
              Version: "1.0.0"
            Pipeline:
            - preprocessPostItem
            - createPostItem
        Query:
          getPost:
            CodeUri: ./sam_graphql_api/getPost.js
            Runtime:
              Name: APPSYNC_JS
              Version: "1.0.0"
            Pipeline:
            - getPostFromTable
```

**createPostItem.js**

```
import { util } from "@aws-appsync/utils";

export function request(ctx) {
  const { key, values } = ctx.prev.result;
  return {
    operation: "PutItem",
    key: util.dynamodb.toMapValues(key),
    attributeValues: util.dynamodb.toMapValues(values),
  };
}

export function response(ctx) {
  return ctx.result;
}
```

**getPostFromTable.js**

```
import { util } from "@aws-appsync/utils";

export function request(ctx) {
  return dynamoDBGetItemRequest({ id: ctx.args.id });
}

export function response(ctx) {
  return ctx.result;
}

/**
 * A helper function to get a DynamoDB item
 */
function dynamoDBGetItemRequest(key) {
  return {
    operation: "GetItem",
    key: util.dynamodb.toMapValues(key),
  };
}
```

**preprocessPostItem.js**

```
import { util } from "@aws-appsync/utils";

export function request(ctx) {
  const id = util.autoId();
  const { ...values } = ctx.args;
  values.ups = 1;
  values.downs = 0;
  values.version = 1;
  return { payload: { key: { id }, values: values } };
}

export function response(ctx) {
  return ctx.result;
}
```

해석기 코드는 다음과 같습니다.

**getPost.js**

```
export function request(ctx) {
  return {};
}

export function response(ctx) {
  return ctx.prev.result;
}
```

### GraphQLLambda 함수를 데이터 소스로 사용하는 API
<a name="sam-resource-graphqlapi-examples-example2"></a>

이 예시에서는 Lambda 함수를 데이터 소스로 사용하는 GraphQL API를 생성합니다.

**template.yaml**

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
...
Resources:
  MyLambdaFunction:
    Type: AWS::Serverless::Function
    Properties:
      Handler: index.handler
      Runtime: nodejs20.x
      CodeUri: ./lambda

  MyGraphQLAPI:
    Type: AWS::Serverless::GraphQLApi
    Properties:
      Name: MyApi
      SchemaUri: ./gql/schema.gql
      Auth:
        Type: API_KEY
      ApiKeys:
        MyApiKey:
          Description: my api key
      DataSources:
        Lambda:
          MyLambdaDataSource:
            FunctionArn: !GetAtt MyLambdaFunction.Arn
      Functions:
        lambdaInvoker:
          Runtime:
            Name: APPSYNC_JS
            Version: 1.0.0
          DataSource: MyLambdaDataSource
          CodeUri: ./gql/invoker.js
      Resolvers:
        Mutation:
          addPost:
            Runtime:
              Name: APPSYNC_JS
              Version: 1.0.0
            Pipeline:
            - lambdaInvoker
        Query:
          getPost:
            Runtime:
              Name: APPSYNC_JS
              Version: 1.0.0
            Pipeline:
            - lambdaInvoker

Outputs:
  MyGraphQLAPI:
    Description: AppSync API
    Value: !GetAtt MyGraphQLAPI.GraphQLUrl
  MyGraphQLAPIMyApiKey:
    Description: API Key for authentication
    Value: !GetAtt MyGraphQLAPIMyApiKey.ApiKey
```

**schema.graphql**

```
schema {
  query: Query
  mutation: Mutation
}
type Query {
  getPost(id: ID!): Post
}
type Mutation {
  addPost(id: ID!, author: String!, title: String, content: String): Post!
}
type Post {
  id: ID!
  author: String!
  title: String
  content: String
  ups: Int
  downs: Int
}
```

함수는 다음과 같습니다.

**lambda/index.js**

```
exports.handler = async (event) => {
  console.log("Received event {}", JSON.stringify(event, 3));

  const posts = {
    1: {
      id: "1",
      title: "First book",
      author: "Author1",
      content: "Book 1 has this content",
      ups: "100",
      downs: "10",
    },
  };

  console.log("Got an Invoke Request.");
  let result;
  switch (event.field) {
    case "getPost":
      return posts[event.arguments.id];
    case "addPost":
      // return the arguments back
      return event.arguments;
    default:
      throw new Error("Unknown field, unable to resolve " + event.field);
  }
};
```

**invoker.js**

```
import { util } from "@aws-appsync/utils";

export function request(ctx) {
  const { source, args } = ctx;
  return {
    operation: "Invoke",
    payload: { field: ctx.info.fieldName, arguments: args, source },
  };
}

export function response(ctx) {
  return ctx.result;
}
```

# ApiKeys
<a name="sam-property-graphqlapi-apikeys"></a>

API 키가 필요한 GraphQL 작업을 수행하는 데 사용할 수 있는 고유 키를 생성합니다.

## 구문
<a name="sam-property-graphqlapi-apikeys-syntax"></a>

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

### YAML
<a name="sam-property-graphqlapi-apikeys-syntax-yaml"></a>

```
LogicalId:
  ApiKeyId: String
  Description: String
  ExpiresOn: Double
```

## 속성
<a name="sam-property-graphqlapi-apikeys-properties"></a>

`ApiKeyId`  <a name="sam-graphqlapi-apikeys-apikeyid"></a>
귀하의 API 키의 고유한 이름. `LogicalId` 값을 재정의하도록 지정합니다.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::AppSync::ApiKey` 리소스의 `[ApiKeyId](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html#cfn-appsync-apikey-apikeyid)` 속성으로 직접 전달됩니다.

`Description`  <a name="sam-graphqlapi-apikeys-description"></a>
귀하의 API 키의 고유한 설명.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::AppSync::ApiKey` 리소스의 `[Description](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html#cfn-appsync-apikey-description)` 속성으로 직접 전달됩니다.

`ExpiresOn`  <a name="sam-graphqlapi-apikeys-expireson"></a>
API 키가 만료되는 시간입니다. 날짜는 Epoch 이후 경과한 초로 표시되며 가장 가까운 시간으로 반올림됩니다.  
*유형*: Double  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::AppSync::ApiKey` 리소스의 `[Expires](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html#cfn-appsync-apikey-expires)` 속성으로 직접 전달됩니다.

`LogicalId`  <a name="sam-graphqlapi-apikeys-logicalid"></a>
귀하의 API 키의 고유한 이름.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::AppSync::ApiKey` 리소스의 `[ApiKeyId](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-apikey.html#cfn-appsync-apikey-apikeyid)` 속성으로 직접 전달됩니다.

# Auth
<a name="sam-property-graphqlapi-auth"></a>

귀하의 GraphQL API에 대한 권한 부여를 구성합니다.

## 구문
<a name="sam-property-graphqlapi-auth-syntax"></a>

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

### YAML
<a name="sam-property-graphqlapi-auth-syntax-yaml"></a>

```
Additional:
- AuthProvider
LambdaAuthorizer: [LambdaAuthorizerConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-lambdaauthorizerconfig.html)
OpenIDConnect: [OpenIDConnectConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-openidconnectconfig.html)
Type: String
UserPool: [UserPoolConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-userpoolconfig.html)
```

## 속성
<a name="sam-property-graphqlapi-auth-properties"></a>

`Additional`  <a name="sam-graphqlapi-auth-additional"></a>
귀하의 GraphQLAPI에 대한 추가 인증 유형 목록.  
*유형*: [AuthProvider](sam-property-graphqlapi-auth-authprovider.md) 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 동등한 속성이 CloudFormation 없습니다.

`LambdaAuthorizer`  <a name="sam-graphqlapi-auth-lambdaauthorizer"></a>
Lambda 함수 권한 부여자에 대한 선택적 권한 부여 구성을 지정합니다. `Type`이 `AWS_LAMBDA`로 지정된 경우 이 선택적 속성을 구성할 수 있습니다.  
*유형*: [LambdaAuthorizerConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-lambdaauthorizerconfig)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::AppSync::GraphQLApi` 리소스의 `[ LambdaAuthorizerConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-lambdaauthorizerconfig.html)` 속성으로 직접 전달됩니다.

`OpenIDConnect`  <a name="sam-graphqlapi-auth-openidconnect"></a>
귀하의 OpenID Connect 규정 준수 서비스를 위한 선택적 권한 부여 구성을 지정합니다. `Type`이 `OPENID_CONNECT`로 지정된 경우 이 선택적 속성을 구성할 수 있습니다.  
*유형*: [OpenIDConnectConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-openidconnectconfig)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::AppSync::GraphQLApi` 리소스의 `[ OpenIDConnectConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-openidconnectconfig.html)` 속성으로 직접 전달됩니다.

`Type`  <a name="sam-graphqlapi-auth-type"></a>
애플리케이션과 API 간의 기본 권한 부여 유형입니다 AWS AppSync GraphQL.  
허용된 값의 목록과 설명은 *AWS AppSync 개발자 안내서*의 [권한 부여 및 인증을](https://docs.aws.amazon.com/appsync/latest/devguide/security-authz.html) 참조하세요.  
Lambda 권한 부여자(`AWS_LAMBDA`)를 지정하면 GraphQL는 API와 Lambda 함수 간에 권한을 프로비저닝하는 AWS Identity and Access Management (IAM) 정책을 AWS SAM 생성합니다.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::AppSync::GraphQLApi` 리소스의 `[AuthenticationType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-authenticationtype)` 속성으로 직접 전달됩니다.

`UserPool`  <a name="sam-graphqlapi-auth-userpool"></a>
Amazon Cognito 사용자 풀을 사용하기 위한 선택적 권한 부여 구성을 지정합니다. `Type`이 `AMAZON_COGNITO_USER_POOLS`로 지정된 경우 이 선택적 속성을 구성할 수 있습니다.  
*유형*: [UserPoolConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-userpoolconfig)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::AppSync::GraphQLApi` 리소스의 `[ UserPoolConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-userpoolconfig.html)` 속성으로 직접 전달됩니다.

## 예제
<a name="sam-property-graphqlapi-auth-examples"></a>

### 기본 및 추가 권한 부여 유형을 구성합니다.
<a name="sam-property-graphqlapi-auth-examples-example1"></a>

이 예시에서는 먼저 Lambda 권한 부여자를 GraphQL API의 기본 권한 부여 유형으로 구성합니다. 

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
...
Resources:
  MyGraphQLAPI:
    Type: AWS::Serverless::GraphQLApi
    Properties:
      Auth:
        Type: AWS_LAMBDA
        LambdaAuthorizer:
          AuthorizerUri: !GetAtt Authorizer1.Arn
          AuthorizerResultTtlInSeconds: 10
          IdentityValidationExpression: hello
```

다음으로 AWS SAM 템플릿에 다음을 추가하여 GraphQL API에 대한 추가 권한 부여 유형을 구성합니다. 

```
        Additional:
        - Type: AWS_IAM
        - Type: API_KEY
        - Type: OPENID_CONNECT
          OpenIDConnect:
            AuthTTL: 10
            ClientId: myId
            IatTTL: 10
            Issuer: prod
```

그러면 다음 AWS SAM 템플릿이 생성됩니다.

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
...
Resources:
  MyGraphQLAPI:
    Type: AWS::Serverless::GraphQLApi
    Properties:
      Auth:
        Type: AWS_LAMBDA
        LambdaAuthorizer:
          AuthorizerUri: !GetAtt Authorizer1.Arn
          AuthorizerResultTtlInSeconds: 10
          IdentityValidationExpression: hello
        Additional:
        - Type: AWS_IAM
        - Type: API_KEY
        - Type: OPENID_CONNECT
          OpenIDConnect:
            AuthTTL: 10
            ClientId: myId
            IatTTL: 10
            Issuer: prod
```

# AuthProvider
<a name="sam-property-graphqlapi-auth-authprovider"></a>

귀하의 추가적인 GraphQL API 권한 부여 유형을 위한 선택적 권한 부여 구성.

## 구문
<a name="sam-property-graphqlapi-auth-authprovider-syntax"></a>

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

### YAML
<a name="sam-property-graphqlapi-auth-authprovider-syntax-yaml"></a>

```
LambdaAuthorizer: [LambdaAuthorizerConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-lambdaauthorizerconfig.html)
OpenIDConnect: [OpenIDConnectConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-openidconnectconfig.html)
Type: String
UserPool: [UserPoolConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-userpoolconfig.html)
```

## 속성
<a name="sam-property-graphqlapi-auth-authprovider-properties"></a>

`LambdaAuthorizer`  <a name="sam-graphqlapi-auth-authprovider-lambdaauthorizer"></a>
 AWS Lambda 함수 권한 부여자에 대한 선택적 권한 부여 구성을 지정합니다. `Type`이 `AWS_LAMBDA`로 지정된 경우 이 선택적 속성을 구성할 수 있습니다.  
*유형*: [LambdaAuthorizerConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-lambdaauthorizerconfig)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::AppSync::GraphQLApi` `[ AdditionalAuthenticationProvider](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-additionalauthenticationprovider.html)` 객체의 `[ LambdaAuthorizerConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-lambdaauthorizerconfig.html)` 속성으로 직접 전달됩니다.

`OpenIDConnect`  <a name="sam-graphqlapi-auth-authprovider-openidconnect"></a>
귀하의 OpenID Connect 규정 준수 서비스를 위한 선택적 권한 부여 구성을 지정합니다. `Type`이 `OPENID_CONNECT`로 지정된 경우 이 선택적 속성을 구성할 수 있습니다.  
*유형*: [OpenIDConnectConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-openidconnectconfig)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::AppSync::GraphQLApi` `[ AdditionalAuthenticationProvider](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-additionalauthenticationprovider.html)` 객체의 `[ OpenIDConnectConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-openidconnectconfig.html)` 속성으로 직접 전달됩니다.

`Type`  <a name="sam-graphqlapi-auth-authprovider-type"></a>
애플리케이션과 API 간의 기본 권한 부여 유형입니다 AWS AppSync GraphQL.  
허용된 값의 목록과 설명은 *AWS AppSync 개발자 안내서*의 [권한 부여 및 인증을](https://docs.aws.amazon.com/appsync/latest/devguide/security-authz.html) 참조하세요.  
Lambda 권한 부여자(`AWS_LAMBDA`)를 지정하면 GraphQL는 API와 Lambda 함수 간에 권한을 프로비저닝하는 AWS Identity and Access Management (IAM) 정책을 AWS SAM 생성합니다.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::AppSync::GraphQLApi` `[ AdditionalAuthenticationProvider](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-additionalauthenticationprovider.html)` 객체의 `[ AuthenticationType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-additionalauthenticationprovider.html#cfn-appsync-graphqlapi-additionalauthenticationprovider-authenticationtype)` 속성으로 직접 전달됩니다.

`UserPool`  <a name="sam-graphqlapi-auth-authprovider-userpool"></a>
Amazon Cognito 사용자 풀을 사용하기 위한 선택적 권한 부여 구성을 지정합니다. `Type`이 `AMAZON_COGNITO_USER_POOLS`로 지정된 경우 이 선택적 속성을 구성할 수 있습니다.  
*유형*: [UserPoolConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-graphqlapi.html#cfn-appsync-graphqlapi-userpoolconfig)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::AppSync::GraphQLApi` `[ AdditionalAuthenticationProvider](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-additionalauthenticationprovider.html)` 객체의 `[ UserPoolConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-graphqlapi-userpoolconfig.html)` 속성으로 직접 전달됩니다.

# 데이터 소스
<a name="sam-property-graphqlapi-datasource"></a>

GraphQL API 해석기가 연결할 수 있는 데이터 소스를 구성하십시오. AWS Serverless Application Model (AWS SAM) 템플릿을 사용하여 다음 데이터 소스에 대한 연결을 구성할 수 있습니다.
+ Amazon DynamoDB
+ AWS Lambda

데이터 소스에 대해 자세히 알아보려면 *AWS AppSync 개발자 안내서*의 [데이터 소스 연결](https://docs.aws.amazon.com/appsync/latest/devguide/attaching-a-data-source.html)을 참조하세요.

## 구문
<a name="sam-property-graphqlapi-datasource-syntax"></a>

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

### YAML
<a name="sam-property-graphqlapi-datasource-syntax-yaml"></a>

```
DynamoDb: DynamoDb
Lambda: Lambda
```

## 속성
<a name="sam-property-graphqlapi-datasource-properties"></a>

`DynamoDb`  <a name="sam-graphqlapi-datasource-dynamodb"></a>
DynamoDB 테이블을 GraphQL API 해석기의 데이터 소스로 구성합니다.  
*유형*: [DynamoDB](sam-property-graphqlapi-datasource-dynamodb.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

`Lambda`  <a name="sam-graphqlapi-datasource-lambda"></a>
Lambda 함수를 귀하의 GraphQL API 해석기의 데이터 소스로 구성합니다.  
*유형*: [Lambda](sam-property-graphqlapi-datasource-lambda.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

# DynamoDb
<a name="sam-property-graphqlapi-datasource-dynamodb"></a>

Amazon DynamoDB 테이블을 귀하의 GraphQLAPI 해석기의 데이터 소스로 구성합니다. 

## 구문
<a name="sam-property-graphqlapi-datasource-dynamodb-syntax"></a>

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

### YAML
<a name="sam-property-graphqlapi-datasource-dynamodb-syntax-yaml"></a>

```
LogicalId:
  DeltaSync: [DeltaSyncConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-deltasyncconfig.html)
  Description: String
  Name: String
  Permissions: List
  Region: String
  ServiceRoleArn: String
  TableArn: String
  TableName: String
  UseCallerCredentials: Boolean
  Versioned: Boolean
```

## 속성
<a name="sam-property-graphqlapi-datasource-dynamodb-properties"></a>

`DeltaSync`  <a name="sam-graphqlapi-datasource-dynamodb-deltasync"></a>
델타 동기화 구성에 대해 설명합니다.  
*유형*: [DeltaSyncConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-deltasyncconfig.html)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::AppSync::DataSource DynamoDBConfig` 객체의 `[DeltaSyncConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-dynamodbconfig.html#cfn-appsync-datasource-dynamodbconfig-deltasyncconfig)` 속성으로 직접 전달됩니다.

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

`LogicalId`  <a name="sam-graphqlapi-datasource-dynamodb-logicalid"></a>
귀하의 데이터 소스의 고유한 이름.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::AppSync::DataSource` 리소스의 `[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-name)` 속성으로 직접 전달됩니다.

`Name`  <a name="sam-graphqlapi-datasource-dynamodb-name"></a>
귀하의 데이터 소스의 이름. 이 속성을 지정하여 `LogicalId` 값을 재정의합니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::AppSync::DataSource` 리소스의 `[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-name)` 속성으로 직접 전달됩니다.

`Permissions`  <a name="sam-graphqlapi-datasource-dynamodb-permissions"></a>
[AWS SAM 커넥터](managing-permissions-connectors.md)를 사용하여 데이터 소스에 권한을 제공합니다. 다음 값 중 하나를 목록에 제공할 수 있습니다.  
+ `Read` – 귀하의 리졸버가 데이터 소스를 읽을 수 있도록 허용합니다.
+ `Write` – 귀하의 리졸버가 데이터 소스에 쓸 수 있도록 허용합니다.
AWS SAM 는 배포 시 변환된 `AWS::Serverless::Connector` 리소스를 사용하여 권한을 프로비저닝합니다. 생성된 리소스에 대한 자세한 내용은을 참조하세요[CloudFormation 지정할 때 생성된 리소스 AWS::Serverless::Connector](sam-specification-generated-resources-connector.md).  
`Permissions` 또는 `ServiceRoleArn`을 지정할 수 있지만 둘 다 함께 지정할 수는 없습니다. 둘 다 지정하지 않으면 AWS SAM 는 `Read` 및의 기본값을 생성합니다`Write`. 데이터 소스에 대한 액세스를 취소하려면 AWS SAM 템플릿에서 DynamoDB 객체를 제거합니다.
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다. 이것은 `AWS::Serverless::Connector` 리소스의 `Permissions` 속성과 유사합니다.

`Region`  <a name="sam-graphqlapi-datasource-dynamodb-region"></a>
DynamoDB 테이블 AWS 리전 의 입니다. 지정하지 않으면에서를 AWS SAM 사용합니다`[AWS::Region](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/pseudo-parameter-reference.html#cfn-pseudo-param-region)`.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::AppSync::DataSource DynamoDBConfig` 객체의 `[AwsRegion](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-dynamodbconfig.html#cfn-appsync-datasource-dynamodbconfig-awsregion)` 속성으로 직접 전달됩니다.

`ServiceRoleArn`  <a name="sam-graphqlapi-datasource-dynamodb-servicerolearn"></a>
데이터 소스에 대한 AWS Identity and Access Management (IAM) 서비스 역할 ARN입니다. 시스템은 데이터 소스에 액세스할 때 이 역할을 사용합니다.  
`Permissions` 또는 `ServiceRoleArn`을 지정할 수 있지만 둘 다 함께 지정할 수는 없습니다.  
*유형*: 문자열  
*필수*: 아니요. 지정하지 않으면의 기본값을 AWS SAM 적용합니다`Permissions`.  
*CloudFormation 호환성*:이 속성은 `AWS::AppSync::DataSource` 리소스의 `[ServiceRoleArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-servicerolearn)` 속성으로 직접 전달됩니다.

`TableArn`  <a name="sam-graphqlapi-datasource-dynamodb-tablearn"></a>
DynamoDB 테이블의 ARN.  
*유형*: 문자열  
*필수 항목 여부*: 조건부. `ServiceRoleArn`를 지정하지 않는 경우 `TableArn`가 필수입니다.  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

`TableName`  <a name="sam-graphqlapi-datasource-dynamodb-tablename"></a>
테이블 이름.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::AppSync::DataSource DynamoDBConfig` 객체의 `[TableName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-dynamodbconfig.html#cfn-appsync-datasource-dynamodbconfig-tablename)` 속성으로 직접 전달됩니다.

`UseCallerCredentials`  <a name="sam-graphqlapi-datasource-dynamodb-usecallercredentials"></a>
이 데이터 소스로 IAM을 사용하려면 `true`로 설정합니다.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::AppSync::DataSource DynamoDBConfig` 객체의 `[UseCallerCredentials](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-dynamodbconfig.html#cfn-appsync-datasource-dynamodbconfig-usecallercredentials)` 속성으로 직접 전달됩니다.

`Versioned`  <a name="sam-graphqlapi-datasource-dynamodb-versioned"></a>
이 데이터 소스로 [충돌 감지 및 충돌 해결 및 동기화](https://docs.aws.amazon.com/appsync/latest/devguide/conflict-detection-and-sync.html)를 사용하려면 `true`로 설정합니다.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::AppSync::DataSource DynamoDBConfig` 객체의 `[Versioned](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-dynamodbconfig.html#cfn-appsync-datasource-dynamodbconfig-versioned)` 속성으로 직접 전달됩니다.

# Lambda
<a name="sam-property-graphqlapi-datasource-lambda"></a>

 AWS Lambda 함수를 GraphQL API 해석기의 데이터 소스로 구성합니다.

## 구문
<a name="sam-property-graphqlapi-datasource-lambda-syntax"></a>

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

### YAML
<a name="sam-property-graphqlapi-datasource-lambda-syntax-yaml"></a>

```
LogicalId:
  Description: String
  FunctionArn: String
  Name: String
  ServiceRoleArn: String
```

## 속성
<a name="sam-property-graphqlapi-datasource-lambda-properties"></a>

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

`FunctionArn`  <a name="sam-graphqlapi-datasource-lambda-functionarn"></a>
Lambda 함수의 ARN입니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::AppSync::DataSource LambdaConfig` 객체의 `[LambdaFunctionArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-datasource-lambdaconfig.html#cfn-appsync-datasource-lambdaconfig-lambdafunctionarn)` 속성으로 직접 전달됩니다.

`LogicalId`  <a name="sam-graphqlapi-datasource-lambda-logicalid"></a>
귀하의 데이터 소스의 고유한 이름.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::AppSync::DataSource` 리소스의 `[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-name)` 속성으로 직접 전달됩니다.

`Name`  <a name="sam-graphqlapi-datasource-lambda-name"></a>
귀하의 데이터 소스의 이름. 이 속성을 지정하여 `LogicalId` 값을 재정의합니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::AppSync::DataSource` 리소스의 `[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-name)` 속성으로 직접 전달됩니다.

`ServiceRoleArn`  <a name="sam-graphqlapi-datasource-lambda-servicerolearn"></a>
데이터 소스에 대한 AWS Identity and Access Management (IAM) 서비스 역할 ARN입니다. 시스템은 데이터 소스에 액세스할 때 이 역할을 사용합니다.  
데이터 소스에 대한 액세스 권한을 취소하려면 귀하의 AWS SAM 템플릿에서 Lambda 객체를 제거하십시오. 
*유형*: 문자열  
*필수*: 아니요. 지정하지 않으면 AWS SAM 가를 사용하여 `Write` 권한을 프로비저닝합니다[AWS SAM 커넥터](managing-permissions-connectors.md).  
*CloudFormation 호환성*:이 속성은 `AWS::AppSync::DataSource` 리소스의 `[ServiceRoleArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-servicerolearn)` 속성으로 직접 전달됩니다.

# 함수
<a name="sam-property-graphqlapi-function"></a>

특정 작업을 수행하도록 GraphQL API의 함수를 구성합니다.

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

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

### YAML
<a name="sam-property-graphqlapi-function-syntax-yaml"></a>

```
LogicalId:
  CodeUri: String
  DataSource: String
  Description: String
  Id: String
  InlineCode: String
  MaxBatchSize: Integer
  Name: String
  Runtime: Runtime
  Sync: [SyncConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-functionconfiguration-syncconfig.html)
```

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

`CodeUri`  <a name="sam-graphqlapi-function-codeuri"></a>
함수 코드의 Amazon Simple Storage Service(S3) URI 또는 로컬 폴더 경로.  
로컬 폴더의 경로를 지정하는 경우 배포 전에 파일을 먼저 Amazon S3에 업로드해야 CloudFormation 합니다. AWS SAMCLI를 사용하여 이 프로세스를 용이하게 할 수 있습니다. 자세한 내용은 [가 배포 시 로컬 파일을 AWS SAM 업로드하는 방법](deploy-upload-local-files.md)을 참조하십시오  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::AppSync::FunctionConfiguration` 리소스의 `[CodeS3Location](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html#cfn-appsync-functionconfiguration-codes3location)` 속성으로 직접 전달됩니다.

`DataSource`  <a name="sam-graphqlapi-function-datasource"></a>
이 함수가 연결되는 데이터 원본의 이름입니다.  
+ `AWS::Serverless::GraphQLApi` 리소스 내 데이터 소스를 참조하려면 해당 데이터 소스의 논리적 ID를 지정합니다.
+ `AWS::Serverless::GraphQLApi` 리소스 외부의 데이터 소스를 참조하려면 `Fn::GetAtt` 내장 함수를 사용하여 해당 `Name` 속성을 제공합니다. 예를 들어 `!GetAtt MyLambdaDataSource.Name`입니다.
+ 다른 스택의 데이터 소스를 참조하려면 `[Fn::ImportValue](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-importvalue.html)`를 사용합니다.
변형을 지정하면 `[NONE | None | none]`가 `AWS::AppSync::DataSource` `[Type](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-datasource.html#cfn-appsync-datasource-type)` 객체에 대한 `None` 값을 AWS SAM 생성합니다.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::AppSync::FunctionConfiguration` 리소스의 `[DataSourceName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html#cfn-appsync-functionconfiguration-datasourcename)` 속성으로 직접 전달됩니다.

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

`Id`  <a name="sam-graphqlapi-function-id"></a>
`AWS::Serverless::GraphQLApi` 리소스 외부에 있는 함수의 함수 ID입니다.  
+ 동일한 AWS SAM 템플릿 내에서 함수를 참조하려면 `Fn::GetAtt` 내장 함수를 사용합니다. 예: `Id: !GetAtt createPostItemFunc.FunctionId`.
+ 다른 스택의 함수를 참조하려면 `[Fn::ImportValue](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-importvalue.html)`를 사용합니다.
`Id`를 사용하는 경우 다른 모든 속성은 허용되지 않습니다. AWS SAM 는 참조된 함수의 함수 ID를 자동으로 전달합니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

`InlineCode`  <a name="sam-graphqlapi-function-inlinecode"></a>
요청 및 응답 함수가 포함된 코드입니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::AppSync::FunctionConfiguration` 리소스의 `[Code](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html#cfn-appsync-functionconfiguration-code)` 속성으로 직접 전달됩니다.

`LogicalId`  <a name="sam-graphqlapi-function-logicalid"></a>
함수의 고유한 이름.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::AppSync::FunctionConfiguration` 리소스의 `[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html#cfn-appsync-functionconfiguration-name)` 속성으로 직접 전달됩니다.

`MaxBatchSize`  <a name="sam-graphqlapi-function-maxbatchsize"></a>
`BatchInvoke` 작업에서 단일 AWS Lambda 함수에 보낼 최대 해석기 요청 입력 수입니다.  
*유형*: 정수  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::AppSync::FunctionConfiguration` 리소스의 [MaxBatchSize](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html#cfn-appsync-functionconfiguration-maxbatchsize) 속성으로 직접 전달됩니다.

`Name`  <a name="sam-graphqlapi-function-name"></a>
함수의 이름입니다. `LogicalId` 값을 재정의하도록 지정합니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::AppSync::FunctionConfiguration` 리소스의 `[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html#cfn-appsync-functionconfiguration-name)` 속성으로 직접 전달됩니다.

`Runtime`  <a name="sam-graphqlapi-function-runtime"></a>
 AWS AppSync 파이프라인 해석기 또는 AWS AppSync 함수에서 사용하는 런타임을 설명합니다. 사용할 런타임의 이름과 버전을 지정합니다.  
*유형*: [런타임](sam-property-graphqlapi-function-runtime.md)  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다. 이것은 `[Runtime](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html#cfn-appsync-functionconfiguration-runtime)` 리소스의 `AWS::AppSync::FunctionConfiguration` 속성과 유사합니다.

`Sync`  <a name="sam-graphqlapi-function-sync"></a>
해석기에 대한 동기화 구성에 대해 설명합니다.  
해석기가 호출될 때 사용할 충돌 감지 전략과 해결 전략을 지정합니다.  
*유형*: [SyncConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-functionconfiguration-syncconfig.html)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::AppSync::FunctionConfiguration` 리소스의 `[SyncConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-functionconfiguration.html#cfn-appsync-functionconfiguration-syncconfig)` 속성으로 직접 전달됩니다.

# 런타임
<a name="sam-property-graphqlapi-function-runtime"></a>

파이프라인 해석기 또는 함수의 런타임 사용할 런타임의 이름과 버전을 지정합니다.

## 구문
<a name="sam-property-graphqlapi-function-runtime-syntax"></a>

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

### YAML
<a name="sam-property-graphqlapi-function-runtime-syntax-yaml"></a>

```
Name: String
Version: String
```

## 속성
<a name="sam-property-graphqlapi-function-runtime-properties"></a>

`Name`  <a name="sam-graphqlapi-function-runtime-name"></a>
사용할 런타임의 이름. 현재, 유일하게 허용되는 값은 `APPSYNC_JS`입니다.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::AppSync::FunctionConfiguration AppSyncRuntime` 객체의 `[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-functionconfiguration-appsyncruntime.html#cfn-appsync-functionconfiguration-appsyncruntime-name)` 속성으로 직접 전달됩니다.

`Version`  <a name="sam-graphqlapi-function-runtime-version"></a>
사용할 런타임의 버전. 현재 유일하게 허용되는 버전은 `1.0.0`입니다.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::AppSync::FunctionConfiguration AppSyncRuntime` 객체의 `[RuntimeVersion](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-functionconfiguration-appsyncruntime.html#cfn-appsync-functionconfiguration-appsyncruntime-runtimeversion)` 속성으로 직접 전달됩니다.

# 해석기
<a name="sam-property-graphqlapi-resolver"></a>

GraphQL API의 필드에 대한 해석기를 구성합니다. AWS Serverless Application Model (AWS SAM)는 [JavaScript 파이프라인 해석기를](https://docs.aws.amazon.com/appsync/latest/devguide/resolver-reference-overview-js.html) 지원합니다.

## 구문
<a name="sam-property-graphqlapi-resolver-syntax"></a>

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

### YAML
<a name="sam-property-graphqlapi-resolver-syntax-yaml"></a>

```
OperationType:
  LogicalId:
    Caching: [CachingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-cachingconfig.html)
    CodeUri: String
    FieldName: String
    InlineCode: String 
    MaxBatchSize: Integer
    Pipeline: List
    Runtime: Runtime
    Sync: [SyncConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-syncconfig.html)
```

## 속성
<a name="sam-property-graphqlapi-resolver-properties"></a>

`Caching`  <a name="sam-graphqlapi-resolver-caching"></a>
캐싱이 활성화된 해석기에 대한 캐싱 구성입니다.  
*Type*: [CachingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-cachingconfig.html)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::AppSync::Resolver` 리소스의 `[CachingConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-cachingconfig)` 속성으로 직접 전달됩니다.

`CodeUri`  <a name="sam-graphqlapi-resolver-codeuri"></a>
해석기 함수 코드의 Amazon Simple Storage Service(S3) URI 또는 로컬 폴더 경로.  
로컬 폴더의 경로를 지정하는 경우 배포 전에 파일을 먼저 Amazon S3에 업로드해야 CloudFormation 합니다. AWS SAMCLI를 사용하여 이 프로세스를 용이하게 할 수 있습니다. 자세한 내용은 [가 배포 시 로컬 파일을 AWS SAM 업로드하는 방법](deploy-upload-local-files.md) 단원을 참조하십시오.  
`CodeUri` 또는이 제공되지 않은 경우 `InlineCode`는 요청을 첫 번째 파이프라인 함수로 `InlineCode`리디렉션하고 마지막 파이프라인 함수로부터 응답을 수신하는를 AWS SAM 생성합니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::AppSync::Resolver` 리소스의 `[CodeS3Location](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-codes3location)` 속성으로 직접 전달됩니다.

`FieldName`  <a name="sam-graphqlapi-resolver-fieldname"></a>
해석기의 이름. 이 속성을 지정하여 `LogicalId` 값을 재정의합니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::AppSync::Resolver` 리소스의 `[FieldName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-fieldname)` 속성으로 직접 전달됩니다.

`InlineCode`  <a name="sam-graphqlapi-resolver-inlinecode"></a>
요청 및 응답 함수가 포함된 해석기 코드입니다.  
`CodeUri` 또는이 제공되지 않은 경우 `InlineCode`는 요청을 첫 번째 파이프라인 함수로 `InlineCode`리디렉션하고 마지막 파이프라인 함수로부터 응답을 수신하는를 AWS SAM 생성합니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::AppSync::Resolver` 리소스의 `[Code](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-code)` 속성으로 직접 전달됩니다.

`LogicalId`  <a name="sam-graphqlapi-resolver-logicalid"></a>
해석기의 고유 이름입니다. GraphQL 스키마에서 해석기 이름은 사용된 필드 이름과 일치해야 합니다. `LogicalId`에 같은 필드 이름을 사용합니다.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

`MaxBatchSize`  <a name="sam-graphqlapi-resolver-maxbatchsize"></a>
`BatchInvoke` 작업에서 단일 AWS Lambda 함수에 보낼 최대 해석기 요청 입력 수입니다.  
*유형*: 정수  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::AppSync::Resolver` 리소스의 `[MaxBatchSize](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-maxbatchsize)` 속성으로 직접 전달됩니다.

`OperationType`  <a name="sam-graphqlapi-resolver-operationtype"></a>
해석기와 관련된 GraphQL 작업 유형입니다. 예: `Query`, `Mutation` 또는 `Subscription`. 단일 `OperationType` 내에 `LogicalId`으로 여러 개의 해석기를 중첩할 수 있습니다.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::AppSync::Resolver` 리소스의 `[TypeName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-typename)` 속성으로 직접 전달됩니다.

`Pipeline`  <a name="sam-graphqlapi-resolver-pipeline"></a>
파이프라인 해석기와 연결된 함수. 목록에서 논리적 ID로 함수를 지정합니다.  
*유형*: 목록  
*필수 항목 여부*: 예  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다. 이것은 `[PipelineConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-pipelineconfig)` 리소스의 `AWS::AppSync::Resolver` 속성과 유사합니다.

`Runtime`  <a name="sam-graphqlapi-resolver-runtime"></a>
파이프라인 해석기 또는 함수의 런타임 사용할 런타임의 이름과 버전을 지정합니다.  
*유형*: [런타임](sam-property-graphqlapi-resolver-runtime.md)  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다. 이것은 `[Runtime](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-runtime)` 리소스의 `AWS::AppSync::Resolver` 속성과 유사합니다.

`Sync`  <a name="sam-graphqlapi-resolver-sync"></a>
해석기에 대한 동기화 구성에 대해 설명합니다.  
해석기가 호출될 때 사용할 충돌 감지 전략과 해결 전략을 지정합니다.  
*유형*: [SyncConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-syncconfig.html)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::AppSync::Resolver` 리소스의 `[SyncConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-appsync-resolver.html#cfn-appsync-resolver-syncconfig)` 속성으로 직접 전달됩니다.

## 예제
<a name="sam-property-graphqlapi-resolver-examples"></a>

### AWS SAM 생성된 해석기 함수 코드를 사용하고 필드를 변수로 저장
<a name="sam-property-graphqlapi-resolver-examples-example1"></a>

예제의 GraphQL 스키마는 다음과 같습니다.

```
schema {
  query: Query
  mutation: Mutation
}

type Query {
  getPost(id: ID!): Post
}

type Mutation {
  addPost(author: String!, title: String!, content: String!): Post!
}

type Post {
  id: ID!
  author: String
  title: String
  content: String
}
```

다음은 AWS SAM 템플릿의 코드 조각입니다.

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
...
Resources:
  MyGraphQLApi:
    Type: AWS::Serverless::GraphQLApi
    Properties:
      ...
      Functions:
        preprocessPostItem:
          ...
        createPostItem:
          ...
      Resolvers:
        Mutation:
          addPost:
            Runtime:
              Name: APPSYNC_JS
              Version: 1.0.0
            Pipeline:
            - preprocessPostItem
            - createPostItem
```

 AWS SAM 템플릿에서는 `CodeUri` 또는를 지정하지 않습니다`InlineCode`. 배포 시는 해석기에 대해 다음과 같은 인라인 코드를 AWS SAM 자동으로 생성합니다.

```
export function request(ctx) {
  return {};
}

export function response(ctx) {
  return ctx.prev.result;
}
```

이 디폴트 해석기 코드는 요청을 첫 번째 파이프라인 함수로 리디렉션하고 마지막 파이프라인 함수로부터 응답을 받습니다.

첫 번째 파이프라인 함수에서는 제공된 `args` 필드를 사용하여 요청 객체를 파싱하고 변수를 생성할 수 있습니다. 그러면 함수 내에서 이러한 변수를 사용할 수 있습니다. 다음은 `preprocessPostItem` 함수의 예입니다.

```
import { util } from "@aws-appsync/utils";

export function request(ctx) {
  const author = ctx.args.author;
  const title = ctx.args.title;
  const content = ctx.args.content;
  
  // Use variables to process data
  
}

export function response(ctx) {
  return ctx.result;
}
```

# 런타임
<a name="sam-property-graphqlapi-resolver-runtime"></a>

파이프라인 해석기 또는 함수의 런타임 사용할 런타임의 이름과 버전을 지정합니다.

## 구문
<a name="sam-property-graphqlapi-resolver-runtime-syntax"></a>

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

### YAML
<a name="sam-property-graphqlapi-resolver-runtime-syntax-yaml"></a>

```
Name: String
Version: String
```

## 속성
<a name="sam-property-graphqlapi-resolver-runtime-properties"></a>

`Name`  <a name="sam-graphqlapi-resolver-runtime-name"></a>
사용할 런타임의 이름. 현재, 유일하게 허용되는 값은 `APPSYNC_JS`입니다.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::AppSync::Resolver AppSyncRuntime` 객체의 `[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-appsyncruntime.html#cfn-appsync-resolver-appsyncruntime-name)` 속성으로 직접 전달됩니다.

`Version`  <a name="sam-graphqlapi-resolver-runtime-version"></a>
사용할 런타임의 버전. 현재 유일하게 허용되는 버전은 `1.0.0`입니다.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::AppSync::Resolver AppSyncRuntime` 객체의 `[RuntimeVersion](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-appsync-resolver-appsyncruntime.html#cfn-appsync-resolver-appsyncruntime-runtimeversion)` 속성으로 직접 전달됩니다.

# AWS::Serverless::HttpApi
<a name="sam-resource-httpapi"></a>

Amazon API Gateway HTTP API를 생성함으로써 귀하는 REST API보다 지연 시간이 짧고 비용이 저렴한 RESTful API를 생성할 수 있습니다. 자세한 내용을 알아보려면 *API Gateway 개발자 안내서*의 [HTTP API로 작업하기](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api.html)를 참조하세요.

 CloudFormation 후크 또는 IAM 정책을 사용하여 API Gateway 리소스에 대한 액세스를 제어하는 권한 부여자가 연결되어 있는지 확인하는 것이 좋습니다.

 CloudFormation 후크 사용에 대한 자세한 내용은 *CloudFormation CLI 사용 설명서*의 [후크 등록](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/registering-hook-python.html) 및 [apigw-enforce-authorizer](https://github.com/aws-cloudformation/aws-cloudformation-samples/tree/main/hooks/python-hooks/apigw-enforce-authorizer/) GitHub 리포지토리를 참조하세요.

IAM 정책 사용에 대한 자세한 내용은 [API 게이트웨이 개발자 가이드의](https://docs.aws.amazon.com/apigateway/latest/developerguide/security_iam_id-based-policy-examples.html#security_iam_id-based-policy-examples-require-authorization) *API 경로에 권한 부여 필요를* 참조하세요.

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

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

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

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

```
Type: AWS::Serverless::HttpApi
Properties:
  [AccessLogSettings](#sam-httpapi-accesslogsettings): [AccessLogSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-accesslogsettings)
  [Auth](#sam-httpapi-auth): HttpApiAuth
  [CorsConfiguration](#sam-httpapi-corsconfiguration): String | HttpApiCorsConfiguration
  [DefaultRouteSettings](#sam-httpapi-defaultroutesettings): [RouteSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-routesettings)
  [DefinitionBody](#sam-httpapi-definitionbody): JSON
  [DefinitionUri](#sam-httpapi-definitionuri): String | HttpApiDefinition
  [Description](#sam-httpapi-description): String
  [DisableExecuteApiEndpoint](#sam-httpapi-disableexecuteapiendpoint): Boolean
  [Domain](#sam-httpapi-domain): HttpApiDomainConfiguration
  [FailOnWarnings](#sam-httpapi-failonwarnings): Boolean
  Name: String
  PropagateTags: Boolean
  [RouteSettings](#sam-httpapi-routesettings): [RouteSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-routesettings)
  [StageName](#sam-httpapi-stagename): String
  [StageVariables](#sam-httpapi-stagevariables): [Json](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-stagevariables)
  [Tags](#sam-httpapi-tags): Map
```

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

 `AccessLogSettings`   <a name="sam-httpapi-accesslogsettings"></a>
단계의 로깅 액세스에 대한 설정입니다.  
*유형*: [AccessLogSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-accesslogsettings)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGatewayV2::Stage` 리소스의 `[AccessLogSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-accesslogsettings)` 속성으로 직접 전달됩니다.

 `Auth`   <a name="sam-httpapi-auth"></a>
API Gateway HTTP API에 대한 액세스를 제어하기 위한 권한 부여를 구성합니다.  
자세한 내용은 *API Gateway 개발자 가이드*에서 [JWT 권한 부여자를 사용하여 HTTP API에 대한 액세스 제어](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-jwt-authorizer.html)를 참조하십시오.  
*[유형: HTTP/APIAuth](sam-property-httpapi-httpapiauth.md)*  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `CorsConfiguration`   <a name="sam-httpapi-corsconfiguration"></a>
귀하의 모든 API Gateway HTTP API를 위하여 교차 오리진 리소스 공유(CORS)를 관리합니다. 허용할 도메인을 문자열로 지정하거나 `HttpApiCorsConfiguration` 객체를 지정합니다. CORS AWS SAM 는 OpenAPI 정의를 수정해야 하므로 CORS는 `DefinitionBody` 속성이 지정된 경우에만 작동합니다.  
자세한 내용은 *API Gateway 개발자 안내서*의 [HTTP API에 대한 CORS 구성](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-cors.html)을 참조하세요.  
`CorsConfiguration`가 OpenAPI 정의와 속성 수준에서 모두 설정된 경우는 두 구성 소스를 우선하는 속성과 AWS SAM 병합합니다. 이 속성을 `true`로 설정하면 모든 오리진이 허용됩니다.
*유형*: 문자열 \$1[HttpApiCorsConfiguration](sam-property-httpapi-httpapicorsconfiguration.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `DefaultRouteSettings`   <a name="sam-httpapi-defaultroutesettings"></a>
이 HTTP API에 대한 기본 라우팅 설정입니다. 이 설정은 특정 경로에 대해 `RouteSettings` 속성에서 재정의하지 않는 한 모든 경로에 적용됩니다.  
*유형*: [RouteSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-routesettings)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGatewayV2::Stage` 리소스의 `[RouteSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-routesettings)` 속성으로 직접 전달됩니다.

 `DefinitionBody`   <a name="sam-httpapi-definitionbody"></a>
HTTP API를 설명하는 OpenAPI 정의. `DefinitionUri` 또는를 지정하지 않으면 템플릿 구성에 `DefinitionBody` 따라가 자동으로 `DefinitionBody` AWS SAM 생성됩니다.  
*유형*: JSON  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGatewayV2::Api` 리소스의 `[Body](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-body)` 속성과 유사합니다. 특정 속성이 제공된 경우가 전달`DefinitionBody`되기 전에에 콘텐츠를 AWS SAM 삽입하거나 수정할 수 있습니다 CloudFormation. 속성들에는 `Auth` 및 해당 `AWS::Serverless::Function` 속성을 위한 HttpApi 유형의 `EventSource`가 포함됩니다.

 `DefinitionUri`   <a name="sam-httpapi-definitionuri"></a>
HTTP API를 정의할 수 있는 OpenAPI 정의의 Amazon Simple Storage Service(S3) URI이거나 로컬 파일 경로이거나 위치 객체입니다. 이 속성이 참조하는 Amazon S3 객체는 유효한 OpenAPI 정의 파일이어야 합니다. `DefinitionUri` 또는를 지정하지 않으면 템플릿 구성에 `DefinitionBody` 따라가 자동으로 `DefinitionBody` AWS SAM 생성됩니다.  
귀하가 로컬 파일 경로를 제공하는 경우 템플릿은 `sam deploy` 또는 `sam package` 명령이 포함된 워크플로를 거쳐야 정의가 제대로 변환됩니다.  
귀하가 `DefinitionUri`로 참조하는 외부 OpenAPI 정의 파일에서는 내장 함수가 지원되지 않습니다. OpenAPI 정의를 템플릿으로 들여오려면 해당 `DefinitionBody` 속성을 [Include 변환](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/create-reusable-transform-function-snippets-and-add-to-your-template-with-aws-include-transform.html)과 함께 사용합니다.  
*유형*[: 문자열 \$1 HttpApiDefinition](sam-property-httpapi-httpapidefinition.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGatewayV2::Api` 리소스의 `[BodyS3Location](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-bodys3location)` 속성과 유사합니다. 중첩된 Amazon S3 속성은 다르게 지정됩니다.

 `Description`   <a name="sam-httpapi-description"></a>
HTTP API 리소스 그룹에 대한 설명입니다.  
를 지정하면 `Description` AWS SAM 가 `description` 필드를 설정하여 HTTP API 리소스의 OpenApi 정의를 수정합니다. 다음 시나리오에서는 오류가 발생합니다.  
+ `DefinitionBody` 속성은 Open API 정의의 `description` 필드 세트로 지정됩니다. 그러면 해결 AWS SAM 되지 않는 `description` 필드 충돌이 발생합니다.
+ `DefinitionUri` 속성이 지정됩니다.는 Amazon S3에서 검색된 Open API 정의를 수정 AWS SAM 하지 않습니다.
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `DisableExecuteApiEndpoint`   <a name="sam-httpapi-disableexecuteapiendpoint"></a>
클라이언트가 기본 `execute-api` 엔드포인트`https://{api_id}.execute-api.{region}.amazonaws.com`를 사용하여 HTTP API를 호출할 수 있는지 여부를 지정합니다. 기본적으로 클라이언트는 기본 엔드포인트로 API를 호출할 수 있습니다. 클라이언트가 단지 사용자 지정 도메인 이름을 사용하여 API를 호출하도록 요구하려면 기본 엔드포인트를 비활성화합니다.  
이 속성을 사용하려면 `DefinitionUri` 속성 대신 `DefinitionBody` 속성을 지정하거나 OpenAPI 정의에서 `x-amazon-apigateway-endpoint-configuration`을 `disableExecuteApiEndpoint`로 정의해야 합니다.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGatewayV2::Api` 리소스의 `[ DisableExecuteApiEndpoint](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-disableexecuteapiendpoint)` 속성과 유사합니다. 이것은 `[ x-amazon-apigateway-endpoint-configuration](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-endpoint-configuration.html)` 확장의 `disableExecuteApiEndpoint` 속성으로 직접 전달되며, 이것은 `AWS::ApiGatewayV2::Api` 리소스의 ` [ Body](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-body)` 속성에 추가됩니다.

 `Domain`   <a name="sam-httpapi-domain"></a>
이 API Gateway HTTP API의 사용자 지정 도메인을 구성합니다.  
*유형*: [HttpApiDomainConfiguration](sam-property-httpapi-httpapidomainconfiguration.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `FailOnWarnings`   <a name="sam-httpapi-failonwarnings"></a>
경고가 발생할 때 HTTP API 생성을 롤백할 것인지(`true`), 아니면 롤백하지 않을 것인지(`false`) 지정합니다. 기본값은 `false`입니다.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGatewayV2::Api` 리소스의 `[FailOnWarnings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html#cfn-apigatewayv2-api-failonwarnings)` 속성으로 직접 전달됩니다.

`Name`  <a name="sam-httpapi-name"></a>
HTTP API 리소스의 이름입니다.  
를 지정하면 `Name` AWS SAM 가 `title` 필드를 설정하여 HTTP API 리소스의 OpenAPI 정의를 수정합니다. 다음 시나리오에서는 오류가 발생합니다.  
+ `DefinitionBody` 속성은 Open API 정의의 `title` 필드 세트로 지정됩니다. 그러면 해결 AWS SAM 되지 않는 `title` 필드가 충돌합니다.
+ `DefinitionUri` 속성이 지정됩니다.는 Amazon S3에서 검색된 Open API 정의를 수정 AWS SAM 하지 않습니다.
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

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

 `RouteSettings`   <a name="sam-httpapi-routesettings"></a>
이 HTTP API의 경로별 경로 설정입니다. 자세한 내용을 알아보려면 *API Gateway 개발자 안내서*의 [HTTP API에 대한 루트 작업](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-develop-routes.html)을 참조하세요.  
*유형*: [RouteSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-routesettings)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGatewayV2::Stage` 리소스의 `[RouteSettings](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-routesettings)` 속성으로 직접 전달됩니다.

 `StageName`   <a name="sam-httpapi-stagename"></a>
API 단계의 이름. 이름을 지정하지 않으면 API Gateway의 `$default` 단계를 AWS SAM 사용합니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*기본값*: \$1default  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGatewayV2::Stage` 리소스의 `[StageName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-stagename)` 속성으로 직접 전달됩니다.

 `StageVariables`   <a name="sam-httpapi-stagevariables"></a>
단계 변수를 정의하는 맵입니다. 변수 이름은 영숫자와 밑줄 문자를 사용할 수 있습니다. 값은 [A-Za-z0-9-.\$1\$1:/?\$1&=,]\$1와 일치해야 합니다.  
*유형*: [Json](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-stagevariables)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGatewayV2::Stage` 리소스의 `[StageVariables](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-stage.html#cfn-apigatewayv2-stage-stagevariables)` 속성으로 직접 전달됩니다.

 `Tags`   <a name="sam-httpapi-tags"></a>
이 API Gateway 단계에 추가할 태그를 지정하는 맵(문자열에 문자열)입니다. 키는 길이가 1\$1128자인 유니코드 문자이며 `aws:`로 시작할 수 없습니다. 유니코드 문자 세트, 숫자, 공백, `_`, `.`, `/`, `=`, `+`, `-` 등의 문자를 무엇이든 사용할 수 있습니다. 값은 길이가 1\$1256자인 유니코드 문자입니다.  
*유형*: 맵  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.  
*추가 참고* 사항: `Tags` 속성은 OpenAPI 정의를 수정해야 AWS SAM 하므로 `DefinitionBody` 속성이 지정된 경우에만 태그가 추가되고 `DefinitionUri` 속성이 지정된 경우에는 태그가 추가되지 않습니다.는 태그를 AWS SAM 자동으로 추가합니다`httpapi:createdBy:SAM`. `AWS::ApiGatewayV2::Stage`리소스와 `AWS::ApiGatewayV2::DomainName`리소스(`DomainName`이 지정된 경우)에도 태그가 추가됩니다.

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

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

이 리소스의 논리적 ID를 내장 `Ref` 함수에 전달하면 `Ref`가 기저의 `AWS::ApiGatewayV2::Api` 리소스의 API ID를 반환합니다(예:`a1bcdef2gh`)

`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) 항목을 참조하십시오.

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

### 단순 HTTP API
<a name="sam-resource-httpapi--examples--simple-httpapi"></a>

다음 예는 Lambda 함수가 지원하는 HTTP API 엔드포인트를 설정하는 데 필요한 최소값을 보여줍니다. 이 예제에서는가 AWS SAM 생성하는 기본 HTTP API를 사용합니다.

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

```
AWSTemplateFormatVersion: '2010-09-09'
Description: AWS SAM template with a simple API definition
Resources:
  ApiFunction:
    Type: AWS::Serverless::Function
    Properties:
      Events:
        ApiEvent:
          Type: HttpApi
      Handler: index.handler
      InlineCode: |
        def handler(event, context):
            return {'body': 'Hello World!', 'statusCode': 200}
      Runtime: python3.7
Transform: AWS::Serverless-2016-10-31
```

### 권한 부여가 있는 HttpApi
<a name="sam-resource-httpapi--examples--httpapi-with-auth"></a>

다음 예에서는 HTTP API 엔드포인트에서 권한 부여를 설정하는 방법을 보여드립니다.

#### YAML
<a name="sam-resource-httpapi--examples--httpapi-with-auth--yaml"></a>

```
Properties:
  FailOnWarnings: true
  Auth:
    DefaultAuthorizer: OAuth2
    Authorizers:
      OAuth2:
        AuthorizationScopes:
          - scope4
        JwtConfiguration:
          issuer: "https://www.example.com/v1/connect/oauth2"
          audience:
            - MyApi
        IdentitySource: "$request.querystring.param"
```

### OpenAPI 정의를 포함하는 HttpApi
<a name="sam-resource-httpapi--examples--httpapi-with-openapi-definition"></a>

다음 예에서는 OpenAPI 정의를 템플릿에 추가하는 방법을 보여드립니다.

는이 HTTP API를 참조하는 HttpApi 이벤트에 대해 누락된 Lambda 통합을 AWS SAM 채웁니다. AWS SAM 또한는 HttpApi 이벤트가 참조하는 누락된 경로도 추가합니다.

#### YAML
<a name="sam-resource-httpapi--examples--httpapi-with-openapi-definition--yaml"></a>

```
Properties:
  FailOnWarnings: true
  DefinitionBody:
    info:
      version: '1.0'
      title:
        Ref: AWS::StackName
    paths:
      "/":
        get:
          security:
          - OpenIdAuth:
            - scope1
            - scope2
          responses: {}
    openapi: 3.0.1
    securitySchemes:
      OpenIdAuth:
        type: openIdConnect
        x-amazon-apigateway-authorizer:
          identitySource: "$request.querystring.param"
          type: jwt
          jwtConfiguration:
            audience:
            - MyApi
            issuer: https://www.example.com/v1/connect/oidc
          openIdConnectUrl: https://www.example.com/v1/connect/oidc/.well-known/openid-configuration
```

### 구성 설정을 포함하는 HttpApi
<a name="sam-resource-httpapi--examples--httpapi-with-configuration-settings"></a>

다음 예에서는 템플릿에 HTTP API 및 단계 구성을 추가하는 방법을 보여드립니다.

#### YAML
<a name="sam-resource-httpapi--examples--httpapi-with-configuration-settings--yaml"></a>

```
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Parameters:
  StageName:
    Type: String
    Default: Prod
    
Resources:
  HttpApiFunction:
    Type: AWS::Serverless::Function
    Properties:
      InlineCode: |
          def handler(event, context):
              import json
              return {
                  "statusCode": 200,
                  "body": json.dumps(event),
              }
      Handler: index.handler
      Runtime: python3.7
      Events:
        ExplicitApi: # warning: creates a public endpoint
          Type: HttpApi
          Properties:
            ApiId: !Ref HttpApi
            Method: GET
            Path: /path
            TimeoutInMillis: 15000
            PayloadFormatVersion: "2.0"
            RouteSettings:
              ThrottlingBurstLimit: 600

  HttpApi:
    Type: AWS::Serverless::HttpApi
    Properties:
      StageName: !Ref StageName
      Tags:
        Tag: Value
      AccessLogSettings:
        DestinationArn: !GetAtt AccessLogs.Arn
        Format: $context.requestId
      DefaultRouteSettings:
        ThrottlingBurstLimit: 200
      RouteSettings:
        "GET /path":
          ThrottlingBurstLimit: 500 # overridden in HttpApi Event
      StageVariables:
        StageVar: Value
      FailOnWarnings: true

  AccessLogs:
    Type: AWS::Logs::LogGroup

Outputs:
  HttpApiUrl:
    Description: URL of your API endpoint
    Value:
      Fn::Sub: 'https://${HttpApi}.execute-api.${AWS::Region}.${AWS::URLSuffix}/${StageName}/'
  HttpApiId:
    Description: Api id of HttpApi
    Value:
      Ref: HttpApi
```

# HttpApiAuth
<a name="sam-property-httpapi-httpapiauth"></a>

권한 부여를 구성하여 Amazon API Gateway HTTP API에 대한 액세스를 제어합니다.

HTTP API에 대한 액세스 구성에 대한 자세한 내용은 *API Gateway 개발자 안내서*의 [API Gateway의 HTTP API에 대한 액세스 제어 및 관리](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-access-control.html) 섹션을 참조하세요.

## 구문
<a name="sam-property-httpapi-httpapiauth-syntax"></a>

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

### YAML
<a name="sam-property-httpapi-httpapiauth-syntax.yaml"></a>

```
  [Authorizers](#sam-httpapi-httpapiauth-authorizers): OAuth2Authorizer | LambdaAuthorizer
  [DefaultAuthorizer](#sam-httpapi-httpapiauth-defaultauthorizer): String
  [EnableIamAuthorizer](#sam-httpapi-httpapiauth-enableiamauthorizer): Boolean
```

## 속성
<a name="sam-property-httpapi-httpapiauth-properties"></a>

 `Authorizers`   <a name="sam-httpapi-httpapiauth-authorizers"></a>
API Gateway API에 대한 액세스를 제어하는 데 사용되는 권한 부여자.  
*유형*: [OAuth2Authorizer](sam-property-httpapi-oauth2authorizer.md) \$1 [LambdaAuthorizer](sam-property-httpapi-lambdaauthorizer.md)  
*필수 항목 여부*: 아니요  
*기본값*: 없음  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.  
*추가 참고* 사항:OpenAPI 정의에 권한 부여자를 AWS SAM 추가합니다.

 `DefaultAuthorizer`   <a name="sam-httpapi-httpapiauth-defaultauthorizer"></a>
API Gateway API에 대한 API 호출을 승인하는 데 사용할 기본 권한 부여자를 지정합니다. `EnableIamAuthorizer`가 `true`로 설정된 경우 `AWS_IAM`을 기본 권한 부여자로 지정할 수 있습니다. 그렇지 않은 경우 `Authorizers`에서 정의한 권한 부여자를 지정합니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*기본값*: 없음  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `EnableIamAuthorizer`   <a name="sam-httpapi-httpapiauth-enableiamauthorizer"></a>
API 경로에 IAM 인증을 사용할지 여부를 지정합니다.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

## 예제
<a name="sam-property-httpapi-httpapiauth--examples"></a>

### OAuth 2.0 권한 부여자
<a name="sam-property-httpapi-httpapiauth--examples--oauth-2.0-authorizer"></a>

OAuth 2.0 권한 부여자 예시

#### YAML
<a name="sam-property-httpapi-httpapiauth--examples--oauth-2.0-authorizer--yaml"></a>

```
Auth:
  Authorizers:
    OAuth2Authorizer:
      AuthorizationScopes:
        - scope1
        - scope2
      JwtConfiguration:
        issuer: "https://www.example.com/v1/connect/oauth2"
        audience:
          - MyApi
      IdentitySource: "$request.querystring.param"
  DefaultAuthorizer: OAuth2Authorizer
```

### IAM 권한 부여자
<a name="sam-property-httpapi-httpapiauth--examples--iam-authorizer"></a>

IAM 권한 부여자 예시

#### YAML
<a name="sam-property-httpapi-httpapiauth--examples--iam-authorizer--yaml"></a>

```
Auth:
  EnableIamAuthorizer: true
  DefaultAuthorizer: AWS_IAM
```

# LambdaAuthorizer
<a name="sam-property-httpapi-lambdaauthorizer"></a>

 AWS Lambda 함수를 사용하여 Amazon API Gateway HTTP API에 대한 액세스를 제어하도록 Lambda 권한 부여자를 구성합니다.

자세한 내용과 예제는 *API Gateway 개발자 안내서*의 [HTTP APIs에 대한 AWS Lambda 권한 부여자 작업을 참조하세요](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-lambda-authorizer.html).

## 구문
<a name="sam-property-httpapi-lambdaauthorizer-syntax"></a>

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

### YAML
<a name="sam-property-httpapi-lambdaauthorizer-syntax.yaml"></a>

```
  [AuthorizerPayloadFormatVersion](#sam-httpapi-lambdaauthorizer-authorizerpayloadformatversion): String
  EnableFunctionDefaultPermissions: Boolean
  [EnableSimpleResponses](#sam-httpapi-lambdaauthorizer-enablesimpleresponses): Boolean
  [FunctionArn](#sam-httpapi-lambdaauthorizer-functionarn): String
  [FunctionInvokeRole](#sam-httpapi-lambdaauthorizer-functioninvokerole): String
  [Identity](#sam-httpapi-lambdaauthorizer-identity): LambdaAuthorizationIdentity
```

## 속성
<a name="sam-property-httpapi-lambdaauthorizer-properties"></a>

 `AuthorizerPayloadFormatVersion`   <a name="sam-httpapi-lambdaauthorizer-authorizerpayloadformatversion"></a>
HTTP API Lambda 권한 부여자에게 전송되는 페이로드의 형식을 지정합니다. HTTP API Lambda 권한 부여자에 필요합니다.  
이는 OpenAPI 정의의 `securitySchemes` 섹션에 있는 `x-amazon-apigateway-authorizer`의 `authorizerPayloadFormatVersion` 섹션으로 전달됩니다.  
*유효한 값*: `1.0` 또는 `2.0`  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `EnableFunctionDefaultPermissions`   <a name="sam-httpapi-lambdaauthorizer-enablefunctiondefaultpermissions"></a>
기본적으로 HTTP API 리소스에는 Lambda 권한 부여자를 호출할 수 있는 권한이 부여되지 않습니다. HTTP API 리소스와 Lambda 권한 부여자 간에 권한을 자동으로 생성하도록 이 속성을 `true`로 지정합니다.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*기본값:* `false`  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 동등한 속성이 CloudFormation 없습니다.

 `EnableSimpleResponses`   <a name="sam-httpapi-lambdaauthorizer-enablesimpleresponses"></a>
Lambda 권한 부여자가 간단한 형식으로 응답을 반환하는지 여부를 지정합니다. 기본적으로 Lambda 권한 부여자는 AWS Identity and Access Management (IAM) 정책을 반환해야 합니다. 사용하도록 설정되면 Lambda 권한 부여자가 IAM 정책 대신 부울 값을 반환할 수 있습니다.  
이는 OpenAPI 정의의 `securitySchemes` 섹션에 있는 `x-amazon-apigateway-authorizer`의 `enableSimpleResponses` 섹션으로 전달됩니다.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `FunctionArn`   <a name="sam-httpapi-lambdaauthorizer-functionarn"></a>
API에 대한 인증을 제공하는 Lambda 함수의 Amazon 리소스 이름(ARN)입니다.  
이는 OpenAPI 정의의 `securitySchemes` 섹션에 있는 `x-amazon-apigateway-authorizer`의 `authorizerUri` 섹션으로 전달됩니다.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `FunctionInvokeRole`   <a name="sam-httpapi-lambdaauthorizer-functioninvokerole"></a>
API Gateway가 권한 부여자 함수를 호출하는 데 필요한 보안 인증 정보가 있는 IAM 역할의 ARN입니다. 함수의 리소스 기반 정책이 API Gateway `lambda:InvokeFunction` 권한을 부여하지 않는 경우, 이 파라미터를 지정합니다.  
이는 OpenAPI 정의의 `securitySchemes` 섹션에 있는 `x-amazon-apigateway-authorizer`의 `authorizerCredentials` 섹션으로 전달됩니다.  
자세한 내용은 *API Gateway 개발자 안내서*의 [Lambda 권한 부여자 만들기](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-lambda-authorizer.html#http-api-lambda-authorizer.example-create) 섹션을 참조하세요.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `Identity`   <a name="sam-httpapi-lambdaauthorizer-identity"></a>
권한 부여자에 대한 수신 요청에 `IdentitySource`를 지정합니다.  
이는 OpenAPI 정의의 `securitySchemes` 섹션에 있는 `x-amazon-apigateway-authorizer`의 `identitySource` 섹션으로 전달됩니다.  
*유형*: [LambdaAuthorizationIdentity](sam-property-httpapi-lambdaauthorizationidentity.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

## 예제
<a name="sam-property-httpapi-lambdaauthorizer--examples"></a>

### LambdaAuthorizer
<a name="sam-property-httpapi-lambdaauthorizer--examples--lambdaauthorizer"></a>

LambdaAuthorizer 예

#### YAML
<a name="sam-property-httpapi-lambdaauthorizer--examples--lambdaauthorizer--yaml"></a>

```
Auth:
  Authorizers:
    MyLambdaAuthorizer:
      AuthorizerPayloadFormatVersion: 2.0
      FunctionArn:
        Fn::GetAtt:
          - MyAuthFunction
          - Arn
      FunctionInvokeRole:
        Fn::GetAtt:
          - LambdaAuthInvokeRole
          - Arn
      Identity:
        Headers:
          - Authorization
```

# LambdaAuthorizationIdentity
<a name="sam-property-httpapi-lambdaauthorizationidentity"></a>

Lambda 권한 부여자에 대한 수신 요청에서 IdentitySource를 지정하는 데 속성을 사용할 수 있습니다. ID 소스에 대한 자세한 내용은 *API Gateway 개발자 안내서*의 [ID 소스](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-lambda-authorizer.html#http-api-lambda-authorizer.identity-sources)를 참조하세요.

## 구문
<a name="sam-property-httpapi-lambdaauthorizationidentity-syntax"></a>

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

### YAML
<a name="sam-property-httpapi-lambdaauthorizationidentity-syntax.yaml"></a>

```
  [Context](#sam-httpapi-lambdaauthorizationidentity-context): List
  [Headers](#sam-httpapi-lambdaauthorizationidentity-headers): List
  [QueryStrings](#sam-httpapi-lambdaauthorizationidentity-querystrings): List
  [ReauthorizeEvery](#sam-httpapi-lambdaauthorizationidentity-reauthorizeevery): Integer
  [StageVariables](#sam-httpapi-lambdaauthorizationidentity-stagevariables): List
```

## 속성
<a name="sam-property-httpapi-lambdaauthorizationidentity-properties"></a>

 `Context`   <a name="sam-httpapi-lambdaauthorizationidentity-context"></a>
지정된 컨텍스트 문자열을 `$context.contextString` 형식의 매핑 표현식 목록으로 변환합니다.  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `Headers`   <a name="sam-httpapi-lambdaauthorizationidentity-headers"></a>
헤더를 `$request.header.name` 형식의 매핑 표현식 목록으로 변환합니다.  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `QueryStrings`   <a name="sam-httpapi-lambdaauthorizationidentity-querystrings"></a>
지정된 쿼리 문자열을 `$request.querystring.queryString` 형식의 매핑 표현식 목록으로 변환합니다.  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `ReauthorizeEvery`   <a name="sam-httpapi-lambdaauthorizationidentity-reauthorizeevery"></a>
API Gateway가 권한 부여자 결과를 캐싱하는 기간을 지정하는 TTL(Time to Live) 기간(초)입니다. 0보다 큰 값을 지정한 경우 API Gateway에서 권한 부여자 응답을 캐싱합니다. 최대 값은 3600 또는 1시간입니다.  
*유형*: 정수  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `StageVariables`   <a name="sam-httpapi-lambdaauthorizationidentity-stagevariables"></a>
지정된 단계 변수를 `$stageVariables.stageVariable` 형식의 매핑 표현식 목록으로 변환합니다.  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

## 예제
<a name="sam-property-httpapi-lambdaauthorizationidentity--examples"></a>

### LambdaRequestIdentity
<a name="sam-property-httpapi-lambdaauthorizationidentity--examples--lambdarequestidentity"></a>

Lambda 요청 자격 증명 예제

#### YAML
<a name="sam-property-httpapi-lambdaauthorizationidentity--examples--lambdarequestidentity--yaml"></a>

```
Identity:
  QueryStrings:
    - auth
  Headers:
    - Authorization
  StageVariables:
    - VARIABLE
  Context:
    - authcontext
  ReauthorizeEvery: 100
```

# OAuth2Authorizer
<a name="sam-property-httpapi-oauth2authorizer"></a>

OAuth 2.0 권한 부여자에 대한 정의로, authorizer(JWT) 권한 부여자라고도 합니다.

자세한 내용은 *API Gateway 개발자 가이드*에서 [JWT 권한 부여자를 사용하는 HTTP API에 대한 액세스 제어](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-jwt-authorizer.html)를 참조하십시오.

## 구문
<a name="sam-property-httpapi-oauth2authorizer-syntax"></a>

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

### YAML
<a name="sam-property-httpapi-oauth2authorizer-syntax.yaml"></a>

```
  [AuthorizationScopes](#sam-httpapi-oauth2authorizer-authorizationscopes): List
  [IdentitySource](#sam-httpapi-oauth2authorizer-identitysource): String
  [JwtConfiguration](#sam-httpapi-oauth2authorizer-jwtconfiguration): Map
```

## 속성
<a name="sam-property-httpapi-oauth2authorizer-properties"></a>

 `AuthorizationScopes`   <a name="sam-httpapi-oauth2authorizer-authorizationscopes"></a>
이 권한 부여자의 권한 부여 범위 목록.  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `IdentitySource`   <a name="sam-httpapi-oauth2authorizer-identitysource"></a>
이 권한 부여자의 ID 소스 표현식.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `JwtConfiguration`   <a name="sam-httpapi-oauth2authorizer-jwtconfiguration"></a>
이 권한 부여자의 JWT 구성.  
이는 OpenAPI 정의의 `securitySchemes` 섹션에 있는 `x-amazon-apigateway-authorizer`의 `jwtConfiguration` 섹션으로 전달됩니다.  
속성 `issuer` `audience`는 대소문자를 구분하지 않으므로 OpenAPI에서처럼 소문자를 사용하거나 [AWS::ApiGatewayV2::Authorizer](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-authorizer-jwtconfiguration.html)에서 `Issuer` 및 `Audience`를 대문자로 사용할 수 있습니다.
*유형*: 맵  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

## 예제
<a name="sam-property-httpapi-oauth2authorizer--examples"></a>

### OAuth 2.0 권한 부여자
<a name="sam-property-httpapi-oauth2authorizer--examples--oauth-2.0-authorizer"></a>

OAuth 2.0 권한 부여자 예시

#### YAML
<a name="sam-property-httpapi-oauth2authorizer--examples--oauth-2.0-authorizer--yaml"></a>

```
Auth:
  Authorizers:
    OAuth2Authorizer:
      AuthorizationScopes:
        - scope1
      JwtConfiguration:
        issuer: "https://www.example.com/v1/connect/oauth2"
        audience:
          - MyApi
      IdentitySource: "$request.querystring.param"
  DefaultAuthorizer: OAuth2Authorizer
```

# HttpApiCorsConfiguration
<a name="sam-property-httpapi-httpapicorsconfiguration"></a>

HTTP API에 대한 교차 오리진 리소스 공유(CORS)을 관리합니다. 허용할 도메인을 문자열로 지정하거나 추가 Cors 구성을 사용하여 사전을 지정합니다. 참고: Cors는 OpenAPI 정의를 수정하기 위해 SAM이 필요하므로 `DefinitionBody` 속성에 정의된 인라인 OpenAPI에서만 작동합니다.

HTTP API에 대한 자세한 내용을 알아보려면 *API Gateway 개발자 안내서*의 [HTTP API](https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-cors.html)를 참조하세요.

참고: HttpApiCorsConfiguration이 OpenAPI와 속성 수준에서 모두 설정된 경우는 우선하는 속성과 AWS SAM 병합합니다.

## 구문
<a name="sam-property-httpapi-httpapicorsconfiguration-syntax"></a>

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

### YAML
<a name="sam-property-httpapi-httpapicorsconfiguration-syntax.yaml"></a>

```
  [AllowCredentials](#sam-httpapi-httpapicorsconfiguration-allowcredentials): Boolean
  [AllowHeaders](#sam-httpapi-httpapicorsconfiguration-allowheaders): List
  [AllowMethods](#sam-httpapi-httpapicorsconfiguration-allowmethods): List
  [AllowOrigins](#sam-httpapi-httpapicorsconfiguration-alloworigins): List
  [ExposeHeaders](#sam-httpapi-httpapicorsconfiguration-exposeheaders): List
  [MaxAge](#sam-httpapi-httpapicorsconfiguration-maxage): Integer
```

## 속성
<a name="sam-property-httpapi-httpapicorsconfiguration-properties"></a>

 `AllowCredentials`   <a name="sam-httpapi-httpapicorsconfiguration-allowcredentials"></a>
보안 인증이 CORS 요청에 포함되는지 여부를 지정합니다.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `AllowHeaders`   <a name="sam-httpapi-httpapicorsconfiguration-allowheaders"></a>
허용된 헤더의 모음을 나타냅니다.  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `AllowMethods`   <a name="sam-httpapi-httpapicorsconfiguration-allowmethods"></a>
허용된 HTTP 메서드의 모음을 나타냅니다.  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `AllowOrigins`   <a name="sam-httpapi-httpapicorsconfiguration-alloworigins"></a>
허용된 오리진의 모음을 나타냅니다.  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `ExposeHeaders`   <a name="sam-httpapi-httpapicorsconfiguration-exposeheaders"></a>
노출된 헤더의 모음을 나타냅니다.  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `MaxAge`   <a name="sam-httpapi-httpapicorsconfiguration-maxage"></a>
브라우저가 사전 요청 결과를 캐시해야 하는 시간(초)을 지정합니다.  
*유형*: 정수  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

## 예제
<a name="sam-property-httpapi-httpapicorsconfiguration--examples"></a>

### HttpApiCorsConfiguration
<a name="sam-property-httpapi-httpapicorsconfiguration--examples--httpapicorsconfiguration"></a>

HTTP API Cors 구성 예제.

#### YAML
<a name="sam-property-httpapi-httpapicorsconfiguration--examples--httpapicorsconfiguration--yaml"></a>

```
CorsConfiguration:
  AllowOrigins:
    - "https://example.com"
  AllowHeaders:
    - x-apigateway-header
  AllowMethods:
    - GET
  MaxAge: 600
  AllowCredentials: true
```

# HttpApiDefinition
<a name="sam-property-httpapi-httpapidefinition"></a>

API를 정의하는 OpenAPI 문서.

## 구문
<a name="sam-property-httpapi-httpapidefinition-syntax"></a>

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

### YAML
<a name="sam-property-httpapi-httpapidefinition-syntax.yaml"></a>

```
  [Bucket](#sam-httpapi-httpapidefinition-bucket): String
  [Key](#sam-httpapi-httpapidefinition-key): String
  [Version](#sam-httpapi-httpapidefinition-version): String
```

## 속성
<a name="sam-property-httpapi-httpapidefinition-properties"></a>

 `Bucket`   <a name="sam-httpapi-httpapidefinition-bucket"></a>
OpenAPI 파일이 저장되는 Amazon S3 버킷의 이름입니다.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGatewayV2::Api` `BodyS3Location` 데이터 유형의 `[Bucket](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-bodys3location.html#cfn-apigatewayv2-api-bodys3location-bucket)` 속성으로 직접 전달됩니다.

 `Key`   <a name="sam-httpapi-httpapidefinition-key"></a>
OpenAPI 파일의 Amazon S3 키.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGatewayV2::Api` `BodyS3Location` 데이터 유형의 `[Key](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-bodys3location.html#cfn-apigatewayv2-api-bodys3location-key)` 속성으로 직접 전달됩니다.

 `Version`   <a name="sam-httpapi-httpapidefinition-version"></a>
버전이 지정된 객체의 경우 OpenAPI 파일의 버전.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGatewayV2::Api` `BodyS3Location` 데이터 유형의 `[Version](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-api-bodys3location.html#cfn-apigatewayv2-api-bodys3location-version)` 속성으로 직접 전달됩니다.

## 예제
<a name="sam-property-httpapi-httpapidefinition--examples"></a>

### Uri 정의 예제
<a name="sam-property-httpapi-httpapidefinition--examples--definition-uri-example"></a>

API 정의 예

#### YAML
<a name="sam-property-httpapi-httpapidefinition--examples--definition-uri-example--yaml"></a>

```
DefinitionUri:
  Bucket: sam-s3-demo-bucket-name
  Key: mykey-name
  Version: 121212
```

# HttpApiDomainConfiguration
<a name="sam-property-httpapi-httpapidomainconfiguration"></a>

API의 사용자 지정 도메인을 구성합니다.

## 구문
<a name="sam-property-httpapi-httpapidomainconfiguration-syntax"></a>

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

### YAML
<a name="sam-property-httpapi-httpapidomainconfiguration-syntax.yaml"></a>

```
  [BasePath](#sam-httpapi-httpapidomainconfiguration-basepath): List
  [CertificateArn](#sam-httpapi-httpapidomainconfiguration-certificatearn): String
  [DomainName](#sam-httpapi-httpapidomainconfiguration-domainname): String
  [EndpointConfiguration](#sam-httpapi-httpapidomainconfiguration-endpointconfiguration): String
  [MutualTlsAuthentication](#sam-httpapi-httpapidomainconfiguration-mutualtlsauthentication): [MutualTlsAuthentication](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-domainname.html#cfn-apigatewayv2-domainname-mutualtlsauthentication)
  [OwnershipVerificationCertificateArn](#sam-httpapi-httpapidomainconfiguration-ownershipverificationcertificatearn): String
  [Route53](#sam-httpapi-httpapidomainconfiguration-route53): Route53Configuration
  [SecurityPolicy](#sam-httpapi-httpapidomainconfiguration-securitypolicy): String
```

## 속성
<a name="sam-property-httpapi-httpapidomainconfiguration-properties"></a>

 `BasePath`   <a name="sam-httpapi-httpapidomainconfiguration-basepath"></a>
Amazon API Gateway 도메인 이름을 사용하여 구성할 basepath 목록입니다.  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*기본값*: /  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGatewayV2::ApiMapping` 리소스의 `[ApiMappingKey](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-apimapping.html#cfn-apigatewayv2-apimapping-apimappingkey)` 속성과 유사합니다.는이 속성에 지정된 값당 하나씩 여러 `AWS::ApiGatewayV2::ApiMapping` 리소스를 AWS SAM 생성합니다.

 `CertificateArn`   <a name="sam-httpapi-httpapidomainconfiguration-certificatearn"></a>
이 도메인 이름의 엔드포인트에 대한 AWS 관리형 인증서의 Amazon 리소스 이름(ARN)입니다.는 지원되는 유일한 소스 AWS Certificate Manager 입니다.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway2::DomainName DomainNameConfiguration` 리소스의 `[CertificateArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-domainname-domainnameconfiguration.html#cfn-apigatewayv2-domainname-domainnameconfiguration-certificatearn)` 속성으로 직접 전달됩니다.

 `DomainName`   <a name="sam-httpapi-httpapidomainconfiguration-domainname"></a>
Amazon API Gateway의 API에 대한 사용자 지정 도메인 이름입니다. 대문자는 지원되지 않습니다.  
AWS SAM 는이 속성이 설정되면 `AWS::ApiGatewayV2::DomainName` 리소스를 생성합니다. 이 시나리오에 대한 자세한 내용은 [DomainName 속성이 지정되었습니다.](sam-specification-generated-resources-httpapi.md#sam-specification-generated-resources-httpapi-domain-name) 섹션을 참조하세요. 생성된 CloudFormation 리소스에 대한 자세한 내용은 섹션을 참조하세요[에 대해 생성된 CloudFormation 리소스 AWS SAM](sam-specification-generated-resources.md).  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGateway2::DomainName` 리소스의 `[DomainName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-domainname.html#cfn-apigatewayv2-domainname-domainname)` 속성으로 직접 전달됩니다.

 `EndpointConfiguration`   <a name="sam-httpapi-httpapidomainconfiguration-endpointconfiguration"></a>
사용자 지정 도메인에 매핑할 API Gateway 엔드포인트의 유형을 정의합니다. 이 속성의 값은 `CertificateArn` 속성이 매핑되는 방법을 결정합니다 CloudFormation.  
HTTP API의 유일한 유효 값은 `REGIONAL`입니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*기본값*: `REGIONAL`  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `MutualTlsAuthentication`   <a name="sam-httpapi-httpapidomainconfiguration-mutualtlsauthentication"></a>
사용자 지정 도메인 이름에 대한 상호 전송 계층 보안(TLS) 인증 구성입니다.  
*유형*: [MutualTlsAuthentication](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-domainname.html#cfn-apigatewayv2-domainname-mutualtlsauthentication)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGatewayV2::DomainName` 리소스의 `[MutualTlsAuthentication](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-domainname.html#cfn-apigatewayv2-domainname-mutualtlsauthentication)` 속성으로 직접 전달됩니다.

 `OwnershipVerificationCertificateArn`   <a name="sam-httpapi-httpapidomainconfiguration-ownershipverificationcertificatearn"></a>
사용자 지정 도메인의 소유권을 확인하기 위해 ACM에서 발급한 공인 인증서의 ARN입니다. 상호 TLS를 구성하고 `CertificateArn`에 대해 ACM 가져오기 또는 사설 CA 인증서 ARN을 지정하는 경우에만 필요합니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGatewayV2::DomainName` `DomainNameConfiguration` 데이터 유형의 `[OwnershipVerificationCertificateArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-domainname-domainnameconfiguration.html#cfn-apigatewayv2-domainname-domainnameconfiguration-ownershipverificationcertificatearn)` 속성으로 직접 전달됩니다.

 `Route53`   <a name="sam-httpapi-httpapidomainconfiguration-route53"></a>
Amazon Route 53 구성을 정의합니다.  
*유형*: [Route53Configuration](sam-property-httpapi-route53configuration.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `SecurityPolicy`   <a name="sam-httpapi-httpapidomainconfiguration-securitypolicy"></a>
이 도메인 이름에 대한 보안 정책의 TLS(전송 계층 보안) 버전입니다.  
HTTP API의 유일한 유효 값은 `TLS_1_2`입니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::ApiGatewayV2::DomainName` `DomainNameConfiguration` 데이터 유형의 `[SecurityPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-apigatewayv2-domainname-domainnameconfiguration.html#cfn-apigatewayv2-domainname-domainnameconfiguration-securitypolicy)` 속성으로 직접 전달됩니다.

## 예제
<a name="sam-property-httpapi-httpapidomainconfiguration--examples"></a>

### DomainName
<a name="sam-property-httpapi-httpapidomainconfiguration--examples--domainname"></a>

DomainName 예제

#### YAML
<a name="sam-property-httpapi-httpapidomainconfiguration--examples--domainname--yaml"></a>

```
Domain:
  DomainName: www.example.com
  CertificateArn: arn-example
  EndpointConfiguration: REGIONAL
  Route53:
    HostedZoneId: Z1PA6795UKMFR9
  BasePath:
    - foo
    - bar
```

# Route53Configuration
<a name="sam-property-httpapi-route53configuration"></a>

API에 대한 Route53 레코드 세트를 구성합니다.

## 구문
<a name="sam-property-httpapi-route53configuration-syntax"></a>

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

### YAML
<a name="sam-property-httpapi-route53configuration-syntax.yaml"></a>

```
  [DistributionDomainName](#sam-httpapi-route53configuration-distributiondomainname): String
  [EvaluateTargetHealth](#sam-httpapi-route53configuration-evaluatetargethealth): Boolean
  [HostedZoneId](#sam-httpapi-route53configuration-hostedzoneid): String
  [HostedZoneName](#sam-httpapi-route53configuration-hostedzonename): String
  [IpV6](#sam-httpapi-route53configuration-ipv6): Boolean
  Region: String
  SetIdentifier: String
```

## 속성
<a name="sam-property-httpapi-route53configuration-properties"></a>

 `DistributionDomainName`   <a name="sam-httpapi-route53configuration-distributiondomainname"></a>
API 사용자 지정 도메인 이름의 사용자 지정 배포를 구성합니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*기본값*: API Gateway 배포를 사용합니다.  
*CloudFormation 호환성*:이 속성은 `AWS::Route53::RecordSetGroup AliasTarget` 리소스의 `[DNSName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-aliastarget-1.html#cfn-route53-aliastarget-dnshostname)` 속성으로 직접 전달됩니다.  
*추가 참고 사항*: [CloudFront 배포](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudfront-distribution.html)의 도메인 이름입니다.

 `EvaluateTargetHealth`   <a name="sam-httpapi-route53configuration-evaluatetargethealth"></a>
EvaluateTargetHealth가 true인 경우 별칭 레코드는 Elastic Load Balancing 로드 밸런서 또는 호스팅 영역의 다른 레코드와 같이 참조된 AWS 리소스의 상태를 상속합니다.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Route53::RecordSetGroup AliasTarget` 리소스의 `[EvaluateTargetHealth](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-aliastarget.html#cfn-route53-aliastarget-evaluatetargethealth)` 속성으로 직접 전달됩니다.  
*추가 참고 사항*: 별칭 대상이 CloudFront 배포인 경우, EvaluateTargetHealth를 true로 설정할 수 없습니다.

 `HostedZoneId`   <a name="sam-httpapi-route53configuration-hostedzoneid"></a>
기록을 생성하려는 호스팅 영역의 ID입니다.  
`HostedZoneName` 또는 `HostedZoneId` 중 하나를 지정하며 둘 다 지정하지 않습니다. 동일한 도메인 이름을 가진 호스팅 영역이 여러 개 있는 경우 `HostedZoneId`를 사용하여 호스팅 영역을 지정해야 합니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Route53::RecordSetGroup RecordSet` 리소스의 `[HostedZoneId](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-1.html#cfn-route53-recordset-hostedzoneid)` 속성으로 직접 전달됩니다.

 `HostedZoneName`   <a name="sam-httpapi-route53configuration-hostedzonename"></a>
기록을 생성하려는 호스팅 영역의 이름입니다. 후행 점(예: `www.example.com.`)을 `HostedZoneName`의 일부로 포함해야 합니다.  
`HostedZoneName` 또는 `HostedZoneId` 중 하나를 지정하며 둘 다 지정하지 않습니다. 동일한 도메인 이름을 가진 호스팅 영역이 여러 개 있는 경우 `HostedZoneId`를 사용하여 호스팅 영역을 지정해야 합니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Route53::RecordSetGroup RecordSet` 리소스의 `[HostedZoneName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-1.html#cfn-route53-recordset-hostedzonename)` 속성으로 직접 전달됩니다.

 `IpV6`   <a name="sam-httpapi-route53configuration-ipv6"></a>
이 속성이 설정되면는 `AWS::Route53::RecordSet` 리소스를 AWS SAM 생성하고 제공된 HostedZone에 `AAAA` 대해 [유형을](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset.html#cfn-route53-recordset-type) 로 설정합니다.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

`Region`  <a name="sam-httpapi-route53configuration-region"></a>
*지연 시간 기반 리소스 기록 세트만 해당:* 이 리소스 기록 세트가 참조하는 리소스를 생성한 Amazon EC2 리전입니다. 리소스는 일반적으로 EC2 인스턴스 또는 ELB 로드 밸런서와 같은 AWS 리소스이며 레코드 유형에 따라 IP 주소 또는 DNS 도메인 이름으로 참조됩니다.  
Amazon Route 53에서 지연 리소스 기록 세트에 대해 생성된 도메인 이름 및 유형에 대한 DNS 쿼리를 수신한 경우 Route 53은 최종 사용자와 연결된 Amazon EC2 리전 간에 지연 시간이 가장 짧은 지연 리소스 기록 세트를 선택합니다. 그 다음에 Route 53은 선택된 리소스 기록 세트와 연결된 값을 반환합니다.  
다음 사항에 유의하세요.  
+ 지연 리소스 기록 세트별로 `ResourceRecord`를 1개씩만 지정할 수 있습니다.
+ 각 Amazon EC2 리전에 지연 시간 리소스 기록 세트를 1개씩만 생성할 수 있습니다.
+ 모든 Amazon EC2 리전에 지연 시간 리소스 기록 세트를 생성할 필요는 없습니다. Route 53은 지연 시간 리소스 기록 세트를 생성할 리전 중에서 지연 시간이 가장 좋은 리전을 선택합니다.
+ `Name` 및 `Type` 요소 값이 지연 시간 리소스 기록 세트와 같은 비-지연 시간 리소스 기록 세트를 생성할 수 없습니다.
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Route53::RecordSetGroup` `RecordSet` 데이터 유형의 `[ Region](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-1.html#cfn-route53-recordset-region)` 속성으로 직접 전달됩니다.

`SetIdentifier`  <a name="sam-httpapi-route53configuration-setidentifier"></a>
*단순하지 않은 라우팅 정책이 있는 리소스 기록 세트:* 이름과 유형의 조합이 동일한 여러 리소스 기록 세트(이름이 acme.example.com이고 유형이 A인 여러 가중치 기반 리소스 기록 세트) 사이에서 차별화되는 식별자입니다. 이름과 유형이 동일한 리소스 기록 세트 그룹에서 각 리소스 기록 세트의 `SetIdentifier` 값은 고유해야 합니다.  
라우팅 정책에 대한 자세한 내용을 알아보려면 *Amazon Route 53 개발자 안내서*의 [라우팅 정책 선택](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html)을 참조하세요.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Route53::RecordSetGroup` `RecordSet` 데이터 유형의 `[ SetIdentifier](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-route53-recordset-1.html#cfn-route53-recordset-setidentifier)` 속성으로 직접 전달됩니다.

## 예제
<a name="sam-property-httpapi-route53configuration--examples"></a>

### Route 53 구성 예제
<a name="sam-property-httpapi-route53configuration--examples--route-53-configuration-example"></a>

이 예제에서는 Route 53를 구성하는 방법을 보여줍니다.

#### YAML
<a name="sam-property-httpapi-route53configuration--examples--route-53-configuration-example--yaml"></a>

```
Domain:
  DomainName: www.example.com
  CertificateArn: arn-example
  EndpointConfiguration: EDGE
  Route53:
    HostedZoneId: Z1PA6795UKMFR9
    EvaluateTargetHealth: true
    DistributionDomainName: xyz
```

# AWS::Serverless::LayerVersion
<a name="sam-resource-layerversion"></a>

Lambda 함수에 필요한 라이브러리 또는 런타임 코드를 포함하는 Lambda LayerVersion을 생성합니다.

[AWS::Serverless::LayerVersion](#sam-resource-layerversion) 리소스는 `Metadata` 리소스 속성도 지원하므로에 애플리케이션에 포함된 계층을 빌드 AWS SAM 하도록 지시할 수 있습니다. 레이어 구축에 대한 자세한 내용은 [에서 Lambda 계층 빌드 AWS SAM](building-layers.md) 섹션을 참조하세요.

**중요 참고**:에서 [UpdateReplacePolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatereplacepolicy.html) 리소스 속성이 릴리스된 이후 CloudFormation[https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversion.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversion.html) (권장)는와 동일한 이점을 제공합니다[AWS::Serverless::LayerVersion](#sam-resource-layerversion).

서버리스 LayerVersion이 변환되면 SAM은 리소스의 논리적 ID도 변환하여 리소스가 업데이트될 때 CloudFormation이 이전 LayerVersion을 자동으로 삭제하지 않도록 합니다.

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

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

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

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

```
Type: AWS::Serverless::LayerVersion
Properties:
  [CompatibleArchitectures](#sam-layerversion-compatiblearchitectures): List
  [CompatibleRuntimes](#sam-layerversion-compatibleruntimes): List
  [ContentUri](#sam-layerversion-contenturi): String | LayerContent
  [Description](#sam-layerversion-description): String
  [LayerName](#sam-layerversion-layername): String
  [LicenseInfo](#sam-layerversion-licenseinfo): String
  [PublishLambdaVersion](#sam-layerversion-PublishLambdaVersion): Boolean
  [RetentionPolicy](#sam-layerversion-retentionpolicy): String
```

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

 `CompatibleArchitectures`   <a name="sam-layerversion-compatiblearchitectures"></a>
레이어 버전에 지원되는 명령어 세트 아키텍처를 지정합니다.  
이 속성에 대한 자세한 내용은 *AWS Lambda 개발자 가이드*의 [Lambda 명령 세트 아키텍처](https://docs.aws.amazon.com/lambda/latest/dg/foundation-arch.html)를 참조하세요.  
*유효한 값*: `x86_64`, `arm64`   
*유형*: 목록  
*필수 항목 여부*: 아니요  
*기본값*: `x86_64`  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::LayerVersion` 리소스의 `[CompatibleArchitectures](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversion.html#cfn-lambda-layerversion-compatiblearchitectures)` 속성으로 직접 전달됩니다.

 `CompatibleRuntimes`   <a name="sam-layerversion-compatibleruntimes"></a>
이 LayerVersion과 호환되는 런타임 목록.  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::LayerVersion` 리소스의 `[CompatibleRuntimes](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversion.html#cfn-lambda-layerversion-compatibleruntimes)` 속성으로 직접 전달됩니다.

 `ContentUri`   <a name="sam-layerversion-contenturi"></a>
Amazon S3 Uri, 로컬 폴더 경로 또는 레이어 코드의 레이어 콘텐츠 객체.  
Amazon S3 Uri 또는 LayerContent 객체가 제공되는 경우 참조되는 Amazon S3 객체는 [Lambda 레이어](https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html)의 콘텐츠를 포함하는 유효한 ZIP 아카이브여야 합니다.  
로컬 폴더 경로가 제공되는 경우 콘텐츠가 제대로 변환되려면 템플릿은 [sam build](sam-cli-command-reference-sam-build.md) 및 그 다음으로 [sam deploy](sam-cli-command-reference-sam-deploy.md) 또는 [sam package](sam-cli-command-reference-sam-package.md) 중 하나가 포함된 워크플로를 거쳐야 합니다. 기본적으로 상대 경로는 AWS SAM 템플릿의 위치와 관련하여 확인됩니다.  
*유형*: 문자열 \$1 [레이어 콘텐츠](sam-property-layerversion-layercontent.md)  
*필수 여부*: 예  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::LayerVersion` 리소스의 `[Content](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversion.html#cfn-lambda-layerversion-content)` 속성과 유사합니다. 중첩된 Amazon S3 속성은 다르게 지정됩니다.

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

 `LayerName`   <a name="sam-layerversion-layername"></a>
레이어의 이름 또는 Amazon 리소스 이름(ARN)입니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*기본값*: 리소스 논리적 ID  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::LayerVersion` 리소스의 `[LayerName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversion.html#cfn-lambda-layerversion-layername)` 속성과 유사합니다. 이름을 지정하지 않으면 리소스의 논리적 ID를 이름으로 사용합니다.

 `LicenseInfo`   <a name="sam-layerversion-licenseinfo"></a>
이 Layer Version의 라이선스에 대한 정보.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::LayerVersion` 리소스의 `[LicenseInfo](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversion.html#cfn-lambda-layerversion-licenseinfo)` 속성으로 직접 전달됩니다.

 `PublishLambdaVersion`   <a name="sam-layerversion-PublishLambdaVersion"></a>
참조된 `LayerVersion` 리소스에 변경 사항이 있을 때마다 새 Lambda 버전을 생성하는 옵트인 속성입니다. 연결된 Lambda 함수에서 `AutoPublishAlias` 및 `AutoPublishAliasAllProperties`이(가) 활성화되면, `LayerVersion` 리소스에 대한 변경 사항이 있을 때마다 새 Lambda 버전이 생성됩니다.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `RetentionPolicy`   <a name="sam-layerversion-retentionpolicy"></a>
이 속성은 리소스를 삭제할 때 `LayerVersion`의 이전 버전을 유지할지, 아니면 삭제할지 여부를 지정합니다. 리소스를 업데이트하거나 교체할 때 `LayerVersion`의 이전 버전을 유지해야 하는 경우 `UpdateReplacePolicy` 속성을 활성화해야 합니다. 이를 수행하는 방법에 대한 자세한 내용은AWS CloudFormation 사용 설명서**의 [`UpdateReplacePolicy` 속성](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatereplacepolicy.html)을 참조하세요.  
*유효한 값*: `Retain` 또는 `Delete`  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.  
*추가 참고* 사항:를 지정하면 변환된 `AWS::Lambda::LayerVersion` 리소스`DeletionPolicy: Retain`에 [에서 지원하는 리소스 속성 AWS SAM](sam-specification-resource-attributes.md)의가 `Retain` AWS SAM 추가됩니다.

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

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

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

`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) 섹션을 참조하세요.

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

### LayerVersionExample
<a name="sam-resource-layerversion--examples--layerversionexample"></a>

레이어 버전 예제

#### YAML
<a name="sam-resource-layerversion--examples--layerversionexample--yaml"></a>

```
Properties:
  LayerName: MyLayer
  Description: Layer description
  ContentUri: 's3://sam-s3-demo-bucket/my-layer.zip'
  CompatibleRuntimes:
    - nodejs10.x
    - nodejs12.x
  LicenseInfo: 'Available under the MIT-0 license.'
  RetentionPolicy: Retain
```

# LayerContent
<a name="sam-property-layerversion-layercontent"></a>

[Lambda 계층](https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html)의 내용을 포함하는 ZIP 아카이브입니다.

## 구문
<a name="sam-property-layerversion-layercontent-syntax"></a>

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

### YAML
<a name="sam-property-layerversion-layercontent-syntax.yaml"></a>

```
  [Bucket](#sam-layerversion-layercontent-bucket): String
  [Key](#sam-layerversion-layercontent-key): String
  [Version](#sam-layerversion-layercontent-version): String
```

## 속성
<a name="sam-property-layerversion-layercontent-properties"></a>

 `Bucket`   <a name="sam-layerversion-layercontent-bucket"></a>
계층 아카이브의 Amazon S3 버킷입니다.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::LayerVersion` `Content` 데이터 유형의 `[S3Bucket](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-layerversion-content.html#cfn-lambda-layerversion-content-s3bucket)` 속성으로 직접 전달됩니다.

 `Key`   <a name="sam-layerversion-layercontent-key"></a>
계층 아카이브의 Amazon S3 키입니다.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::LayerVersion` `Content` 데이터 유형의 `[S3Key](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-layerversion-content.html#cfn-lambda-layerversion-content-s3key)` 속성으로 직접 전달됩니다.

 `Version`   <a name="sam-layerversion-layercontent-version"></a>
버전이 지정된 객체의 경우 사용할 레이어 아카이브 객체의 버전입니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Lambda::LayerVersion` `Content` 데이터 유형의 `[S3ObjectVersion](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-lambda-layerversion-content.html#cfn-lambda-layerversion-content-s3objectversion)` 속성으로 직접 전달됩니다.

## 예제
<a name="sam-property-layerversion-layercontent--examples"></a>

### LayerContent
<a name="sam-property-layerversion-layercontent--examples--layercontent"></a>

계층 콘텐츠 예제

#### YAML
<a name="sam-property-layerversion-layercontent--examples--layercontent--yaml"></a>

```
LayerContent:
  Bucket: amzn-s3-demo-bucket-name
  Key: mykey-name
  Version: 121212
```

# AWS::Serverless::SimpleTable
<a name="sam-resource-simpletable"></a>

단일 속성 프라이머리 키를 사용하여 DynamoDB 테이블을 생성합니다. 프라이머리 키를 통해서만 데이터에 액세스해야 하는 경우에 유용합니다.

고급 기능을 사용하려면 CloudFormation에서 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html) 리소스를 사용하세요. 이러한 리소스는 AWS SAM에서 사용할 수 있습니다. 포괄적이며 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-keyschema.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-keyschema.html) 및 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-resourcepolicy.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-resourcepolicy.html) 사용자 지정을 포함하여 추가적인 사용자 지정 기능을 제공합니다.

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

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

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

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

```
Type: AWS::Serverless::SimpleTable
Properties:
  PointInTimeRecoverySpecification: [PointInTimeRecoverySpecification](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-pointintimerecoveryspecification.html)
  [PrimaryKey](#sam-simpletable-primarykey): PrimaryKeyObject
  [ProvisionedThroughput](#sam-simpletable-provisionedthroughput): ProvisionedThroughputObject
  [SSESpecification](#sam-simpletable-ssespecification): [SSESpecification](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-ssespecification.html)
  [TableName](#sam-simpletable-tablename): String
  [Tags](#sam-simpletable-tags): Map
```

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

 `PointInTimeRecoverySpecification`   <a name="sam-simpletable-pointintimerecoveryspecification"></a>
특정 시점으로 복구를 활성화하는 데 사용되는 설정입니다.  
*유형*: [PointInTimeRecoverySpecification](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-pointintimerecoveryspecification.html)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::DynamoDB::Table` 리소스의 `[PointInTimeRecoverySpecification](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-pointintimerecoveryspecification.html)` 속성으로 직접 전달됩니다.

 `PrimaryKey`   <a name="sam-simpletable-primarykey"></a>
테이블의 프라이머리 키로 사용할 속성 이름 및 유형입니다. 지정하지 않을 경우 기본 키는 값이 `String`인 `id`가 됩니다.  
이 리소스가 생성된 후에는 이 속성의 값을 수정할 수 없습니다.
*유형*: [PrimaryKeyObject](sam-property-simpletable-primarykeyobject.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `ProvisionedThroughput`   <a name="sam-simpletable-provisionedthroughput"></a>
처리량 프로비저닝 정보를 읽고 씁니다.  
`ProvisionedThroughput`이 지정되지 않은 경우 `BillingMode`가 `PAY_PER_REQUEST`로 지정됩니다.  
*유형*: [ProvisionedThroughputObject](sam-property-simpletable-provisionedthroughputobject.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::DynamoDB::Table` 리소스의 `[ProvisionedThroughput](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-provisionedthroughput.html)` 속성으로 직접 전달됩니다.

 `SSESpecification`   <a name="sam-simpletable-ssespecification"></a>
서버 측 암호화를 활성화하도록 설정합니다.  
*유형*: [SSESpecification](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-ssespecification.html)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::DynamoDB::Table` 리소스의 `[SSESpecification](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-ssespecification.html)` 속성으로 직접 전달됩니다.

 `TableName`   <a name="sam-simpletable-tablename"></a>
DynamoDB 테이블의 이름입니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::DynamoDB::Table` 리소스의 `[TableName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-tablename)` 속성으로 직접 전달됩니다.

 `Tags`   <a name="sam-simpletable-tags"></a>
SimpleTable에 추가할 태그를 지정하는 문자열을 문자열로 변환하는 맵입니다. 태그의 유효한 키와 값에 대한 자세한 내용은 [ 사용자 가이드](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html)의 *AWS CloudFormation 리소스 태그*를 참조하세요.  
*유형*: 맵  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::DynamoDB::Table` 리소스의 `[Tags](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html#cfn-dynamodb-table-tags)` 속성과 유사합니다. SAM의 태그 속성은 키:값의 쌍으로 구성되고, CloudFormation에서는 태그 객체 목록으로 구성됩니다.

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

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

Ref 내장 함수에 이 리소스의 논리적 ID를 입력하면 이 함수는 기본 DynamoDB 테이블의 리소스 이름을 반환합니다.

`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) 섹션을 참조하세요.

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

### SimpleTableExample
<a name="sam-resource-simpletable--examples--simpletableexample"></a>

SimpleTable의 예제

#### YAML
<a name="sam-resource-simpletable--examples--simpletableexample--yaml"></a>

```
Properties:
  TableName: my-table
  PrimaryKey:
    Name: MyPrimaryKey
    Type: String
  ProvisionedThroughput:
    ReadCapacityUnits: 5
    WriteCapacityUnits: 5
  Tags:
    Department: Engineering
    AppType: Serverless
```

# PrimaryKeyObject
<a name="sam-property-simpletable-primarykeyobject"></a>

프라이머리 키의 속성을 설명하는 객체.

## 구문
<a name="sam-property-simpletable-primarykeyobject-syntax"></a>

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

### YAML
<a name="sam-property-simpletable-primarykeyobject-syntax.yaml"></a>

```
  [Name](#sam-simpletable-primarykeyobject-name): String
  [Type](#sam-simpletable-primarykeyobject-type): String
```

## 속성
<a name="sam-property-simpletable-primarykeyobject-properties"></a>

 `Name`   <a name="sam-simpletable-primarykeyobject-name"></a>
프라이머리 키의 속성 이름.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::DynamoDB::Table` `AttributeDefinition` 데이터 유형의 `[AttributeName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-attributedef.html#cfn-dynamodb-attributedef-attributename)` 속성으로 직접 전달됩니다.  
*추가 참고 사항*: 이 속성은 `AWS::DynamoDB::Table KeySchema` 데이터 유형의 [AttributeName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-keyschema.html#aws-properties-dynamodb-keyschema-attributename) 속성에도 전달됩니다.

 `Type`   <a name="sam-simpletable-primarykeyobject-type"></a>
프라이머리 키의 데이터 유형.  
*유효한 값*: `String`, `Number`, `Binary`   
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::DynamoDB::Table` `AttributeDefinition` 데이터 유형의 `[AttributeType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-attributedef.html#cfn-dynamodb-attributedef-attributename-attributetype)` 속성으로 직접 전달됩니다.

## 예제
<a name="sam-property-simpletable-primarykeyobject--examples"></a>

### primaryKeys
<a name="sam-property-simpletable-primarykeyobject--examples--primarykey"></a>

프라이머리 키 예시.

#### YAML
<a name="sam-property-simpletable-primarykeyobject--examples--primarykey--yaml"></a>

```
Properties:
  PrimaryKey:
    Name: MyPrimaryKey
    Type: String
```

# ProvisionedThroughputObject
<a name="sam-property-simpletable-provisionedthroughputobject"></a>

프로비저닝된 처리량의 속성을 설명하는 객체입니다.

## 구문
<a name="sam-property-simpletable-provisionedthroughputobject-syntax"></a>

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

### YAML
<a name="w2aac13c22c41c19b5b5"></a>

```
  [ReadCapacityUnits](#sam-simpletable-provisionedthroughputobject-readcapacityunits): Integer
  [WriteCapacityUnits](#sam-simpletable-provisionedthroughputobject-writecapacityunits): Integer
```

## 속성
<a name="sam-property-simpletable-provisionedthroughputobject-properties"></a>

 `ReadCapacityUnits`   <a name="sam-simpletable-provisionedthroughputobject-readcapacityunits"></a>
DynamoDB가 `ThrottlingException`을 반환하기 전에 초당 사용되는 Strongly Consistent Read의 최대 수입니다.  
*유형*: 정수  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::DynamoDB::Table` `ProvisionedThroughput` 데이터 유형의 `[ReadCapacityUnits](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-provisionedthroughput.html#aws-properties-dynamodb-table-provisionedthroughput-properties)` 속성으로 직접 전달됩니다.

 `WriteCapacityUnits`   <a name="sam-simpletable-provisionedthroughputobject-writecapacityunits"></a>
DynamoDB가 `ThrottlingException`을 반환하기 전에 초당 사용되는 최대 쓰기 수입니다.  
*유형*: 정수  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::DynamoDB::Table` `ProvisionedThroughput` 데이터 유형의 `[WriteCapacityUnits](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-dynamodb-table-provisionedthroughput.html#aws-properties-dynamodb-table-provisionedthroughput-properties)` 속성으로 직접 전달됩니다.

## 예제
<a name="sam-property-simpletable-provisionedthroughputobject--examples"></a>

### ProvisionedThroughput
<a name="sam-property-simpletable-provisionedthroughputobject--examples--provisionedthroughput"></a>

프로비저닝된 처리량 예시입니다.

#### YAML
<a name="sam-property-simpletable-provisionedthroughputobject--examples--provisionedthroughput--yaml"></a>

```
Properties:
   ProvisionedThroughput:
     ReadCapacityUnits: 5
     WriteCapacityUnits: 5
```

# AWS::Serverless::StateMachine
<a name="sam-resource-statemachine"></a>

 AWS Lambda 함수 및 기타 AWS 리소스를 오케스트레이션하여 복잡하고 강력한 워크플로를 구성하는 데 사용할 수 있는 AWS Step Functions 상태 시스템을 생성합니다.

계단 함수에 대한 자세한 내용은 [AWS Step Functions 개발자 가이드](https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html)를 참조하세요.

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

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

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

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

```
Type: AWS::Serverless::StateMachine
Properties:
  AutoPublishAlias: String
  UseAliasAsEventTarget: Boolean
  [Definition](#sam-statemachine-definition): Map
  [DefinitionSubstitutions](#sam-statemachine-definitionsubstitutions): Map
  [DefinitionUri](#sam-statemachine-definitionuri): String | [S3Location](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-definitions3location)
  DeploymentPreference: [DeploymentPreference](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachinealias-deploymentpreference.html)
  [Events](#sam-statemachine-events): EventSource
  [Logging](#sam-statemachine-logging): [LoggingConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-loggingconfiguration)
  [Name](#sam-statemachine-name): String
  [PermissionsBoundary](#sam-statemachine-permissionsboundary): String
  [Policies](#sam-statemachine-policies): String | List | Map
  PropagateTags: Boolean
  [RolePath](#sam-statemachine-rolepath): String
  [Role](#sam-statemachine-role): String
  [Tags](#sam-statemachine-tags): Map
  [Tracing](#sam-statemachine-tracing): [TracingConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-tracingconfiguration)
  [Type](#sam-statemachine-type): String
```

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

 `AutoPublishAlias`   <a name="sam-statemachine-autopublishalias"></a>
상태 기기 별칭의 이름입니다. 계단 함수 상태 기기 별칭을 사용하는 방법에 대해 자세히 알아보려면 [ 개발자 가이드](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-cd-aliasing-versioning.html)의 *AWS Step Functions 버전 및 별칭을 사용한 지속적 배포 관리*를 참조하세요.   
별칭에 대한 배포 기본 설정을 구성하는데 `DeploymentPreference`을 사용합니다. 를 지정하지 않으면 `DeploymentPreference` AWS SAM 는 트래픽을 최신 상태 시스템 버전으로 한 번에 전환하도록 구성합니다.  
AWS SAM 는 `Retain` 기본적으로 버전의 `DeletionPolicy` 및를 `UpdateReplacePolicy`로 설정합니다. 이전 버전은 자동으로 삭제되지 않습니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::StepFunctions::StateMachineAlias` 리소스의 ` [ Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachinealias.html#cfn-stepfunctions-statemachinealias-name)` 속성으로 직접 전달됩니다.

 `UseAliasAsEventTarget`   <a name="sam-statemachine-usealiasaseventtarget"></a>
`AutoPublishAlias` 속성을 사용하여 생성된 별칭을 [이벤트](#sam-statemachine-events)로 정의된 이벤트 소스의 대상에 전달할지 여부를 지정합니다.  
별칭을 이벤트의 대상으로 사용하려면 `True`를 지정합니다.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*기본값*: `False`  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `Definition`   <a name="sam-statemachine-definition"></a>
상태 시스템 정의는 객체로, 객체의 형식이 JSON 또는 YAML과 같은 AWS SAM 템플릿 파일의 형식과 일치합니다. 상태 기기 정의는 [Amazon States Language](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-amazon-states-language.html)를 따릅니다.  
인라인 스테이트 기기 정의의 예는 [예제](#sam-resource-statemachine--examples)을 참조하세요.  
`Definition` 또는 `DefinitionUri`를 제공해야 합니다.  
*유형*: 맵  
*필수 항목 여부*: 조건부  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `DefinitionSubstitutions`   <a name="sam-statemachine-definitionsubstitutions"></a>
상태 시스템 정의의 자리 표시자 변수에 대한 매핑을 지정하는 문자열-문자열 맵입니다. 이를 통해 런타임에 얻은 값(예: 내장 함수)을 상태 기기 정의에 삽입할 수 있습니다.  
*유형*: 맵  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::StepFunctions::StateMachine` 리소스의 `[DefinitionSubstitutions](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-definitionsubstitutions)` 속성과 유사합니다. 인라인 상태 시스템 정의에 내장 함수가 지정된 경우는이 속성에 항목을 AWS SAM 추가하여 상태 시스템 정의에 주입합니다.

 `DefinitionUri`   <a name="sam-statemachine-definitionuri"></a>
Amazon Simple Storage Service(S3) URI 또는 [Amazon States Language](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-amazon-states-language.html) 내 기재된 상태 기기 정의의 로컬 파일 경로입니다.  
로컬 파일 경로를 제공하는 경우 템플릿은 `sam deploy` 또는 `sam package` 명령이 포함된 워크플로를 거쳐야 정의를 올바르게 변환할 수 있습니다. 이렇게 하려면 AWS SAM CLI의 버전 0.52.0 이상을 사용해야 합니다.  
`Definition` 또는 `DefinitionUri`를 제공해야 합니다.  
*유형*: 문자열 \$1 [S3Location](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-definitions3location)  
*필수 항목 여부*: 조건부  
*CloudFormation 호환성*:이 속성은 `AWS::StepFunctions::StateMachine` 리소스의 `[DefinitionS3Location](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-definitions3location)` 속성으로 직접 전달됩니다.

 `DeploymentPreference`   <a name="sam-statemachine-deploymentpreference"></a>
점진적 상태 기기 배포를 활성화하고 구성하는 설정입니다. 계단 함수의 점진적 배포에 대해 자세히 알아보려면 [ 개발자 가이드](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-cd-aliasing-versioning.html)의 *AWS Step Functions 버전 및 별칭을 사용한 지속적 배포 관리*를 참조하세요.   
이 속성을 구성하기 전에 `AutoPublishAlias`을 지정하십시오. `DeploymentPreference` 설정이 `AutoPublishAlias`와 함께 지정된 별칭에 적용됩니다.  
를 지정하면가 `StateMachineVersionArn` 하위 속성 값을 자동으로 `DeploymentPreference` AWS SAM 생성합니다.  
*유형*: [DeploymentPreference](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stepfunctions-statemachinealias-deploymentpreference.html)  
*필수 항목 여부*: 아니요  
*CloudFormation compatibility*: AWS SAM generate 속성 `StateMachineVersionArn` 값을 `AWS::StepFunctions::StateMachineAlias` 리소스의 `[DeploymentPreference](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachinealias.html#cfn-stepfunctions-statemachinealias-deploymentpreference)` 속성에 연결하고 `DeploymentPreference` `DeploymentPreference` 전달합니다.

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

 `Logging`   <a name="sam-statemachine-logging"></a>
어떤 실행 기록 이벤트가 로그되는지, 또한 어디에서 로그되는지 정의합니다.  
*유형*: [LoggingConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-loggingconfiguration)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::StepFunctions::StateMachine` 리소스의 `[LoggingConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-loggingconfiguration)` 속성으로 직접 전달됩니다.

 `Name`   <a name="sam-statemachine-name"></a>
상태 기기의 이름입니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::StepFunctions::StateMachine` 리소스의 `[StateMachineName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-statemachinename)` 속성으로 직접 전달됩니다.

 `PermissionsBoundary`   <a name="sam-statemachine-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-statemachine-policies"></a>
이 상태 기기의 권한 정책입니다. 정책은 상태 시스템의 기본 AWS Identity and Access Management (IAM) 실행 역할에 추가됩니다.  
이 속성은 단일 값 또는 값 목록을 허용합니다. 허용되는 값은 다음과 같습니다.  
+ [AWS SAM정책 템플릿](serverless-policy-templates.md).
+ ARN 관리형 정책 [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)의.
+ 다음 [ 목록에](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` 속성을 설정하면 이 속성은 무시됩니다.
*유형*: 문자열 \$1 목록 \$1 맵  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

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

 `Role`   <a name="sam-statemachine-role"></a>
이 상태 기기의 실행 역할로 사용할 IAM 역할의 ARN.  
*유형*: 문자열  
*필수 항목 여부*: 조건부  
*CloudFormation 호환성*:이 속성은 `AWS::StepFunctions::StateMachine` 리소스의 `[ RoleArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-rolearn)` 속성으로 직접 전달됩니다.

 `RolePath`   <a name="sam-statemachine-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)` 속성으로 직접 전달됩니다.

 `Tags`   <a name="sam-statemachine-tags"></a>
상태 시스템에 추가된 태그와 해당 실행 역할을 지정하는 문자열-문자열 맵입니다. 태그의 유효한 키와 값에 대한 자세한 내용은 [ 리소스](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-tags)의 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html)태그 속성을 참조하세요.  
*유형*: 맵  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::StepFunctions::StateMachine` 리소스의 `[Tags](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-tags)` 속성과 유사합니다.는이 리소스와 해당 리소스에 대해 생성된 기본 역할에 `stateMachine:createdBy:SAM` 태그를 AWS SAM 자동으로 추가합니다.

 `Tracing`   <a name="sam-statemachine-tracing"></a>
상태 시스템에 대해 AWS X-Ray 가 활성화되었는지 여부를 선택합니다. Step Functions와 함께 X-Ray를 사용하는 방법에 대한 자세한 내용은 [AWS X-Ray 개발자 가이드](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-xray-tracing.html)의 *AWS Step Functions 계단 함수*를 참조하세요.  
*유형*: [TracingConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-tracingconfiguration)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::StepFunctions::StateMachine` 리소스의 `[TracingConfiguration](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-tracingconfiguration)` 속성으로 직접 전달됩니다.

 `Type`   <a name="sam-statemachine-type"></a>
상태 기기의 이름입니다.  
*유효한 값*: `STANDARD` 또는 `EXPRESS`  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*기본값*: `STANDARD`  
*CloudFormation 호환성*:이 속성은 `AWS::StepFunctions::StateMachine` 리소스의 `[StateMachineType](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html#cfn-stepfunctions-statemachine-statemachinetype)` 속성으로 직접 전달됩니다.

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

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

이 리소스의 논리적 ID를 Ref 내장 함수에 전달하면 Ref가 기저의 `AWS::StepFunctions::StateMachine` 리소스의 Amazon 리소스 이름(ARN)을 반환합니다.

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

### Fn::GetAtt
<a name="sam-resource-statemachine-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) 섹션을 참조하세요.

`Name`  <a name="Name-fn::getatt"></a>
`HelloWorld-StateMachine`과 같은 상태 기기의 이름을 반환합니다.

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

### 스테이트 기기 정의 파일
<a name="sam-resource-statemachine--examples--state-machine-definition-file"></a>

다음은 Lambda 함수가 상태 시스템을 호출할 수 있도록 허용하는 인라인 상태 시스템 정의의 예입니다. 이 예제에서는 `Role` 속성이 호출을 허용하는 적절한 정책으로 구성되어 있다고 가정합니다. `my_state_machine.asl.json`파일은 [Amazon States Language](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-amazon-states-language.html) 로 작성해야 합니다.

이 예제에서 `DefinitionSubstitution` 항목은 상태 머신이 AWS SAM 템플릿 파일에 선언된 리소스를 포함할 수 있도록 허용합니다.

#### YAML
<a name="sam-resource-statemachine--examples--state-machine-definition-file--yaml"></a>

```
MySampleStateMachine:
  Type: AWS::Serverless::StateMachine
  Properties:
    DefinitionUri: statemachine/my_state_machine.asl.json
    Role: arn:aws:iam::123456123456:role/service-role/my-sample-role
    Tracing:
      Enabled: true
    DefinitionSubstitutions:
      MyFunctionArn: !GetAtt MyFunction.Arn
      MyDDBTable: !Ref TransactionTable
```

### 인라인 상태 기기 정의
<a name="sam-resource-statemachine--examples--inline-state-machine-definition"></a>

다음은 인라인 상태 기기 정의의 예입니다.

이 예제에서는 AWS SAM 템플릿 파일이 YAML로 작성되므로 상태 시스템 정의도 YAML로 작성됩니다. 인라인 상태 시스템 정의를 JSON으로 선언하려면 AWS SAM 템플릿 파일을 JSON으로 작성합니다.

#### YAML
<a name="sam-resource-statemachine--examples--inline-state-machine-definition--yaml"></a>

```
MySampleStateMachine:
  Type: AWS::Serverless::StateMachine
  Properties:
    Definition:
      StartAt: MyLambdaState
      States:
        MyLambdaState:
          Type: Task
          Resource: arn:aws:lambda:us-east-1:123456123456:function:my-sample-lambda-app
          End: true
    Role: arn:aws:iam::123456123456:role/service-role/my-sample-role
    Tracing:
      Enabled: true
```

# EventSource
<a name="sam-property-statemachine-statemachineeventsource"></a>

스테이트 머신을 트리거하는 이벤트의 소스를 설명하는 객체. 각 이벤트는 유형과 해당 유형에 따라 달라지는 속성 집합으로 구성됩니다. 각 이벤트 소스의 속성에 대한 자세한 내용은 해당 유형에 해당하는 하위 주제를 참조하세요.

## 구문
<a name="sam-property-statemachine-statemachineeventsource-syntax"></a>

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

### YAML
<a name="sam-property-statemachine-statemachineeventsource-syntax.yaml"></a>

```
  [Properties](#sam-statemachine-statemachineeventsource-properties): Schedule | ScheduleV2 | CloudWatchEvent | EventBridgeRule | Api
  [Type](#sam-statemachine-statemachineeventsource-type): String
```

## 속성
<a name="sam-property-statemachine-statemachineeventsource-properties"></a>

 `Properties`   <a name="sam-statemachine-statemachineeventsource-properties"></a>
이 이벤트 매핑의 속성을 설명하는 객체. 속성 집합은 정의된 `Type`과 일치해야 합니다.  
*유형*: [일정](sam-property-statemachine-statemachineschedule.md) \$1 [ScheduleV2](sam-property-statemachine-statemachineschedulev2.md) \$1[CloudWatchEvent](sam-property-statemachine-statemachinecloudwatchevent.md)\$1[EventBridgeRule규칙](sam-property-statemachine-statemachineeventbridgerule.md) \$1 [Api](sam-property-statemachine-statemachineapi.md)  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `Type`   <a name="sam-statemachine-statemachineeventsource-type"></a>
이벤트 유형.  
*유효한 값* `Api` `Schedule`, `ScheduleV2`, `CloudWatchEvent`, `EventBridgeRule`   
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

## 예제
<a name="sam-property-statemachine-statemachineeventsource--examples"></a>

### API
<a name="sam-property-statemachine-statemachineeventsource--examples--api"></a>

다음은 `API` 유형의 이벤트 예입니다.

#### YAML
<a name="sam-property-statemachine-statemachineeventsource--examples--api--yaml"></a>

```
ApiEvent:
  Type: Api
  Properties:
    Method: get
    Path: /group/{user}
    RestApiId: 
      Ref: MyApi
```

# Api
<a name="sam-property-statemachine-statemachineapi"></a>

`Api` 이벤트 소스 유형을 설명하는 객체. [AWS::Serverless::Api](sam-resource-api.md) 리소스가 정의된 경우 경로 및 메서드 값은 API의 OpenAPI 정의에 있는 작업과 일치해야 합니다.

## 구문
<a name="sam-property-statemachine-statemachineapi-syntax"></a>

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

### YAML
<a name="sam-property-statemachine-statemachineapi-syntax.yaml"></a>

```
  [Auth](#sam-statemachine-statemachineapi-auth): ApiStateMachineAuth
  [Method](#sam-statemachine-statemachineapi-method): String
  [Path](#sam-statemachine-statemachineapi-path): String
  [RestApiId](#sam-statemachine-statemachineapi-restapiid): String
  UnescapeMappingTemplate: Boolean
```

## 속성
<a name="sam-property-statemachine-statemachineapi-properties"></a>

 `Auth`   <a name="sam-statemachine-statemachineapi-auth"></a>
이 API, 경로 및 메서드의 권한 부여 구성.  
이 속성을 사용하면 `DefaultAuthorizer`가 지정되지 않은 경우 개별 경로에 대한 API의 `DefaultAuthorizer` 설정을 재정의하거나 기본 `ApiKeyRequired` 설정을 재정의할 수 있습니다.  
*유형*: [ApiStateMachineAuth](sam-property-statemachine-apistatemachineauth.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `Method`   <a name="sam-statemachine-statemachineapi-method"></a>
이 함수가 호출되는 HTTP 메서드.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `Path`   <a name="sam-statemachine-statemachineapi-path"></a>
이 함수가 호출되는 Uri 경로입니다. `/`로 값을 시작합니다.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `RestApiId`   <a name="sam-statemachine-statemachineapi-restapiid"></a>
`RestApi` 리소스의 식별자로, 지정된 경로와 메서드를 사용하는 작업이 포함되어야 합니다. 일반적으로 이 템플릿에 정의된 [AWS::Serverless::Api](sam-resource-api.md) 리소스를 참조하도록 설정됩니다.  
이 속성을 정의하지 않으면는 생성된 `OpenApi` 문서를 사용하여 기본 [AWS::Serverless::Api](sam-resource-api.md) 리소스를 AWS SAM 생성합니다. 해당 리소스에는 `RestApiId`를 지정하지 않은 동일한 템플릿의 `Api` 이벤트에 의해 정의된 모든 경로와 메서드가 통합되어 있습니다.  
이 속성은 다른 템플릿에 정의된 [AWS::Serverless::Api](sam-resource-api.md) 리소스를 참조할 수 없습니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `UnescapeMappingTemplate`   <a name="sam-statemachine-statemachineapi-unescapemappingtemplate"></a>
상태 시스템에 전달되는 입력에서 `\'`를 `'`로 대체하여 이스케이프 해제합니다. 입력에 작은따옴표가 포함된 경우 사용합니다.  
`False`로 설정되었고 입력에 작은따옴표가 포함된 경우 오류가 발생합니다.
*유형*: 부울  
*필수 항목 여부*: 아니요  
*기본값*: False  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 동등한 속성이 CloudFormation 없습니다.

## 예제
<a name="sam-property-statemachine-statemachineapi--examples"></a>

### ApiEvent
<a name="sam-property-statemachine-statemachineapi--examples--apievent"></a>

다음은 `Api` 유형의 이벤트 예입니다.

#### YAML
<a name="sam-property-statemachine-statemachineapi--examples--apievent--yaml"></a>

```
Events:
  ApiEvent:
    Type: Api
    Properties:
      Path: /path
      Method: get
```

# ApiStateMachineAuth
<a name="sam-property-statemachine-apistatemachineauth"></a>

특정 API, 경로 및 메서드에 대해 이벤트 수준에서 권한 부여를 구성합니다.

## 구문
<a name="sam-property-statemachine-apistatemachineauth-syntax"></a>

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

### YAML
<a name="sam-property-statemachine-apistatemachineauth-syntax.yaml"></a>

```
  [ApiKeyRequired](#sam-statemachine-apistatemachineauth-apikeyrequired): Boolean
  [AuthorizationScopes](#sam-statemachine-apistatemachineauth-authorizationscopes): List
  [Authorizer](#sam-statemachine-apistatemachineauth-authorizer): String
  [ResourcePolicy](#sam-statemachine-apistatemachineauth-resourcepolicy): ResourcePolicyStatement
```

## 속성
<a name="sam-property-statemachine-apistatemachineauth-properties"></a>

 `ApiKeyRequired`   <a name="sam-statemachine-apistatemachineauth-apikeyrequired"></a>
이 API, 경로 및 메서드에 대한 API 키가 필요합니다.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `AuthorizationScopes`   <a name="sam-statemachine-apistatemachineauth-authorizationscopes"></a>
이 API, 경로 및 메서드에 적용할 수 있는 권한 부여 범위.  
지정한 범위는 해당 속성을 지정한 경우 `DefaultAuthorizer` 속성에서 적용한 모든 범위를 재정의합니다.  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `Authorizer`   <a name="sam-statemachine-apistatemachineauth-authorizer"></a>
특정 상태 시스템용 `Authorizer`.  
API에 대한 글로벌 권한 부여자를 지정하고 이 상태 시스템을 공개하려면 `Authorizer`를 `NONE`으로 설정하여 전역 권한 부여자를 재정의합니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `ResourcePolicy`   <a name="sam-statemachine-apistatemachineauth-resourcepolicy"></a>
이 API 및 경로에 대한 리소스 정책을 구성합니다.  
*유형*: [리소스 정책 설명](sam-property-statemachine-resourcepolicystatement.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

## 예제
<a name="sam-property-statemachine-apistatemachineauth--examples"></a>

### StateMachine-Auth
<a name="sam-property-statemachine-apistatemachineauth--examples--statemachine-auth"></a>

다음 예에서는 상태 시스템 수준에서 권한 부여를 지정합니다.

#### YAML
<a name="sam-property-statemachine-apistatemachineauth--examples--statemachine-auth--yaml"></a>

```
Auth:
  ApiKeyRequired: true
  Authorizer: NONE
```

# ResourcePolicyStatement
<a name="sam-property-statemachine-resourcepolicystatement"></a>

API의 모든 메서드와 경로에 대한 리소스 정책을 구성합니다. 리소스 정책에 대한 자세한 내용은 *API Gateway 개발자 안내서*의 [API Gateway 리소스 정책을 사용하는 액세스 제어](https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-resource-policies.html)를 참조하세요.

## 구문
<a name="sam-property-statemachine-resourcepolicystatement-syntax"></a>

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

### YAML
<a name="sam-property-statemachine-resourcepolicystatement-syntax.yaml"></a>

```
  [AwsAccountBlacklist](#sam-statemachine-resourcepolicystatement-awsaccountblacklist): List
  [AwsAccountWhitelist](#sam-statemachine-resourcepolicystatement-awsaccountwhitelist): List
  [CustomStatements](#sam-statemachine-resourcepolicystatement-customstatements): List
  [IntrinsicVpcBlacklist](#sam-statemachine-resourcepolicystatement-intrinsicvpcblacklist): List
  [IntrinsicVpcWhitelist](#sam-statemachine-resourcepolicystatement-intrinsicvpcwhitelist): List
  [IntrinsicVpceBlacklist](#sam-statemachine-resourcepolicystatement-intrinsicvpceblacklist): List
  [IntrinsicVpceWhitelist](#sam-statemachine-resourcepolicystatement-intrinsicvpcewhitelist): List
  [IpRangeBlacklist](#sam-statemachine-resourcepolicystatement-iprangeblacklist): List
  [IpRangeWhitelist](#sam-statemachine-resourcepolicystatement-iprangewhitelist): List
  [SourceVpcBlacklist](#sam-statemachine-resourcepolicystatement-sourcevpcblacklist): List
  [SourceVpcWhitelist](#sam-statemachine-resourcepolicystatement-sourcevpcwhitelist): List
```

## 속성
<a name="sam-property-statemachine-resourcepolicystatement-properties"></a>

 `AwsAccountBlacklist`   <a name="sam-statemachine-resourcepolicystatement-awsaccountblacklist"></a>
차단할 AWS 계정입니다.  
*유형*: 문자열 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `AwsAccountWhitelist`   <a name="sam-statemachine-resourcepolicystatement-awsaccountwhitelist"></a>
허용할 AWS 계정입니다. 이 속성의 예제 사용 예제를 알아보려면 이 페이지 하단의 예제을 참조하세요  
*유형*: 문자열 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `CustomStatements`   <a name="sam-statemachine-resourcepolicystatement-customstatements"></a>
이 API에 적용할 사용자 지정 리소스 정책 설명 목록. 이 속성의 예제 사용 예제를 알아보려면 이 페이지 하단의 예제을 참조하세요  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `IntrinsicVpcBlacklist`   <a name="sam-statemachine-resourcepolicystatement-intrinsicvpcblacklist"></a>
차단할 Virtual Private Cloud(VPC) )목록입니다. 여기서 각 VPC는 [동적 참조](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html) 또는 `Ref` [내장 함수](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html)와 같은 참조로 지정됩니다. 이 속성의 예제 사용 예제를 알아보려면 이 페이지 하단의 예제을 참조하세요  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `IntrinsicVpcWhitelist`   <a name="sam-statemachine-resourcepolicystatement-intrinsicvpcwhitelist"></a>
[허용할 VPC 목록. 여기서 각 VPC는 [동적 참조](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html) 또는 `Ref` 내장 함수](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html)와 같은 참조로 지정됩니다.  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `IntrinsicVpceBlacklist`   <a name="sam-statemachine-resourcepolicystatement-intrinsicvpceblacklist"></a>
[차단할 VPC 엔드포인트 목록. 여기서 각 VPC 엔드포인트는 [동적 참조](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html) 또는 `Ref` 내장 함수](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html)와 같은 참조로 지정됩니다.  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `IntrinsicVpceWhitelist`   <a name="sam-statemachine-resourcepolicystatement-intrinsicvpcewhitelist"></a>
[허용할 VPC 엔드포인트 목록. 여기서 각 VPC 엔드포인트는 [동적 참조](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/dynamic-references.html) 또는 `Ref` 내장 함수](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-ref.html)와 같은 참조로 지정됩니다. 이 속성의 예제 사용 예제를 알아보려면 이 페이지 하단의 예제을 참조하세요  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `IpRangeBlacklist`   <a name="sam-statemachine-resourcepolicystatement-iprangeblacklist"></a>
차단할 IP 주소 또는 주소 범위. 이 속성의 예제 사용 예제를 알아보려면 이 페이지 하단의 예제을 참조하세요  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `IpRangeWhitelist`   <a name="sam-statemachine-resourcepolicystatement-iprangewhitelist"></a>
허용할 IP 주소 또는 주소 범위.  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `SourceVpcBlacklist`   <a name="sam-statemachine-resourcepolicystatement-sourcevpcblacklist"></a>
차단할 소스 VPC 또는 VPC 엔드포인트. 소스 VPC 이름은 `"vpc-"`로 시작하고 소스 VPC 엔드포인트 이름은 `"vpce-"`로 시작해야 합니다. 이 속성의 예제 사용 예제를 알아보려면 이 페이지 하단의 예제을 참조하세요  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `SourceVpcWhitelist`   <a name="sam-statemachine-resourcepolicystatement-sourcevpcwhitelist"></a>
허용할 소스 VPC 또는 VPC 엔드포인트. 소스 VPC 이름은 `"vpc-"`로 시작하고 소스 VPC 엔드포인트 이름은 `"vpce-"`로 시작해야 합니다.  
*유형*: 목록  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

## 예제
<a name="sam-property-statemachine-resourcepolicystatement--examples"></a>

### 리소스 정책 예시
<a name="sam-property-statemachine-resourcepolicystatement--examples--resource-policy-example"></a>

다음 예제에서는 두 개의 IP 주소와 소스 VPC를 차단하고 AWS 계정을 허용합니다.

#### YAML
<a name="sam-property-statemachine-resourcepolicystatement--examples--resource-policy-example--yaml"></a>

```
Auth:
  ResourcePolicy:
    CustomStatements: [{
                         "Effect": "Allow",
                         "Principal": "*",
                         "Action": "execute-api:Invoke",
                         "Resource": "execute-api:/Prod/GET/pets",
                         "Condition": {
                           "IpAddress": {
                             "aws:SourceIp": "1.2.3.4"
                           }
                         }
                       }]
    IpRangeBlacklist:
      - "10.20.30.40"
      - "1.2.3.4"
    SourceVpcBlacklist:
      - "vpce-1a2b3c4d"
    AwsAccountWhitelist:
      - "111122223333"
    IntrinsicVpcBlacklist:
      - "{{resolve:ssm:SomeVPCReference:1}}" 
      - !Ref MyVPC
    IntrinsicVpceWhitelist:
      - "{{resolve:ssm:SomeVPCEReference:1}}" 
      - !Ref MyVPCE
```

# CloudWatchEvent
<a name="sam-property-statemachine-statemachinecloudwatchevent"></a>

`CloudWatchEvent` 이벤트 소스 유형을 설명하는 객체.

AWS Serverless Application Model (AWS SAM)는이 이벤트 유형이 설정되면 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html) 리소스를 생성합니다.

**중요 참고** 사항: [EventBridgeRule](sam-property-statemachine-statemachineeventbridgerule.md)는 대신 사용할 기본 이벤트 소스 유형입니다`CloudWatchEvent`. `EventBridgeRule` 및는 동일한 기본 서비스, API 및 CloudFormation 리소스를 `CloudWatchEvent` 사용합니다. 그러나 AWS SAM 는 에만 새 기능에 대한 지원을 추가합니다`EventBridgeRule`.

## 구문
<a name="sam-property-statemachine-statemachinecloudwatchevent-syntax"></a>

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

### YAML
<a name="sam-property-statemachine-statemachinecloudwatchevent-syntax.yaml"></a>

```
  [EventBusName](#sam-statemachine-statemachinecloudwatchevent-eventbusname): String
  [Input](#sam-statemachine-statemachinecloudwatchevent-input): String
  [InputPath](#sam-statemachine-statemachinecloudwatchevent-inputpath): String
  [Pattern](#sam-statemachine-statemachinecloudwatchevent-pattern): [EventPattern](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-eventpattern)
```

## 속성
<a name="sam-property-statemachine-statemachinecloudwatchevent-properties"></a>

 `EventBusName`   <a name="sam-statemachine-statemachinecloudwatchevent-eventbusname"></a>
이 규칙과 연결할 이벤트 버스입니다. 이 속성을 생략하면가 기본 이벤트 버스를 AWS SAM 사용합니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*기본값*: 기본 이벤트 버스  
*CloudFormation 호환성*:이 속성은 `AWS::Events::Rule` 리소스의 `[EventBusName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-eventbusname)` 속성으로 직접 전달됩니다.

 `Input`   <a name="sam-statemachine-statemachinecloudwatchevent-input"></a>
대상으로 전달되는 유효한 JSON 텍스트입니다. 이 속성을 사용하면 이벤트 텍스트 자체의 어떤 것도 대상으로 전달되지 않습니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Events::Rule Target` 리소스의 `[Input](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-input)` 속성으로 직접 전달됩니다.

 `InputPath`   <a name="sam-statemachine-statemachinecloudwatchevent-inputpath"></a>
일치된 이벤트 전체를 전달하지 않으려는 경우 `InputPath` 속성을 사용하여 이벤트의 어떤 부분이 전달되어야 하는지 설명하세요.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Events::Rule Target` 리소스의 `[InputPath](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-inputpath)` 속성으로 직접 전달됩니다.

 `Pattern`   <a name="sam-statemachine-statemachinecloudwatchevent-pattern"></a>
어떤 이벤트가 지정된 대상으로 라우팅되는지를 설명합니다. 자세한 내용은 *Amazon EventBridge 사용자 가이드*의 [EventBridge의 이벤트 및 이벤트 패턴](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-and-event-patterns.html)을 참조하세요.  
*유형*: [이벤트패턴](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-eventpattern)  
*필수 항목 여부*: 예  
*CloudFormation 호환성*:이 속성은 `AWS::Events::Rule` 리소스의 `[EventPattern](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-eventpattern)` 속성으로 직접 전달됩니다.

## 예제
<a name="sam-property-statemachine-statemachinecloudwatchevent--examples"></a>

### CloudWatchEvent
<a name="sam-property-statemachine-statemachinecloudwatchevent--examples--cloudwatchevent"></a>

다음은 `CloudWatchEvent` 이벤트 소스 유형의 한 예제입니다.

#### YAML
<a name="sam-property-statemachine-statemachinecloudwatchevent--examples--cloudwatchevent--yaml"></a>

```
CWEvent:
  Type: CloudWatchEvent
  Properties:
    Input: '{"Key": "Value"}'
    Pattern:
      detail:
        state:
          - running
```

# EventBridgeRule
<a name="sam-property-statemachine-statemachineeventbridgerule"></a>

상태 머신을 Amazon EventBridge 규칙의 대상으로 설정하는 `EventBridgeRule`이벤트 소스 유형을 설명하는 객체. 자세한 내용은 *EventBridge User Guide(EventBridge 사용 설명서)*의 [What Is EventBridge?(EventBridge란?)](https://docs.aws.amazon.com/eventbridge/latest/userguide/what-is-amazon-eventbridge.html)를 참조하세요.

AWS SAM 이 이벤트 유형이 설정되면가 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html) 리소스를 생성합니다.

## 구문
<a name="sam-property-statemachine-statemachineeventbridgerule-syntax"></a>

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

### YAML
<a name="sam-property-statemachine-statemachineeventbridgerule-syntax.yaml"></a>

```
  DeadLetterConfig: DeadLetterConfig
  EventBusName: String
  Input: String
  InputPath: String
  InputTransformer: [InputTransformer](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-inputtransformer.html)
  Pattern: [EventPattern](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-eventpattern)
  RetryPolicy: [RetryPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-retrypolicy)
  RuleName: String
  State: String
  Target: Target
```

## 속성
<a name="sam-property-statemachine-statemachineeventbridgerule-properties"></a>

 `DeadLetterConfig`   <a name="sam-statemachine-statemachineeventbridgerule-deadletterconfig"></a>
대상 호출이 실패한 경우 EventBridge가 이벤트를 전송하는 Amazon Simple Queue Service(Amazon SQS) 대기열을 구성합니다. 예를 들어 존재하지 않는 Lambda 함수로 이벤트를 전송하거나 EventBridge에 Lambda 함수를 간접 호출할 권한이 충분하지 않은 경우 간접 호출이 실패할 수 있습니다. 자세한 내용은 *Amazon EventBridge 사용자 가이드*의 [이벤트 재시도 정책 및 DLQ(Dead Letter Queue) 사용](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html)을 참조하세요.  
*유형*: [DeadLetterConfig](sam-property-statemachine-statemachinedeadletterconfig.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Events::Rule` `Target` 데이터 유형의 `[DeadLetterConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-deadletterconfig)` 속성과 유사합니다. 이 속성의 AWS SAM 버전에는 배달 못한 편지 대기열 AWS SAM 을 생성하려는 경우 추가 하위 속성이 포함됩니다.

 `EventBusName`   <a name="sam-statemachine-statemachineeventbridgerule-eventbusname"></a>
이 규칙과 연결할 이벤트 버스입니다. 이 속성을 생략하면가 기본 이벤트 버스를 AWS SAM 사용합니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*기본값*: 기본 이벤트 버스  
*CloudFormation 호환성*:이 속성은 `AWS::Events::Rule` 리소스의 `[EventBusName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-eventbusname)` 속성으로 직접 전달됩니다.

 `Input`   <a name="sam-statemachine-statemachineeventbridgerule-input"></a>
대상으로 전달되는 유효한 JSON 텍스트입니다. 이 속성을 사용하면 이벤트 텍스트 자체의 어떤 것도 대상으로 전달되지 않습니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Events::Rule Target` 리소스의 `[Input](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-input)` 속성으로 직접 전달됩니다.

 `InputPath`   <a name="sam-statemachine-statemachineeventbridgerule-inputpath"></a>
일치된 이벤트 전체를 전달하지 않으려는 경우 `InputPath` 속성을 사용하여 이벤트의 어떤 부분이 전달되어야 하는지 설명하세요.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Events::Rule Target` 리소스의 `[InputPath](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-inputpath)` 속성으로 직접 전달됩니다.

`InputTransformer`  <a name="sam-statemachine-statemachineeventbridgerule-inputtransformer"></a>
특정 이벤트 데이터를 기반으로 대상에 사용자 지정 입력을 제공할 수 있게 하는 설정입니다. 이벤트에서 하나 이상의 키-값 페어를 추출한 후 이 데이터를 사용하여 대상에 사용자 지정 입력을 전송할 수 있습니다. 자세한 내용은 *Amazon EventBridge 사용자 가이드*의 [Amazon EventBridge 입력 변환](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-transform-target-input.html)을 참조하세요.  
*유형*: [InputTransformer](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-inputtransformer)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Events::Rule` `Target` 데이터 유형의 `[InputTransformer](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-inputtransformer.html) ` 속성으로 직접 전달됩니다.

 `Pattern`   <a name="sam-statemachine-statemachineeventbridgerule-pattern"></a>
어떤 이벤트가 지정된 대상으로 라우팅되는지를 설명합니다. 자세한 내용은 *Amazon EventBridge 사용자 가이드*의 [EventBridge의 이벤트 및 이벤트 패턴](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-and-event-patterns.html)을 참조하세요.  
*유형*: [이벤트패턴](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-eventpattern)  
*필수 항목 여부*: 예  
*CloudFormation 호환성*:이 속성은 `AWS::Events::Rule` 리소스의 `[EventPattern](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-eventpattern)` 속성으로 직접 전달됩니다.

 `RetryPolicy`   <a name="sam-statemachine-statemachineeventbridgerule-retrypolicy"></a>
재시도 정책 설정에 대한 정보가 포함된 `RetryPolicy` 객체입니다. 자세한 내용은 *Amazon EventBridge 사용자 가이드*의 [이벤트 재시도 정책 및 DLQ(Dead Letter Queue) 사용](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html)을 참조하세요.  
*유형*: [RetryPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-retrypolicy)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Events::Rule` `Target` 데이터 유형의 `[RetryPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-retrypolicy)` 속성으로 직접 전달됩니다.

 `RuleName`   <a name="sam-statemachine-statemachineeventbridgerule-rulename"></a>
규칙의 이름입니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Events::Rule` 리소스의 `[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-name)` 속성으로 직접 전달됩니다.

`State`  <a name="sam-statemachine-statemachineeventbridgerule-state"></a>
규칙의 상태입니다.  
*유효한 값*: `[ DISABLED | ENABLED ]`  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Events::Rule` 리소스의 `[State](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-state)` 속성으로 직접 전달됩니다.

 `Target`   <a name="sam-statemachine-statemachineeventbridgerule-target"></a>
규칙이 트리거될 때 EventBridge가 호출하는 AWS 리소스입니다. 이 속성을 사용하여 대상의 논리적 ID를 지정할 수 있습니다. 이 속성을 지정하지 않으면가 대상의 논리적 ID를 AWS SAM 생성합니다.  
*유형*: [Target](sam-property-statemachine-statemachinetarget.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Events::Rule` 리소스의 `[Targets](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-targets)` 속성과 유사합니다. 이 속성의 AWS SAM 버전에서는 단일 대상의 논리적 ID만 지정할 수 있습니다.

## 예제
<a name="sam-property-statemachine-statemachineeventbridgerule--examples"></a>

### EventBridgeRule
<a name="sam-property-statemachine-statemachineeventbridgerule--examples--eventbridgerule"></a>

다음은 `EventBridgeRule` 이벤트 소스 유형의 예입니다.

#### YAML
<a name="sam-property-statemachine-statemachineeventbridgerule--examples--eventbridgerule--yaml"></a>

```
EBRule:
  Type: EventBridgeRule
  Properties:
    Input: '{"Key": "Value"}'
    Pattern:
      detail:
        state:
          - terminated
```

# DeadLetterConfig
<a name="sam-property-statemachine-statemachinedeadletterconfig"></a>

대상 호출 실패 후 EventBridge가 이벤트를 전송하는 Amazon Simple Queue Service(Amazon SQS) 대기열을 지정하는 데 사용되는 객체입니다. 예를 들어 존재하지 않는 상태 시스템으로 이벤트를 전송하거나 상태 시스템을 호출할 권한이 충분하지 않은 경우 간접 호출이 실패할 수 있습니다. 자세한 내용은 *Amazon EventBridge 사용자 가이드*의 [이벤트 재시도 정책 및 DLQ(Dead Letter Queue) 사용](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html)을 참조하세요.

## 구문
<a name="sam-property-statemachine-statemachinedeadletterconfig-syntax"></a>

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

### YAML
<a name="sam-property-statemachine-statemachinedeadletterconfig-syntax.yaml"></a>

```
  [Arn](#sam-statemachine-statemachinedeadletterconfig-arn): String
  [QueueLogicalId](#sam-statemachine-statemachinedeadletterconfig-queuelogicalid): String
  [Type](#sam-statemachine-statemachinedeadletterconfig-type): String
```

## 속성
<a name="sam-property-statemachine-statemachinedeadletterconfig-properties"></a>

 `Arn`   <a name="sam-statemachine-statemachinedeadletterconfig-arn"></a>
DLQ(Dead Letter Queue)의 대상으로 지정된 Amazon SQS 대기열의 Amazon 리소스 이름(ARN)입니다.  
`Type` 속성 또는 `Arn` 속성 중 하나만 지정해야 하며, 둘 다 지정할 수는 없습니다.
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Events::Rule` `DeadLetterConfig` 데이터 유형의 `[Arn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-deadletterconfig.html#cfn-events-rule-deadletterconfig-arn)` 속성으로 직접 전달됩니다.

 `QueueLogicalId`   <a name="sam-statemachine-statemachinedeadletterconfig-queuelogicalid"></a>
가 지정된 경우가 AWS SAM 생성하는 배달 못한 편지 대기열의 사용자 지정 이름`Type`입니다.  
`Type` 속성이 설정되지 않은 경우 이 속성은 무시됩니다.
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `Type`   <a name="sam-statemachine-statemachinedeadletterconfig-type"></a>
대기열 유형. 이 속성이 설정되면는 배달 못한 편지 대기열을 AWS SAM 자동으로 생성하고 필요한 [리소스 기반 정책을](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html#dlq-perms) 연결하여 대기열로 이벤트를 전송할 수 있는 규칙 리소스에 권한을 부여합니다.  
`Type` 속성 또는 `Arn` 속성 중 하나만 지정해야 하며, 둘 다 지정할 수는 없습니다.
*유효한 값*: `SQS`  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

## 예제
<a name="sam-property-statemachine-statemachinedeadletterconfig--examples"></a>

### DeadLetterConfig
<a name="sam-property-statemachine-statemachinedeadletterconfig--examples--deadletterconfig"></a>

DeadLetterConfig

#### YAML
<a name="sam-property-statemachine-statemachinedeadletterconfig--examples--deadletterconfig--yaml"></a>

```
DeadLetterConfig:
  Type: SQS
  QueueLogicalId: MyDLQ
```

# Target
<a name="sam-property-statemachine-statemachinetarget"></a>

규칙이 트리거될 때 EventBridge가 호출하는 AWS 리소스를 구성합니다.

## 구문
<a name="sam-property-statemachine-statemachinetarget-syntax"></a>

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

### YAML
<a name="sam-property-statemachine-statemachinetarget-syntax.yaml"></a>

```
  [Id](#sam-statemachine-statemachinetarget-id): String
```

## 속성
<a name="sam-property-statemachine-statemachinetarget-properties"></a>

 `Id`   <a name="sam-statemachine-statemachinetarget-id"></a>
대상의 논리적 ID.  
`Id`의 값은 영숫자 문자, 마침표(`.`), 하이픈(`-`), 밑줄(`_`)을 포함할 수 있습니다.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::Events::Rule` `Target` 데이터 유형의 `[Id](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-id)` 속성으로 직접 전달됩니다.

## 예제
<a name="sam-property-statemachine-statemachinetarget--examples"></a>

### 대상
<a name="sam-property-statemachine-statemachinetarget--examples--target"></a>

#### YAML
<a name="sam-property-statemachine-statemachinetarget--examples--target--yaml"></a>

```
EBRule:
  Type: EventBridgeRule
  Properties:
    Target:
      Id: MyTarget
```

# Schedule
<a name="sam-property-statemachine-statemachineschedule"></a>

`Schedule`이벤트 소스 유형을 설명하는 객체로, 이 객체는 귀하의 상태 머신을 일정에 따라 트리거되는 EventBridge 규칙의 대상으로 설정합니다. 자세한 내용은 *Amazon EventBridge User Guide(Amazon EventBridge 사용 설명서)*의 [What Is Amazon EventBridge?(Amazon EventBridge란?)](https://docs.aws.amazon.com/eventbridge/latest/userguide/what-is-amazon-eventbridge.html)를 참조하십시오.

AWS Serverless Application Model (AWS SAM)는이 이벤트 유형이 설정되면 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html) 리소스를 생성합니다.

## 구문
<a name="sam-property-statemachine-statemachineschedule-syntax"></a>

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

### YAML
<a name="sam-property-statemachine-statemachineschedule-syntax.yaml"></a>

```
  [DeadLetterConfig](#sam-statemachine-statemachineschedule-deadletterconfig): DeadLetterConfig
  [Description](#sam-statemachine-statemachineschedule-description): String
  [Enabled](#sam-statemachine-statemachineschedule-enabled): Boolean
  [Input](#sam-statemachine-statemachineschedule-input): String
  [Name](#sam-statemachine-statemachineschedule-name): String
  [RetryPolicy](#sam-statemachine-statemachineschedule-retrypolicy): [RetryPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-retrypolicy)
  [RoleArn](#sam-statemachine-statemachineschedulev-rolearn): String
  [Schedule](#sam-statemachine-statemachineschedule-schedule): String
  [State](#sam-statemachine-statemachineschedule-state): String
  Target: Target
```

## 속성
<a name="sam-property-statemachine-statemachineschedule-properties"></a>

 `DeadLetterConfig`   <a name="sam-statemachine-statemachineschedule-deadletterconfig"></a>
대상 호출이 실패한 경우 EventBridge가 이벤트를 전송하는 Amazon Simple Queue Service(Amazon SQS) 대기열을 구성합니다. 예를 들어 존재하지 않는 Lambda 함수로 이벤트를 전송하거나 EventBridge에 Lambda 함수를 간접 호출할 권한이 충분하지 않은 경우 간접 호출이 실패할 수 있습니다. 자세한 내용은 *Amazon EventBridge 사용자 가이드*의 [이벤트 재시도 정책 및 DLQ(Dead Letter Queue) 사용](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html)을 참조하세요.  
*유형*: [DeadLetterConfig](sam-property-statemachine-statemachinescheduledeadletterconfig.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Events::Rule` `Target` 데이터 유형의 `[DeadLetterConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-deadletterconfig)` 속성과 유사합니다. 이 속성의 AWS SAM 버전에는 배달 못한 편지 대기열 AWS SAM 을 생성하려는 경우 추가 하위 속성이 포함됩니다.

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

 `Enabled`   <a name="sam-statemachine-statemachineschedule-enabled"></a>
규칙을 활성화할지를 나타냅니다.  
규칙을 비활성화하려면 이 속성을 `false`로 설정합니다.  
`Enabled` 또는 `State` 속성을 지정할 수 있지만, 두 속성을 함께 지정할 수는 없습니다.
*유형*: 부울  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Events::Rule` 리소스의 `[State](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-state)` 속성과 유사합니다. 이 속성이 로 설정된 경우를 `true` AWS SAM 전달하고`ENABLED`, 그렇지 않으면를 전달합니다`DISABLED`.

 `Input`   <a name="sam-statemachine-statemachineschedule-input"></a>
대상으로 전달되는 유효한 JSON 텍스트입니다. 이 속성을 사용하면 이벤트 텍스트 자체의 어떤 것도 대상으로 전달되지 않습니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Events::Rule Target` 리소스의 `[Input](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-input)` 속성으로 직접 전달됩니다.

 `Name`   <a name="sam-statemachine-statemachineschedule-name"></a>
규칙의 이름입니다. 이름을 지정하지 않으면는 고유한 물리적 ID를 CloudFormation 생성하고 규칙 이름에 해당 ID를 사용합니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Events::Rule` 리소스의 `[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-name)` 속성으로 직접 전달됩니다.

 `RetryPolicy`   <a name="sam-statemachine-statemachineschedule-retrypolicy"></a>
재시도 정책 설정에 대한 정보가 포함된 `RetryPolicy` 객체입니다. 자세한 내용은 *Amazon EventBridge 사용자 가이드*의 [이벤트 재시도 정책 및 DLQ(Dead Letter Queue) 사용](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html)을 참조하세요.  
*유형*: [RetryPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-retrypolicy)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Events::Rule` `Target` 데이터 유형의 `[RetryPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-retrypolicy)` 속성으로 직접 전달됩니다.

 `RoleArn`   <a name="sam-statemachine-statemachineschedulev-rolearn"></a>
스케줄이 호출될 때 EventBridge 스케줄러가 대상에 사용할 IAM 역할의 ARN입니다.  
*유형*: [RoleArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-target.html#cfn-scheduler-schedule-target-rolearn)  
*필수 여부*: 아니요. 제공되지 않으면 새 역할이 생성되어 사용됩니다.  
*CloudFormation 호환성*:이 속성은 `AWS::Scheduler::Schedule` `Target` 데이터 유형의 `[RoleArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-target.html#cfn-scheduler-schedule-target-rolearn)` 속성으로 직접 전달됩니다.

 `Schedule`   <a name="sam-statemachine-statemachineschedule-schedule"></a>
규칙 실행 시기 및 방법을 결정하는 스케줄링 표현식입니다. 자세한 내용은 [규칙에 대한 예약 표현식](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule-schedule.html)을 참조하세요.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::Events::Rule` 리소스의 `[ScheduleExpression](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-scheduleexpression)` 속성으로 직접 전달됩니다.

 `State`   <a name="sam-statemachine-statemachineschedule-state"></a>
규칙의 상태입니다.  
*허용되는 값:* `DISABLED | ENABLED`  
`Enabled` 또는 `State` 속성을 지정할 수 있지만, 두 속성을 함께 지정할 수는 없습니다.
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Events::Rule` 리소스의 `[State](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-state)` 속성으로 직접 전달됩니다.

 `Target`   <a name="sam-statemachine-statemachineschedule-target"></a>
규칙이 트리거될 때 EventBridge가 호출하는 AWS 리소스입니다. 이 속성을 사용하여 대상의 논리적 ID를 지정할 수 있습니다. 이 속성을 지정하지 않으면가 대상의 논리적 ID를 AWS SAM 생성합니다.  
*유형*: [Target](sam-property-statemachine-statemachinetarget.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Events::Rule` 리소스의 `[Targets](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-events-rule.html#cfn-events-rule-targets)` 속성과 유사합니다. 이 속성의 AWS SAM 버전에서는 단일 대상의 논리적 ID만 지정할 수 있습니다.

## 예제
<a name="sam-property-statemachine-statemachineschedule--examples"></a>

### CloudWatch Schedule Event
<a name="sam-property-statemachine-statemachineschedule--examples--cloudwatch-schedule-event"></a>

CloudWatch Schedule Events

#### YAML
<a name="sam-property-statemachine-statemachineschedule--examples--cloudwatch-schedule-event--yaml"></a>

```
CWSchedule:
  Type: Schedule
  Properties:
    Schedule: 'rate(1 minute)'
    Name: TestSchedule
    Description: test schedule
    Enabled: false
```

# DeadLetterConfig
<a name="sam-property-statemachine-statemachinescheduledeadletterconfig"></a>

대상 호출 실패 후 EventBridge가 이벤트를 전송하는 Amazon Simple Queue Service(Amazon SQS) 대기열을 지정하는 데 사용되는 객체입니다. 예를 들어 존재하지 않는 상태 시스템으로 이벤트를 전송하거나 상태 시스템을 호출할 권한이 충분하지 않은 경우 간접 호출이 실패할 수 있습니다. 자세한 내용은 *Amazon EventBridge 사용자 가이드*의 [이벤트 재시도 정책 및 DLQ(Dead Letter Queue) 사용](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html)을 참조하세요.

## 구문
<a name="sam-property-statemachine-statemachinescheduledeadletterconfig-syntax"></a>

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

### YAML
<a name="sam-property-statemachine-statemachinescheduledeadletterconfig-syntax.yaml"></a>

```
  [Arn](#sam-statemachine-statemachinescheduledeadletterconfig-arn): String
  [QueueLogicalId](#sam-statemachine-statemachinescheduledeadletterconfig-queuelogicalid): String
  [Type](#sam-statemachine-statemachinescheduledeadletterconfig-type): String
```

## 속성
<a name="sam-property-statemachine-statemachinescheduledeadletterconfig-properties"></a>

 `Arn`   <a name="sam-statemachine-statemachinescheduledeadletterconfig-arn"></a>
DLQ(Dead Letter Queue)의 대상으로 지정된 Amazon SQS 대기열의 Amazon 리소스 이름(ARN)입니다.  
`Type` 속성 또는 `Arn` 속성 중 하나만 지정해야 하며, 둘 다 지정할 수는 없습니다.
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Events::Rule` `DeadLetterConfig` 데이터 유형의 `[Arn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-deadletterconfig.html#cfn-events-rule-deadletterconfig-arn)` 속성으로 직접 전달됩니다.

 `QueueLogicalId`   <a name="sam-statemachine-statemachinescheduledeadletterconfig-queuelogicalid"></a>
가 지정된 경우가 AWS SAM 생성하는 배달 못한 편지 대기열의 사용자 지정 이름`Type`입니다.  
`Type` 속성이 설정되지 않은 경우 이 속성은 무시됩니다.
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

 `Type`   <a name="sam-statemachine-statemachinescheduledeadletterconfig-type"></a>
대기열 유형. 이 속성이 설정되면는 배달 못한 편지 대기열을 AWS SAM 자동으로 생성하고 필요한 [리소스 기반 정책을](https://docs.aws.amazon.com/eventbridge/latest/userguide/rule-dlq.html#dlq-perms) 연결하여 대기열로 이벤트를 전송할 수 있는 규칙 리소스에 권한을 부여합니다.  
`Type` 속성 또는 `Arn` 속성 중 하나만 지정해야 하며, 둘 다 지정할 수는 없습니다.
*유효한 값*: `SQS`  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 CloudFormation 동등한 속성이 없습니다.

## 예제
<a name="sam-property-statemachine-statemachinescheduledeadletterconfig--examples"></a>

### DeadLetterConfig
<a name="sam-property-statemachine-statemachinescheduledeadletterconfig--examples--deadletterconfig"></a>

DeadLetterConfig

#### YAML
<a name="sam-property-statemachine-statemachinescheduledeadletterconfig--examples--deadletterconfig--yaml"></a>

```
DeadLetterConfig:
  Type: SQS
  QueueLogicalId: MyDLQ
```

# Target
<a name="sam-property-statemachine-statemachinescheduletarget"></a>

규칙이 트리거될 때 EventBridge가 호출하는 AWS 리소스를 구성합니다.

## 구문
<a name="sam-property-statemachine-statemachinescheduletarget-syntax"></a>

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

### YAML
<a name="sam-property-statemachine-statemachinescheduletarget-syntax.yaml"></a>

```
  [Id](#sam-statemachine-statemachinescheduletarget-id): String
```

## 속성
<a name="sam-property-statemachine-statemachinescheduletarget-properties"></a>

 `Id`   <a name="sam-statemachine-statemachinescheduletarget-id"></a>
대상의 논리적 ID.  
`Id`의 값은 영숫자 문자, 마침표(`.`), 하이픈(`-`), 밑줄(`_`)을 포함할 수 있습니다.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::Events::Rule` `Target` 데이터 유형의 `[Id](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-target.html#cfn-events-rule-target-id)` 속성으로 직접 전달됩니다.

## 예제
<a name="sam-property-statemachine-statemachinescheduletarget--examples"></a>

### 대상
<a name="sam-property-statemachine-statemachinescheduletarget--examples--target"></a>

#### YAML
<a name="sam-property-statemachine-statemachinescheduletarget--examples--target--yaml"></a>

```
EBRule:
  Type: Schedule
  Properties:
    Target:
      Id: MyTarget
```

# ScheduleV2
<a name="sam-property-statemachine-statemachineschedulev2"></a>

`ScheduleV2` 이벤트 소스 유형을 설명하는 객체로, 이 객체는 상태 머신을 일정에 따라 트리거되는 Amazon EventBridge Scheduler 이벤트의 대상으로 설정합니다. 자세한 내용은 EventBridge Scheduler 사용 설명서**의 [Amazon EventBridge Scheduler란 무엇인가요?](https://docs.aws.amazon.com/scheduler/latest/UserGuide/what-is-scheduler.html)를 참조하세요.

AWS Serverless Application Model (AWS SAM)는이 이벤트 유형이 설정되면 [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html) 리소스를 생성합니다.

## 구문
<a name="sam-property-statemachine-statemachineschedulev2-syntax"></a>

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

### YAML
<a name="sam-property-statemachine-statemachineschedulev2-syntax.yaml"></a>

```
DeadLetterConfig: DeadLetterConfig
[Description](#sam-statemachine-statemachineschedulev2-description): String
[EndDate](#sam-statemachine-statemachineschedulev2-enddate): String
[FlexibleTimeWindow](#sam-statemachine-statemachineschedulev2-flexibletimewindow): FlexibleTimeWindow
[GroupName](#sam-statemachine-statemachineschedulev2-groupname): String
[Input](#sam-statemachine-statemachineschedulev2-input): String
[KmsKeyArn](#sam-statemachine-statemachineschedulev2-kmskeyarn): String
[Name](#sam-statemachine-statemachineschedulev2-name): String
OmitName: Boolean
[PermissionsBoundary](#sam-statemachine-statemachineschedulev2-permissionsboundary): String
[RetryPolicy](#sam-statemachine-statemachineschedulev2-retrypolicy): RetryPolicy
[RoleArn](#sam-statemachine-statemachineschedulev2-rolearn): String
[ScheduleExpression](#sam-statemachine-statemachineschedulev2-scheduleexpression): String
[ScheduleExpressionTimezone](#sam-statemachine-statemachineschedulev2-scheduleexpressiontimezone): String
[StartDate](#sam-statemachine-statemachineschedulev2-startdate): String
[State](#sam-statemachine-statemachineschedulev2-state): String
```

## 속성
<a name="sam-property-statemachine-statemachineschedulev2-properties"></a>

 `DeadLetterConfig`   <a name="sam-statemachine-statemachineschedulev2-deadletterconfig"></a>
대상 호출이 실패한 경우 EventBridge가 이벤트를 전송하는 Amazon Simple Queue Service(Amazon SQS) 대기열을 구성합니다. 예를 들어 존재하지 않는 Lambda 함수로 이벤트를 전송하거나 EventBridge에 Lambda 함수를 간접 호출할 권한이 충분하지 않은 경우 간접 호출이 실패할 수 있습니다. 자세한 내용은 *EventBridge 스케줄러 사용자 가이드*의 [EventBridge 스케줄러용 DLQ 대기열 구성](https://docs.aws.amazon.com/scheduler/latest/UserGuide/configuring-schedule-dlq.html)을 참조하세요.  
*유형*: [DeadLetterConfig](sam-property-statemachine-statemachinescheduledeadletterconfig.md)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Scheduler::Schedule` `Target` 데이터 유형의 `[DeadLetterConfig](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-target.html#cfn-scheduler-schedule-target-deadletterconfig)` 속성과 유사합니다. 이 속성의 AWS SAM 버전에는 배달 못한 편지 대기열 AWS SAM 을 생성하려는 경우 추가 하위 속성이 포함됩니다.

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

 `EndDate`   <a name="sam-statemachine-statemachineschedulev2-enddate"></a>
일정이 대상을 간접 호출할 수 있는 날짜(UTC 기준)입니다. 일정의 반복 식에 따라 사용자가 지정하는 **EndDate** 또는 그 이전에 호출이 중지될 수 있습니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Scheduler::Schedule` 리소스의 `[EndDate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-enddate)` 속성으로 직접 전달됩니다.

 `FlexibleTimeWindow`   <a name="sam-statemachine-statemachineschedulev2-flexibletimewindow"></a>
일정을 간접 호출할 수 있는 창을 구성할 수 있습니다.  
*유형*: [FlexibleTimeWindow](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-flexibletimewindow)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Scheduler::Schedule` 리소스의 `[FlexibleTimeWindow](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler.html#cfn-scheduler-schedule-flexibletimewindow)` 속성으로 직접 전달됩니다.

 `GroupName`   <a name="sam-statemachine-statemachineschedulev2-groupname"></a>
이 일정과 연계하기 위한 일정 그룹의 이름입니다. 정의되지 않은 경우 기본 그룹이 사용됩니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Scheduler::Schedule` 리소스의 `[GroupName](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-groupname)` 속성으로 직접 전달됩니다.

 `Input`   <a name="sam-statemachine-statemachineschedulev2-input"></a>
대상으로 전달되는 유효한 JSON 텍스트입니다. 이 속성을 사용하면 이벤트 텍스트 자체의 어떤 것도 대상으로 전달되지 않습니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Scheduler::Schedule Target` 리소스의 `[Input](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-target.html#cfn-scheduler-schedule-target-input)` 속성으로 직접 전달됩니다.

 `KmsKeyArn`   <a name="sam-statemachine-statemachineschedulev2-kmskeyarn"></a>
고객 데이터를 암호화하는 데 사용되는 KMS 키의 ARN.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Scheduler::Schedule` 리소스의 `[KmsKeyArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-kmskeyarn)` 속성으로 직접 전달됩니다.

 `Name`   <a name="sam-statemachine-statemachineschedulev2-name"></a>
일정의 이름입니다. 이름을 지정하지 않으면는 형식으로 이름을 AWS SAM 생성하고 해당 ID를 일정 이름에 `StateMachine-Logical-IDEvent-Source-Name` 사용합니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Scheduler::Schedule` 리소스의 `[Name](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-name)` 속성으로 직접 전달됩니다.

`OmitName`  <a name="sam-statemachine-statemachineschedulev2-omitname"></a>
기본적으로는 *<State-machine-logical-ID><event-source-name>* 형식의 일정 이름을 AWS SAM 생성하고 사용합니다. 고유한 물리적 ID를 CloudFormation 생성하도록 `true`하려면이 속성을 로 설정하고 대신 일정 이름에 사용합니다.  
*유형*: 부울  
*필수 항목 여부*: 아니요  
*기본값*: `false`  
*CloudFormation 호환성*:이 속성은에 고유 AWS SAM 하며 동등한 속성이 CloudFormation 없습니다.

 `PermissionsBoundary`   <a name="sam-statemachine-statemachineschedulev2-permissionsboundary"></a>
역할에 대한 권한 경계 설정에 사용되는 정책의 ARN입니다.  
`PermissionsBoundary`이 정의된 경우 AWS SAM 는 스케줄러 일정의 대상 IAM 역할에 동일한 경계를 적용합니다.
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::IAM::Role` 리소스의 `[PermissionsBoundary](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html#cfn-iam-role-permissionsboundary)` 속성으로 직접 전달됩니다.

 `RetryPolicy`   <a name="sam-statemachine-statemachineschedulev2-retrypolicy"></a>
재시도 정책 설정에 대한 정보가 포함된 `RetryPolicy` 객체입니다.  
*유형*: [RetryPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-target.html#cfn-scheduler-schedule-target-retrypolicy)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Scheduler::Schedule` `Target` 데이터 유형의 `[RetryPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-target.html#cfn-scheduler-schedule-target-retrypolicy)` 속성으로 직접 전달됩니다.

 `RoleArn`   <a name="sam-statemachine-statemachineschedulev2-rolearn"></a>
스케줄이 호출될 때 EventBridge 스케줄러가 대상에 사용할 IAM 역할의 ARN입니다.  
*유형*: [RoleArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-target.html#cfn-scheduler-schedule-target-rolearn)  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Scheduler::Schedule` `Target` 데이터 유형의 `[RoleArn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-scheduler-schedule-target.html#cfn-scheduler-schedule-target-rolearn)` 속성으로 직접 전달됩니다.

 `ScheduleExpression`   <a name="sam-statemachine-statemachineschedulev2-scheduleexpression"></a>
일정 실행 시기 및 방법을 결정하는 예약 표현식입니다.  
*유형*: 문자열  
*필수 항목 여부:* 예  
*CloudFormation 호환성*:이 속성은 `AWS::Scheduler::Schedule` 리소스의 `[ScheduleExpression](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-scheduleexpression)` 속성으로 직접 전달됩니다.

 `ScheduleExpressionTimezone`   <a name="sam-statemachine-statemachineschedulev2-scheduleexpressiontimezone"></a>
스케줄링 표현식이 평가되는 시간대입니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Scheduler::Schedule` 리소스의 `[ScheduleExpressionTimezone](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-scheduleexpressiontimezone)` 속성으로 직접 전달됩니다.

 `StartDate`   <a name="sam-statemachine-statemachineschedulev2-startdate"></a>
일정이 대상의 간접 호출을 시작할 수 있는 날짜(UTC 기준)입니다. 일정의 반복 식에 따라 사용자가 지정하는 **StartDate** 또는 그 이후에 호출이 발생할 수 있습니다.  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Scheduler::Schedule` 리소스의 `[StartDate](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-startdate)` 속성으로 직접 전달됩니다.

 `State`   <a name="sam-statemachine-statemachineschedulev2-state"></a>
일정 상태  
*허용되는 값:*`DISABLED | ENABLED`  
*유형*: 문자열  
*필수 항목 여부*: 아니요  
*CloudFormation 호환성*:이 속성은 `AWS::Scheduler::Schedule` 리소스의 `[State](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-scheduler-schedule.html#cfn-scheduler-schedule-state)` 속성으로 직접 전달됩니다.

## 예제
<a name="sam-property-statemachine-statemachineschedulev2--examples"></a>

### ScheduleV2 리소스를 정의하는 기본 예제
<a name="sam-property-statemachine-statemachineschedulev2--examples--example1"></a>

```
StateMachine:
  Type: AWS::Serverless::StateMachine
  Properties:
    Name: MyStateMachine
    Events:
      ScheduleEvent:
        Type: ScheduleV2
        Properties:
          ScheduleExpression: "rate(1 minute)"
      ComplexScheduleEvent:
        Type: ScheduleV2
        Properties:
          ScheduleExpression: rate(1 minute)
          FlexibleTimeWindow:
            Mode: FLEXIBLE
            MaximumWindowInMinutes: 5
          StartDate: '2022-12-28T12:00:00.000Z'
          EndDate: '2023-01-28T12:00:00.000Z'
          ScheduleExpressionTimezone: UTC
          RetryPolicy:
            MaximumRetryAttempts: 5
            MaximumEventAgeInSeconds: 300
          DeadLetterConfig:
            Type: SQS
    DefinitionUri:
      Bucket: sam-sam-s3-demo-bucket
      Key: my-state-machine.asl.json
      Version: 3
    Policies:
      - LambdaInvokePolicy:
          FunctionName: !Ref MyFunction
```

# 에 대해 생성된 CloudFormation 리소스 AWS SAM
<a name="sam-specification-generated-resources"></a>

이 섹션에서는가 AWS 템플릿을 AWS SAM 처리할 때 생성되는 CloudFormation 리소스에 대한 세부 정보를 제공합니다. 에서 AWS SAM 생성하는 CloudFormation 리소스 세트는 지정한 시나리오에 따라 다릅니다. *시나리오*는 템플릿 파일에 지정된 AWS SAM 리소스와 속성의 조합입니다. 템플릿 파일에서 명시적으로 선언한 CloudFormation 리소스를 참조하는 것과 마찬가지로 템플릿 파일 내 다른 곳에서 생성된 리소스를 참조할 수 있습니다.

예를 들어 `AWS::Serverless::Function` 템플릿 파일에 AWS SAM 리소스를 지정하면 항상 AWS SAM 기본 리소스가 `AWS::Lambda::Function`생성됩니다. 선택적 `AutoPublishAlias` 속성도 지정하면가 `AWS::Lambda::Alias` 및 `AWS::Lambda::Version` 리소스를 AWS SAM 추가로 생성합니다.

이 섹션에서는 시나리오와 시나리오가 생성하는 CloudFormation 리소스를 나열하고 AWS SAM 템플릿 파일에서 생성된 CloudFormation 리소스를 참조하는 방법을 보여줍니다.

## 생성된 CloudFormation 리소스 참조
<a name="sam-specification-generated-resources-referencing"></a>

 AWS SAM 템플릿 파일 내에서 생성된 CloudFormation 리소스를 참조하거나 참조 가능한 속성을 `LogicalId` 기준으로 참조하는 두 가지 옵션이 있습니다.

### LogicalId로 생성된 CloudFormation 리소스 참조
<a name="sam-specification-generated-resources-referencing-logicalid"></a>

가 각각 AWS SAM 생성하는 CloudFormation 리소스에는 템플릿 파일 내에서 고유한 `[LogicalId](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resources-section-structure.html#resources-section-structure-logicalid)`영숫자(A-Z, a-z, 0-9) 식별자인가 있습니다.는 템플릿 파일에 있는 AWS SAM 리소스`LogicalIds`의를 AWS SAM 사용하여 생성하는 CloudFormation 리소스`LogicalIds`의를 구성합니다. 명시적으로 선언한 CloudFormation 리소스와 마찬가지로 생성된 리소스`LogicalId`의를 사용하여 템플릿 파일 내에서 해당 리소스의 속성에 CloudFormation 액세스할 수 있습니다. CloudFormation 및 AWS SAM 템플릿`LogicalIds`의에 대한 자세한 내용은 *AWS CloudFormation 사용 설명서*의 [리소스를](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resources-section-structure.html) 참조하세요.

**참고**  
생성된 일부 리소스의 `LogicalIds`에는 네임스페이스 충돌을 방지하기 위한 고유한 해시 값이 포함되어 있습니다. 이러한 리소스의 `LogicalIds`는 스택이 생성될 때 파생됩니다. AWS Management Console AWS CLI또는 AWS SDKs. 해시 값이 변경될 수 있으므로 이러한 `LogicalId` 리소스를 참조하지 않는 것이 좋습니다.

### 참조 가능한 속성으로 생성된 CloudFormation 리소스 참조
<a name="sam-specification-generated-resources-referencing-referenceable-property"></a>

일부 생성된 리소스의 AWS SAM 경우는 리소스의 참조 가능한 속성을 AWS SAM 제공합니다. 이 속성을 사용하여 AWS SAM 템플릿 파일 내에서 생성된 CloudFormation 리소스와 해당 속성을 참조할 수 있습니다.

**참고**  
생성된 모든 CloudFormation 리소스에 참조 가능한 속성이 있는 것은 아닙니다. 이러한 리소스의 경우 `LogicalId`를 사용해야 합니다.

## 생성된 CloudFormation 리소스 시나리오
<a name="sam-specification-generated-resources-scenarios"></a>

다음 표에는 AWS SAM 리소스를 생성하는 시나리오를 구성하는 CloudFormation 리소스와 속성이 요약되어 있습니다. **시나리오** 열의 주제는가 해당 시나리오에 대해 생성하는 AWS SAM 추가 CloudFormation 리소스에 대한 세부 정보를 제공합니다.


| AWS SAM 리소스 | 기본 CloudFormation 리소스 | 시나리오 | 
| --- | --- | --- | 
| AWS::Serverless::Api  | [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigateway-restapi.html) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/serverless-application-model/latest/developerguide/sam-specification-generated-resources.html)  | 
| AWS::Serverless::Application  | [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stack.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-stack.html) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/serverless-application-model/latest/developerguide/sam-specification-generated-resources.html)  | 
| AWS::Serverless::CapacityProvider  | [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-capacityprovider.html) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/serverless-application-model/latest/developerguide/sam-specification-generated-resources.html)  | 
| AWS::Serverless::Function | [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-function.html) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/serverless-application-model/latest/developerguide/sam-specification-generated-resources.html)  | 
| AWS::Serverless::HttpApi | [AWS::ApiGatewayV2::Api](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-apigatewayv2-api.html) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/serverless-application-model/latest/developerguide/sam-specification-generated-resources.html)  | 
| AWS::Serverless::LayerVersion  | [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversion.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-lambda-layerversion.html) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/serverless-application-model/latest/developerguide/sam-specification-generated-resources.html)  | 
| AWS::Serverless::SimpleTable  | [AWS::DynamoDB::Table](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-dynamodb-table.html) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/serverless-application-model/latest/developerguide/sam-specification-generated-resources.html)  | 
| AWS::Serverless::StateMachine  | [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-stepfunctions-statemachine.html) |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/serverless-application-model/latest/developerguide/sam-specification-generated-resources.html)  | 

**Topics**
+ [생성된 CloudFormation 리소스 참조](#sam-specification-generated-resources-referencing)
+ [생성된 CloudFormation 리소스 시나리오](#sam-specification-generated-resources-scenarios)
+ [CloudFormation AWS::Serverless::Api가 지정될 때 생성되는 리소스](sam-specification-generated-resources-api.md)
+ [CloudFormation AWS::Serverless::Application가 지정될 때 생성되는 리소스](sam-specification-generated-resources-application.md)
+ [CloudFormation AWS::Serverless::CapacityProvider가 지정될 때 생성되는 리소스](sam-specification-generated-resources-capacityprovider.md)
+ [CloudFormation 지정할 때 생성된 리소스 AWS::Serverless::Connector](sam-specification-generated-resources-connector.md)
+ [CloudFormation AWS::Serverless::Function가 지정될 때 생성되는 리소스](sam-specification-generated-resources-function.md)
+ [CloudFormation AWS::Serverless::GraphQLApi가 지정될 때 생성되는 리소스](sam-specification-generated-resources-graphqlapi.md)
+ [CloudFormation AWS::Serverless::HttpApi가 지정될 때 생성되는 리소스](sam-specification-generated-resources-httpapi.md)
+ [CloudFormation AWS::Serverless::LayerVersion가 지정될 때 생성되는 리소스](sam-specification-generated-resources-layerversion.md)
+ [CloudFormation AWS::Serverless::SimpleTable가 지정될 때 생성되는 리소스](sam-specification-generated-resources-simpletable.md)
+ [CloudFormation AWS::Serverless::StateMachine가 지정될 때 생성되는 리소스](sam-specification-generated-resources-statemachine.md)

# CloudFormation AWS::Serverless::Api가 지정될 때 생성되는 리소스
<a name="sam-specification-generated-resources-api"></a>

`AWS::Serverless::Api`이 지정되면 AWS Serverless Application Model (AWS SAM)는 항상 `AWS::ApiGateway::RestApi` 기본 CloudFormation 리소스를 생성합니다. 또한 항상 `AWS::ApiGateway::Stage` 및 `AWS::ApiGateway::Deployment` 리소스도 생성합니다.

**`AWS::ApiGateway::RestApi`**  
*`LogicalId`: *`<api‑LogicalId>`  
*참조 가능한 속성: *N/A(이 CloudFormation 리소스를 참조`LogicalId`하려면를 사용해야 함)

**`AWS::ApiGateway::Stage`**  
*`LogicalId`: *`<api‑LogicalId><stage‑name>Stage`  
`<stage‑name>`은 `StageName` 속성이 설정된 문자열입니다. 예를 들어 `StageName`을 `Gamma`로 설정하면, `LogicalId`은 `MyRestApiGammaStage`가 됩니다.  
*참조 가능한 속성: *`<api‑LogicalId>.Stage`

**`AWS::ApiGateway::Deployment`**  
*`LogicalId`: *`<api‑LogicalId>Deployment<sha>`  
`<sha>`은 스택이 만들어질 때 생성되는 고유한 해시 값입니다. 예를 들어 `MyRestApiDeployment926eeb5ff1`입니다.  
*참조 가능한 속성: *`<api‑LogicalId>.Deployment`

이러한 CloudFormation 리소스 외에도이 지정되면 `AWS::Serverless::Api`는 다음 시나리오에 대한 추가 CloudFormation 리소스를 AWS SAM 생성합니다.

**Topics**
+ [DomainName 속성이 지정되었습니다.](#sam-specification-generated-resources-api-domain-name)
+ [UsagePlan 속성 지정됨](#sam-specification-generated-resources-api-usage-plan)

## DomainName 속성이 지정되었습니다.
<a name="sam-specification-generated-resources-api-domain-name"></a>

의 `DomainName` 속성 `Domain` 속성이 지정되면 `AWS::Serverless::Api`가 `AWS::ApiGateway::DomainName` CloudFormation 리소스를 AWS SAM 생성합니다.

**`AWS::ApiGateway::DomainName`**  
*`LogicalId`: *`ApiGatewayDomainName<sha>`  
`<sha>`은 스택이 만들어질 때 생성되는 고유한 해시 값입니다. 예를 들어 `ApiGatewayDomainName926eeb5ff1`입니다.  
*참조 가능한 속성: *`<api‑LogicalId>.DomainName`

## UsagePlan 속성 지정됨
<a name="sam-specification-generated-resources-api-usage-plan"></a>

의 `UsagePlan` 속성 `Auth` 속성이 지정되면 `AWS::Serverless::Api`는 CloudFormation `AWS::ApiGateway::UsagePlan`, `AWS::ApiGateway::UsagePlanKey`및 리소스를 AWS SAM 생성합니다`AWS::ApiGateway::ApiKey`.

**`AWS::ApiGateway::UsagePlan`**  
*`LogicalId`: *`<api‑LogicalId>UsagePlan`  
*참조 가능한 속성: *`<api‑LogicalId>.UsagePlan`

**`AWS::ApiGateway::UsagePlanKey`**  
*`LogicalId`: *`<api‑LogicalId>UsagePlanKey`  
*참조 가능한 속성: *`<api‑LogicalId>.UsagePlanKey`

**`AWS::ApiGateway::ApiKey`**  
*`LogicalId`: *`<api‑LogicalId>ApiKey`  
*참조 가능한 속성: *`<api‑LogicalId>.ApiKey`

# CloudFormation AWS::Serverless::Application가 지정될 때 생성되는 리소스
<a name="sam-specification-generated-resources-application"></a>

`AWS::Serverless::Application`이 지정 AWS Serverless Application Model 되면 (AWS SAM)가 `AWS::CloudFormation::Stack` 기본 CloudFormation 리소스를 생성합니다.

**`AWS::CloudFormation::Stack`**  
*`LogicalId`: *`<application‑LogicalId>`   
*참조 가능한 속성: *N/A(이 CloudFormation 리소스를 참조`LogicalId`하려면를 사용해야 함)

# CloudFormation AWS::Serverless::CapacityProvider가 지정될 때 생성되는 리소스
<a name="sam-specification-generated-resources-capacityprovider"></a>

`AWS::Serverless::CapacityProvider`이 지정되면 AWS Serverless Application Model (AWS SAM)은 `AWS::Lambda::CapacityProvider` 기본 CloudFormation 리소스를 생성합니다.

**`AWS::Lambda::CapacityProvider`**  
*`LogicalId`: *`<capacityprovider‑LogicalId>`  
*참조 가능한 속성: *N/A(이 CloudFormation 리소스를 참조`LogicalId`하려면를 사용해야 함)

이 CloudFormation 리소스 외에도이 `AWS::Serverless::CapacityProvider` 지정되면는 다음 시나리오에 대한 CloudFormation 리소스 AWS SAM 도 생성합니다.

**Topics**
+ [OperatorRole 속성이 지정되지 않았습니다.](#sam-specification-generated-resources-capacityprovider-iam-role)

## OperatorRole 속성이 지정되지 않았습니다.
<a name="sam-specification-generated-resources-capacityprovider-iam-role"></a>

의 `OperatorRole` 속성`AWS::Serverless::CapacityProvider`이 지정*되지 않은* 경우는 `AWSLambdaManagedEC2ResourceOperator` 관리형 정책이 연결된 `AWS::IAM::Role` CloudFormation 리소스를 AWS SAM 생성합니다.

**`AWS::IAM::Role`**  
*`LogicalId`: *`<capacityprovider‑LogicalId>OperatorRole`  
*참조 가능한 속성: *N/A(이 CloudFormation 리소스를 참조`LogicalId`하려면를 사용해야 함)

# CloudFormation 지정할 때 생성된 리소스 AWS::Serverless::Connector
<a name="sam-specification-generated-resources-connector"></a>

**참고**  
임베디드 `Connectors` 속성을 통해 커넥터를 정의하면 이러한 리소스가 생성되기 전에 먼저 `AWS::Serverless::Connector` 리소스로 변환됩니다.

 AWS SAM 템플릿에서 `AWS::Serverless::Connector` 리소스를 지정하면는 필요에 따라 다음 AWS CloudFormation 리소스를 AWS SAM 생성합니다.

**`AWS::IAM::ManagedPolicy`**  
 *`LogicalId`:*`<connector‑LogicalId>Policy`   
 *참조 가능한 속성:* N/A(이 CloudFormation 리소스를 참조하려면를 사용해야 합니다`LogicalId`.) 

**`AWS::SNS::TopicPolicy`**  
 *`LogicalId`:*`<connector‑LogicalId>TopicPolicy`   
 *참조 가능한 속성:* N/A(이 CloudFormation 리소스를 참조하려면를 사용해야 합니다`LogicalId`.) 

**`AWS::SQS::QueuePolicy`**  
 *`LogicalId`:*`<connector‑LogicalId>QueuePolicy`   
 *참조 가능한 속성:* N/A(이 CloudFormation 리소스를 참조하려면를 사용해야 합니다`LogicalId`.) 

**`AWS::Lambda::Permission`**  
 *`LogicalId`:*`<connector‑LogicalId><permission>LambdaPermission`   
 `<permission>`은 `Permissions` 속성에 의해 지정된 권한입니다. 예를 들어 `Write`입니다.  
*참조 가능한 속성:* N/A(이 CloudFormation 리소스를 참조하려면를 사용해야 합니다`LogicalId`.) 

# CloudFormation AWS::Serverless::Function가 지정될 때 생성되는 리소스
<a name="sam-specification-generated-resources-function"></a>

`AWS::Serverless::Function`이 지정 AWS Serverless Application Model 되면 (AWS SAM)는 항상 `AWS::Lambda::Function` 기본 CloudFormation 리소스를 생성합니다.

**`AWS::Lambda::Function`**  
*`LogicalId`: *`<function‑LogicalId>`  
*참조 가능한 속성: *N/A(이 CloudFormation 리소스를 참조`LogicalId`하려면를 사용해야 함)

이 CloudFormation 리소스 외에도이 `AWS::Serverless::Function` 지정되면는 다음 시나리오에 대한 CloudFormation 리소스 AWS SAM 도 생성합니다.

**Topics**
+ [핵심 함수 속성](#sam-specification-generated-resources-function-core-properties)
+ [이벤트 소스](#sam-specification-generated-resources-function-event-sources)
+ [이벤트 구성](#sam-specification-generated-resources-function-event-configuration)

## 핵심 함수 속성
<a name="sam-specification-generated-resources-function-core-properties"></a>

다음 시나리오에서는 코어 함수 속성을 기반으로 CloudFormation 리소스를 생성합니다.

### 역할 속성이 지정되지 않음
<a name="sam-specification-generated-resources-function-not-role"></a>

의 `Role` 속성을 지정*하지* 않으면 `AWS::Serverless::Function`가 `AWS::IAM::Role` CloudFormation 리소스를 AWS SAM 생성합니다.

**`AWS::IAM::Role`**  
*`LogicalId`: *`<function‑LogicalId>Role`  
*참조 가능한 속성: *N/A(이 CloudFormation 리소스를 참조`LogicalId`하려면를 사용해야 함)

### AutoPublishalias 속성 지정됨
<a name="sam-specification-generated-resources-function-autopublishalias"></a>

의 `AutoPublishAlias` 속성`AWS::Serverless::Function`이 지정되면는 `AWS::Lambda::Alias` 및 CloudFormation 리소스를 AWS SAM 생성합니다`AWS::Lambda::Version`.

**`AWS::Lambda::Alias`**  
*`LogicalId`: *`<function‑LogicalId>Alias<alias‑name>`  
`<alias‑name>`은 `AutoPublishAlias`가 설정된 문자열입니다. 예를 들어 `AutoPublishAlias`을 `live`로 설정하면 `LogicalId`은 *MyFunction*Alias*live*입니다.  
*참조 가능한 속성: *`<function‑LogicalId>.Alias`

**`AWS::Lambda::Version`**  
*`LogicalId`: *`<function‑LogicalId>Version<sha>`  
`<sha>`은 스택이 만들어질 때 생성되는 고유한 해시 값입니다. 예를 들어 *MyFunction*버전*926eeb5ff1*입니다.  
*참조 가능한 속성: *`<function‑LogicalId>.Version`

`AutoPublishAlias` 속성에 대한 자세한 내용은 [AWS::Serverless::Function의 속성 섹션](sam-resource-function.md#sam-resource-function-properties)을 참조하세요.

### DeploymentPreference 속성 지정됨
<a name="sam-specification-generated-resources-function-deploymentpreference"></a>

의 `DeploymentPreference` 속성`AWS::Serverless::Function`이 지정되면 `AWS::CodeDeploy::Application` 및 CloudFormation 리소스가 AWS SAM 생성됩니다`AWS::CodeDeploy::DeploymentGroup`. 또한 `DeploymentPreference` 객체의 `Role` 속성이 지정*되지* 않은 경우는 `AWS::IAM::Role` CloudFormation 리소스 AWS SAM 도 생성합니다.

**`AWS::CodeDeploy::Application`**  
*`LogicalId`: *`ServerlessDeploymentApplication`  
*참조 가능한 속성: *N/A(이 CloudFormation 리소스를 참조`LogicalId`하려면를 사용해야 함)

**`AWS::CodeDeploy::DeploymentGroup`**  
*`LogicalId`: *`<function‑LogicalId>DeploymentGroup`  
*참조 가능한 속성: *N/A(이 CloudFormation 리소스를 참조`LogicalId`하려면를 사용해야 함)

**`AWS::IAM::Role`**  
*`LogicalId`: *`CodeDeployServiceRole`  
*참조 가능한 속성: *N/A(이 CloudFormation 리소스를 참조`LogicalId`하려면를 사용해야 함)

### FunctionUrlConfig 속성이 지정됨
<a name="sam-specification-generated-resources-function-functionurlconfig"></a>

`FunctionUrlConfig` 속성이 지정되면는를 기반으로 다양한 CloudFormation 리소스를 AWS SAM 생성합니다`AuthType`.

`AuthType: NONE`이 지정되면 다음 CloudFormation 리소스를 AWS SAM 생성합니다.

**`AWS::Lambda::Permission`(액세스 간접 호출)**  
*`LogicalId`: *`<function‑LogicalId>URLInvokeAllowPublicAccess`  
*참조 가능한 속성: *N/A(이 CloudFormation 리소스를 참조`LogicalId`하려면를 사용해야 함)

**`AWS::Lambda::Permission`(퍼블릭 액세스)**  
*`LogicalId`: *`<function‑LogicalId>UrlPublicPermissions`  
*참조 가능한 속성: *N/A(이 CloudFormation 리소스를 참조`LogicalId`하려면를 사용해야 함)

**`AWS::Lambda::Url`**  
*`LogicalId`: *`<function‑LogicalId>Url`  
*참조 가능한 속성: *N/A(이 CloudFormation 리소스를 참조`LogicalId`하려면를 사용해야 함)

`AuthType: AWS_IAM`를 지정하면 만 AWS SAM 생성됩니다.

**`AWS::Lambda::Url`**  
*`LogicalId`: *`<function‑LogicalId>Url`  
*참조 가능한 속성: *N/A(이 CloudFormation 리소스를 참조`LogicalId`하려면를 사용해야 함)

`FunctionUrlConfig` 속성에 대한 추가 정보는 [FunctionUrlConfig](sam-property-function-functionurlconfig.md)를 참조하세요.

## 이벤트 소스
<a name="sam-specification-generated-resources-function-event-sources"></a>

다음 시나리오에서는 이벤트 소스를 기반으로 CloudFormation 리소스를 생성합니다.

### Api 이벤트 소스 지정됨
<a name="sam-specification-generated-resources-function-api"></a>

의 `Event` 속성`AWS::Serverless::Function`이 로 설정`Api`되었지만 `RestApiId` 속성이 지정*되지 않은* 경우는 `AWS::ApiGateway::RestApi` CloudFormation 리소스를 AWS SAM 생성합니다.

**`AWS::ApiGateway::RestApi`**  
*`LogicalId`: *`ServerlessRestApi`  
*참조 가능한 속성: *N/A(이 CloudFormation 리소스를 참조`LogicalId`하려면를 사용해야 함)

### HttpApi 이벤트 소스 지정됨
<a name="sam-specification-generated-resources-function-httpapi"></a>

의 `Event` 속성`AWS::Serverless::Function`이 로 설정`HttpApi`되었지만 `ApiId` 속성이 지정*되지 않은* 경우는 `AWS::ApiGatewayV2::Api` CloudFormation 리소스를 AWS SAM 생성합니다.

**`AWS::ApiGatewayV2::Api`**  
*`LogicalId`: *`ServerlessHttpApi`  
*참조 가능한 속성: *N/A(이 CloudFormation 리소스를 참조`LogicalId`하려면를 사용해야 함)

### 스트리밍 이벤트 소스 지정됨
<a name="sam-specification-generated-resources-function-streaming"></a>

의 `Event` 속성`AWS::Serverless::Function`이 스트리밍 유형 중 하나로 설정되면가 `AWS::Lambda::EventSourceMapping` CloudFormation 리소스를 AWS SAM 생성합니다. 이는 `DynamoDB`, `Kinesis`, `MQ`, `MSK`, 및 `SQS` 유형에 적용됩니다.

**`AWS::Lambda::EventSourceMapping`**  
*`LogicalId`: *`<function‑LogicalId><event‑LogicalId>`  
*참조 가능한 속성: *N/A(이 CloudFormation 리소스를 참조`LogicalId`하려면를 사용해야 함)

### 이벤트 브리지(또는 이벤트 버스) 이벤트 소스 지정됨
<a name="sam-specification-generated-resources-function-eventbridge"></a>

의 `Event` 속성`AWS::Serverless::Function`이 이벤트 브리지(또는 이벤트 버스) 유형 중 하나로 설정되면가 `AWS::Events::Rule` CloudFormation 리소스를 AWS SAM 생성합니다. 이는`EventBridgeRule`, `Schedule`, 및 `CloudWatchEvents` 유형에 적용됩니다.

**`AWS::Events::Rule`**  
*`LogicalId`: *`<function‑LogicalId><event‑LogicalId>`  
*참조 가능한 속성: *N/A(이 CloudFormation 리소스를 참조`LogicalId`하려면를 사용해야 함)

### IoTRule 이벤트 소스 지정됨
<a name="sam-specification-generated-resources-function-iotrule"></a>

의 `Event` 속성`AWS::Serverless::Function`이 IoTRule로 설정되면가 `AWS::IoT::TopicRule` CloudFormation 리소스를 AWS SAM 생성합니다.

**`AWS::IoT::TopicRule`**  
*`LogicalId`: *`<function‑LogicalId><event‑LogicalId>`  
*참조 가능한 속성: *N/A(이 CloudFormation 리소스를 참조`LogicalId`하려면를 사용해야 함)

## 이벤트 구성
<a name="sam-specification-generated-resources-function-event-configuration"></a>

다음 시나리오에서는 이벤트 구성을 기반으로 CloudFormation 리소스를 생성합니다.

### Amazon SNS 이벤트에 대하여 OnSuccess(또는 OnFailure) 속성이 지정됩니다
<a name="sam-specification-generated-resources-function-sns-onsuccess"></a>

의 속성에 대한 `OnSuccess` (또는 `OnFailure`) `DestinationConfig` `EventInvokeConfig` 속성`AWS::Serverless::Function`이 지정되고 대상 유형이 `SNS`이지만 대상 ARN이 지정*되지 않은* 경우는 `AWS::Lambda::EventInvokeConfig` 및 CloudFormation 리소스를 AWS SAM 생성합니다`AWS::SNS::Topic`.

**`AWS::Lambda::EventInvokeConfig`**  
*`LogicalId`: *`<function‑LogicalId>EventInvokeConfig`  
*참조 가능한 속성: *N/A(이 CloudFormation 리소스를 참조`LogicalId`하려면를 사용해야 함)

**`AWS::SNS::Topic`**  
*`LogicalId`: *`<function‑LogicalId>OnSuccessTopic` (또는 `<function‑LogicalId>OnFailureTopic`)  
*참조 가능한 속성: *`<function‑LogicalId>.DestinationTopic`  
`OnSuccess`및 `OnFailure` 가 모두 Amazon SNS 이벤트에 관하여 지정된 경우, 생성된 리소스 간에 구분하려면 `LogicalId`를 사용해야 합니다.

### Amazon SQS 이벤트에 대하여 OnSuccess(또는 OnFailure) 속성이 지정됩니다
<a name="sam-specification-generated-resources-function-sqs-onsuccess"></a>

의 속성에 대한 `OnSuccess` (또는 `OnFailure`) `DestinationConfig` `EventInvokeConfig` 속성`AWS::Serverless::Function`이 지정되고 대상 유형이 `SQS`이지만 대상 ARN이 지정*되지 않은* 경우는 `AWS::Lambda::EventInvokeConfig` 및 CloudFormation 리소스를 AWS SAM 생성합니다`AWS::SQS::Queue`.

**`AWS::Lambda::EventInvokeConfig`**  
*`LogicalId`: *`<function‑LogicalId>EventInvokeConfig`  
*참조 가능한 속성: *N/A(이 CloudFormation 리소스를 참조`LogicalId`하려면를 사용해야 함)

**`AWS::SQS::Queue`**  
*`LogicalId`: *`<function‑LogicalId>OnSuccessQueue` (또는 `<function‑LogicalId>OnFailureQueue`)  
*참조 가능한 속성: *`<function‑LogicalId>.DestinationQueue`  
`OnSuccess`및 `OnFailure` 가 모두 Amazon SQS 이벤트에 관하여 지정된 경우, 생성된 리소스 간에 구분하려면 `LogicalId`를 사용해야 합니다.

# CloudFormation AWS::Serverless::GraphQLApi가 지정될 때 생성되는 리소스
<a name="sam-specification-generated-resources-graphqlapi"></a>

(AWS SAM) 템플릿에서 `AWS::Serverless::GraphQLApi` AWS Serverless Application Model 리소스를 지정하면가 AWS SAM 항상 다음과 같은 기본 AWS CloudFormation 리소스를 생성합니다.

**`AWS::AppSync::DataSource`**  
*`LogicalId`: *`<graphqlapi-LogicalId><datasource-RelativeId><datasource-Type>DataSource`  
*참조 가능한 속성: *N/A(이 CloudFormation 리소스를 참조`LogicalId`하려면를 사용해야 함)

**`AWS::AppSync::FunctionConfiguration`**  
*`LogicalId`: *`<graphqlapi-LogicalId><function-RelativeId>`  
*참조 가능한 속성: *N/A(이 CloudFormation 리소스를 참조`LogicalId`하려면를 사용해야 함)

**`AWS::AppSync::GraphQLApi`**  
*`LogicalId`: *`<graphqlapi-LogicalId>`  
*참조 가능한 속성: *N/A(이 CloudFormation 리소스를 참조`LogicalId`하려면를 사용해야 함)

**`AWS::AppSync::GraphQLSchema`**  
*`LogicalId`: *`<graphqlapi-LogicalId>Schema`  
*참조 가능한 속성: *N/A(이 CloudFormation 리소스를 참조`LogicalId`하려면를 사용해야 함)

**`AWS::AppSync::Resolver`**  
*`LogicalId`: *`<graphqlapi-LogicalId><OperationType><resolver-RelativeId>`  
*참조 가능한 속성: *N/A(이 CloudFormation 리소스를 참조`LogicalId`하려면를 사용해야 함)

이러한 CloudFormation 리소스 외에도이 지정되면 `AWS::Serverless::GraphQLApi`에서 다음 CloudFormation 리소스도 생성할 AWS SAM 수 있습니다.

`AWS::AppSync::ApiCache`  
*`LogicalId`: *`<graphqlapi-LogicalId>ApiCache`  
*참조 가능한 속성: *N/A(이 CloudFormation 리소스를 참조`LogicalId`하려면를 사용해야 함)

`AWS::AppSync::ApiKey`  
*`LogicalId`: *`<graphqlapi-LogicalId><apikey-RelativeId>`  
*참조 가능한 속성: *N/A(이 CloudFormation 리소스를 참조`LogicalId`하려면를 사용해야 함)

`AWS::AppSync::DomainName`  
*`LogicalId`: *`<graphqlapi-LogicalId>DomainName`  
*참조 가능한 속성: *N/A(이 CloudFormation 리소스를 참조`LogicalId`하려면를 사용해야 함)

`AWS::AppSync::DomainNameApiAssociation`  
*`LogicalId`: *`<graphqlapi-LogicalId>DomainNameApiAssociation`  
*참조 가능한 속성: *N/A(이 CloudFormation 리소스를 참조`LogicalId`하려면를 사용해야 함)

AWS SAM 는 `AWS::Serverless::Connector` 리소스를 사용하여 권한을 프로비저닝할 수도 있습니다. 자세한 내용은 [CloudFormation 지정할 때 생성된 리소스 AWS::Serverless::Connector](sam-specification-generated-resources-connector.md) 단원을 참조하십시오.

# CloudFormation AWS::Serverless::HttpApi가 지정될 때 생성되는 리소스
<a name="sam-specification-generated-resources-httpapi"></a>

`AWS::Serverless::HttpApi`이 지정 AWS Serverless Application Model 되면 (AWS SAM)가 `AWS::ApiGatewayV2::Api` 기본 CloudFormation 리소스를 생성합니다.

**`AWS::ApiGatewayV2::Api`**  
*`LogicalId`: *`<httpapi‑LogicalId>`  
*참조 가능한 속성: *N/A(이 CloudFormation 리소스를 참조`LogicalId`하려면를 사용해야 함)

이 CloudFormation 리소스 외에도이 `AWS::Serverless::HttpApi` 지정되면는 다음 시나리오에 대한 CloudFormation 리소스 AWS SAM 도 생성합니다.

**Topics**
+ [스테이지 이름 속성이 지정되었습니다.](#sam-specification-generated-resources-httpapi-stage-name)
+ [StageName 속성이 지정되지 *않았*습니다.](#sam-specification-generated-resources-httpapi-not-stage-name)
+ [DomainName 속성이 지정되었습니다.](#sam-specification-generated-resources-httpapi-domain-name)

## 스테이지 이름 속성이 지정되었습니다.
<a name="sam-specification-generated-resources-httpapi-stage-name"></a>

의 `StageName` 속성`AWS::Serverless::HttpApi`이 지정되면가 `AWS::ApiGatewayV2::Stage` CloudFormation 리소스를 AWS SAM 생성합니다.

**`AWS::ApiGatewayV2::Stage`**  
*`LogicalId`: *`<httpapi‑LogicalId><stage‑name>Stage`  
`<stage‑name>`은 `StageName` 속성이 설정된 문자열입니다. 예를 들어, `StageName`을 `Gamma`로 설정하면 `LogicalId`은 *myHTTPAPIGamma*Stage입니다.  
*참조 가능한 속성:* `<httpapi‑LogicalId>.Stage`

## StageName 속성이 지정되지 *않았*습니다.
<a name="sam-specification-generated-resources-httpapi-not-stage-name"></a>

의 `StageName` 속성`AWS::Serverless::HttpApi`이 지정*되지 않으면*가 `AWS::ApiGatewayV2::Stage` CloudFormation 리소스를 AWS SAM 생성합니다.

**`AWS::ApiGatewayV2::Stage`**  
*`LogicalId`: *`<httpapi‑LogicalId>ApiGatewayDefaultStage`  
*참조 가능한 속성: *`<httpapi‑LogicalId>.Stage`

## DomainName 속성이 지정되었습니다.
<a name="sam-specification-generated-resources-httpapi-domain-name"></a>

의 `DomainName` 속성 속성이 지정되면 `Domain``AWS::Serverless::HttpApi`가 `AWS::ApiGatewayV2::DomainName` CloudFormation 리소스를 AWS SAM 생성합니다.

**`AWS::ApiGatewayV2::DomainName`**  
*`LogicalId`: *`ApiGatewayDomainNameV2<sha>`  
`<sha>`은 스택이 만들어질 때 생성되는 고유한 해시 값입니다. `ApiGatewayDomainNameV2` *926eeb5ff1*을 예로 들 수 있습니다.  
*참조 가능한 속성:* `<httpapi‑LogicalId>.DomainName`

# CloudFormation AWS::Serverless::LayerVersion가 지정될 때 생성되는 리소스
<a name="sam-specification-generated-resources-layerversion"></a>

`AWS::Serverless::LayerVersion`이 지정 AWS Serverless Application Model 되면 (AWS SAM)가 `AWS::Lambda::LayerVersion` 기본 CloudFormation 리소스를 생성합니다.

**`AWS::Lambda::LayerVersion`**  
*`LogicalId`: *`<layerversion‑LogicalId>`   
*참조 가능한 속성: *N/A(이 CloudFormation 리소스를 참조`LogicalId`하려면를 사용해야 함)

# CloudFormation AWS::Serverless::SimpleTable가 지정될 때 생성되는 리소스
<a name="sam-specification-generated-resources-simpletable"></a>

`AWS::Serverless::SimpleTable`이 지정 AWS Serverless Application Model 되면 (AWS SAM)가 `AWS::DynamoDB::Table` 기본 CloudFormation 리소스를 생성합니다.

**`AWS::DynamoDB::Table`**  
*`LogicalId`: *`<simpletable‑LogicalId>`   
*참조 가능한 속성: *N/A(이 CloudFormation 리소스를 참조`LogicalId`하려면를 사용해야 함)

# CloudFormation AWS::Serverless::StateMachine가 지정될 때 생성되는 리소스
<a name="sam-specification-generated-resources-statemachine"></a>

`AWS::Serverless::StateMachine`이 지정되면 AWS Serverless Application Model (AWS SAM)은 `AWS::StepFunctions::StateMachine` 기본 CloudFormation 리소스를 생성합니다.

**`AWS::StepFunctions::StateMachine`**  
*`LogicalId`: *`<statemachine‑LogicalId>`  
*참조 가능한 속성: *N/A(이 CloudFormation 리소스를 참조`LogicalId`하려면를 사용해야 함)

이 CloudFormation 리소스 외에도이 `AWS::Serverless::StateMachine` 지정되면는 다음 시나리오에 대한 CloudFormation 리소스 AWS SAM 도 생성합니다.

**Topics**
+ [역할 속성이 지정되지 않음](#sam-specification-generated-resources-statemachine-not-role)
+ [API 이벤트 소스 지정됨](#sam-specification-generated-resources-statemachine-api)
+ [이벤트 브리지(또는 이벤트 버스) 이벤트 소스 지정됨](#sam-specification-generated-resources-statemachine-eventbridge)

## 역할 속성이 지정되지 않음
<a name="sam-specification-generated-resources-statemachine-not-role"></a>

의 `Role` 속성`AWS::Serverless::StateMachine`이 지정*되지 않으면*가 `AWS::IAM::Role` CloudFormation 리소스를 AWS SAM 생성합니다.

**`AWS::IAM::Role`**  
*`LogicalId`: *`<statemachine‑LogicalId>Role`  
*참조 가능한 속성: *N/A(이 CloudFormation 리소스를 참조`LogicalId`하려면를 사용해야 함)

## API 이벤트 소스 지정됨
<a name="sam-specification-generated-resources-statemachine-api"></a>

의 `Event` 속성`AWS::Serverless::StateMachine`이 로 설정`Api`되었지만 `RestApiId` 속성이 지정*되지 않은* 경우는 `AWS::ApiGateway::RestApi` CloudFormation 리소스를 AWS SAM 생성합니다.

**`AWS::ApiGateway::RestApi`**  
*`LogicalId`: *`ServerlessRestApi`  
*참조 가능한 속성: *N/A(이 CloudFormation 리소스를 참조`LogicalId`하려면를 사용해야 함)

## 이벤트 브리지(또는 이벤트 버스) 이벤트 소스 지정됨
<a name="sam-specification-generated-resources-statemachine-eventbridge"></a>

의 `Event` 속성`AWS::Serverless::StateMachine`이 이벤트 브리지(또는 이벤트 버스) 유형 중 하나로 설정되면가 `AWS::Events::Rule` CloudFormation 리소스를 AWS SAM 생성합니다. 이는`EventBridgeRule`, `Schedule`, 및 `CloudWatchEvents` 유형에 적용됩니다.

**`AWS::Events::Rule`**  
*`LogicalId`: *`<statemachine‑LogicalId><event‑LogicalId>`  
*참조 가능한 속성: *N/A(이 CloudFormation 리소스를 참조`LogicalId`하려면를 사용해야 함)

# 에서 지원하는 리소스 속성 AWS SAM
<a name="sam-specification-resource-attributes"></a>

리소스 속성은 AWS SAM 및 CloudFormation 리소스에 추가하여 추가 동작 및 관계를 제어할 수 있는 속성입니다. 리소스 속성에 대한 자세한 내용은AWS CloudFormation 사용 설명서**의 [리소스 속성 참조](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-product-attribute-reference.html)를 참조하세요.

AWS SAM 는에서 정의한 리소스 속성의 하위 집합을 지원합니다 CloudFormation. 지원되는 리소스 속성 중 일부는 해당 CloudFormation 리소스의 기본 생성 AWS SAM 리소스에만 복사되고 일부는 해당 CloudFormation 리소스에서 생성된 모든 AWS SAM 리소스에 복사됩니다. 해당 CloudFormation 리소스에서 생성된 AWS SAM 리소스에 대한 자세한 내용은 섹션을 참조하세요[에 대해 생성된 CloudFormation 리소스 AWS SAM](sam-specification-generated-resources.md).

다음 표에는 아래 [예외](#sam-specification-resource-attributes-exceptions) 나열된 AWS SAM항목에 따라의 리소스 속성 지원이 요약되어 있습니다.


| Resource attributes | 대상 생성 리소스 | 
| --- | --- | 
|  ** [DependsOn](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-dependson.html) ** ** [메타데이터](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-metadata.html) **1, 2  |  기본 CloudFormation 생성 리소스만 해당됩니다. AWS SAM 리소스와 기본 CloudFormation 리소스 간의 매핑에 대한 자세한 내용은 섹션을 참조하세요[생성된 CloudFormation 리소스 시나리오](sam-specification-generated-resources.md#sam-specification-generated-resources-scenarios).  | 
| ** [조건](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/conditions-section-structure.html) ** ** [ DeletionPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html) ** ** [UpdateReplacePolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatereplacepolicy.html) **  |  해당 CloudFormation AWS SAM 리소스에서 생성된 모든 리소스입니다. 생성된 CloudFormation 리소스의 시나리오에 대한 자세한 내용은 섹션을 참조하세요[생성된 CloudFormation 리소스 시나리오](sam-specification-generated-resources.md#sam-specification-generated-resources-scenarios).  | 

**참고**:

1. `Metadata`리소스 유형으로 `AWS::Serverless::Function` 리소스 속성을 사용하는 방법에 대한 자세한 내용은 [에서 사용자 지정 런타임을 사용하여 Lambda 함수 빌드 AWS SAM](building-custom-runtimes.md) 섹션을 참조하세요.

1. `Metadata`리소스 유형으로 `AWS::Serverless::LayerVersion` 리소스 속성을 사용하는 방법에 대한 자세한 내용은 [에서 Lambda 계층 빌드 AWS SAM](building-layers.md) 섹션을 참조하세요.

## 예외
<a name="sam-specification-resource-attributes-exceptions"></a>

앞서 설명한 리소스 속성 규칙에는 몇 가지 예외가 있습니다.
+ `AWS::Lambda::LayerVersion`의 경우 AWS SAM, 전용 사용자 지정 필드는 생성된 CloudFormation 리소스에 `DeletionPolicy` 대해를 `RetentionPolicy` 설정합니다. 이것은 `DeletionPolicy` 자체보다 우선 순위가 높습니다. 둘 다 설정되지 않은 경우 기본 사항으로 `DeletionPolicy`이 `Retain`에 설정됩니다.
+ `AWS::Lambda::Version`의 경우, `DeletionPolicy`를 지정하지 않으면 기본값으로 `Retain`이 지정됩니다.
+ `DeploymentPreferences`가 서버리스 함수에 지정된 시나리오의 경우 리소스 속성은 다음과 같이 생성된 CloudFormation 리소스에 복사되지 않습니다.
  + `AWS::CodeDeploy::Application`
  + `AWS::CodeDeploy::DeploymentGroup`
  + 이 시나리오에 대해 생성된 `AWS::IAM::Role`라는 이름의 `CodeDeployServiceRole`
+  AWS SAM 템플릿에 암시적으로 생성된 API 이벤트 소스가 있는 여러 함수가 포함된 경우 함수는 생성된 `AWS::ApiGateway::RestApi` 리소스를 공유합니다. 이 시나리오에서 함수의 리소스 속성이 다른 경우는 생성된 `AWS::ApiGateway::RestApi` 리소스에 대해 다음 우선 순위 목록에 따라 리소스 속성을 AWS SAM 복사합니다.
  + `UpdateReplacePolicy`:

    1. `Retain`

    1. `Snapshot`

    1. `Delete`
  + `DeletionPolicy`:

    1. `Retain`

    1. `Delete`

# 에 대한 API Gateway 확장 AWS SAM
<a name="sam-specification-api-gateway-extensions"></a>

특별히 설계된 API Gateway 확장은 APIs를 설계하고 관리하기 위한 추가 사용자 지정 및 기능을 AWS제공합니다. API Gateway 확장은 AWS특정 권한 부여 및 API Gateway별 API 통합을 지원하는 OpenAPI 사양의 확장입니다. API Gateway 확장에 대한 자세한 내용은 [OpenAPI로 확장된 API 게이트웨이](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions.html)를 참조하세요.

AWS SAM 는 API Gateway 확장의 하위 집합을 지원합니다. 에서 지원하는 API Gateway 확장을 확인하려면 다음 표를 AWS SAM참조하세요.


|  |  | 
| --- |--- |
|  API 게이트웨이 확장  |  에서 지원 AWS SAM  | 
| [x-amazon-apigateway-any-method 객체](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-any-method.html) | 예 | 
| [x-amazon-apigateway-api-key-source 속성](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-api-key-source.html) | 아니요 | 
| [x-amazon-apigateway-auth 객체](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-auth.html) | 예 | 
| [x-amazon-apigateway-authorizer 객체](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-authorizer.html) | 예 | 
| [x-amazon-apigateway-authtype 속성](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-authtype.html) | 예 | 
| [x-amazon-apigateway-binary-media-types 속성](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-binary-media-types.html) | 예 | 
| [x-amazon-apigateway-documentation 객체](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-documentation.html) | 아니요 | 
| [x-amazon-apigateway-endpoint-configuration 객체](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-endpoint-configuration.html) | 아니요 | 
| [x-amazon-apigateway-gateway-responses 객체](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-gateway-responses.html) | 예 | 
| [x-amazon-apigateway-gateway-responses.gatewayResponse 객체](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-gateway-responses.gatewayResponse.html) | 예 | 
| [x-amazon-apigateway-gateway-responses.responseParameters 객체](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-gateway-responses.responseParameters.html) | 예 | 
| [x-amazon-apigateway-gateway-responses.responseTemplates 객체](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-gateway-responses.responseTemplates.html) | 예 | 
| [x-amazon-apigateway-integration 객체](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-integration.html) | 예 | 
| [x-amazon-apigateway-integration.requestTemplates 객체](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-integration-requestTemplates.html) | 예 | 
| [x-amazon-apigateway-integration.requestParameters 객체](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-integration-requestParameters.html) | 아니요 | 
| [x-amazon-apigateway-integration.responses 객체](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-integration-responses.html) | 예 | 
| [x-amazon-apigateway-integration.response 객체](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-integration-response.html) | 예 | 
| [x-amazon-apigateway-integration.responseTemplates 객체](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-integration-responseTemplates.html) | 예 | 
| [x-amazon-apigateway-integration.responseParameters 객체](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-integration-responseParameters.html) | 예 | 
| [x-amazon-apigateway-request-validator 속성](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-request-validator.html) | 아니요 | 
| [x-amazon-apigateway-request-validators 객체](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-request-validators.html) | 아니요 | 
| [x-amazon-apigateway-request-validators.requestValidator 객체](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-swagger-extensions-request-validators.requestValidator.html) | 아니요 | 

# 에 대한 내장 함수 AWS SAM
<a name="sam-specification-intrinsic-functions"></a>

내장 함수는 런타임 시에만 사용할 수 있는 속성에 값을 할당할 수 있는 내장 함수입니다. AWS SAM 는 특정 내장 함수 속성에 대한 지원이 제한적이므로 일부 내장 함수를 확인할 수 없습니다. 따라서 이 문제를 해결하려면 `AWS::LanguageExtensions` 변환을 추가하는 것이 좋습니다. `AWS::LanguageExtensions`는 기본적으로에 포함되지 않은 내장 함수 및 기타 기능을 사용할 수 CloudFormation 있도록에서 호스팅하는 매크로입니다 CloudFormation.

```
Transform:
  - AWS::LanguageExtensions
  - AWS::Serverless-2016-10-31
```

**참고**  
CodeUri 속성에서 내장 함수를 사용하는 경우 AWS SAM 는 값을 올바르게 구문 분석할 수 없습니다. 대신 `AWS::LanguageExtensions` 변환을 사용하는 것이 좋습니다.  
자세한 내용은 [AWS::Serverless::Function의 속성 섹션](sam-resource-function.md#sam-resource-function-properties)을 참조하세요.

내장 함수에 관한 자세한 정보는 [ 사용자 가이드](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference.html)의 *AWS CloudFormation 내장 함수 참조*를 확인하십시오.