

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

# 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`를 사용해야 합니다.