

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# CloudFormation recursos gerados quando AWS::Serverless::Function é especificado
<a name="sam-specification-generated-resources-function"></a>

Quando um `AWS::Serverless::Function` é especificado, AWS Serverless Application Model (AWS SAM) sempre cria um CloudFormation recurso `AWS::Lambda::Function` básico.

**`AWS::Lambda::Function`**  
*`LogicalId`: *`<function‑LogicalId>`  
*Propriedade referenciável:* N/A (você deve usar o `LogicalId` para referenciar este recurso) CloudFormation 

Além desse CloudFormation recurso, quando `AWS::Serverless::Function` especificado, AWS SAM também gera CloudFormation recursos para os seguintes cenários.

**Topics**
+ [

## Propriedades da função principal
](#sam-specification-generated-resources-function-core-properties)
+ [

## Origens de eventos
](#sam-specification-generated-resources-function-event-sources)
+ [

## Configuração do evento
](#sam-specification-generated-resources-function-event-configuration)

## Propriedades da função principal
<a name="sam-specification-generated-resources-function-core-properties"></a>

Os cenários a seguir geram CloudFormation recursos com base nas propriedades da função principal:

### A propriedade da função não foi especificada
<a name="sam-specification-generated-resources-function-not-role"></a>

Quando a `Role` propriedade de um *não `AWS::Serverless::Function`* é especificada, AWS SAM gera um `AWS::IAM::Role` CloudFormation recurso.

**`AWS::IAM::Role`**  
*`LogicalId`: *`<function‑LogicalId>Role`  
*Propriedade referenciável:* N/A (você deve usar o `LogicalId` para referenciar este recurso) CloudFormation 

### AutoPublishAlias propriedade é especificada
<a name="sam-specification-generated-resources-function-autopublishalias"></a>

Quando a `AutoPublishAlias` propriedade de um `AWS::Serverless::Function` é especificada, AWS SAM gera os seguintes CloudFormation recursos: `AWS::Lambda::Alias` `AWS::Lambda::Version` e.

**`AWS::Lambda::Alias`**  
*`LogicalId`: *`<function‑LogicalId>Alias<alias‑name>`  
`<alias‑name>` é a string que está definida como `AutoPublishAlias`. Por exemplo, se você `AutoPublishAlias` definir como`live`, `LogicalId` é: *MyFunction* Alias*live*.  
*Propriedade referenciável:* `<function‑LogicalId>.Alias`

**`AWS::Lambda::Version`**  
*`LogicalId`: *`<function‑LogicalId>Version<sha>`  
O `<sha>` é um valor de hash exclusivo que é gerado quando a pilha é criada. Por exemplo, *MyFunction* Versão*926eeb5ff1*.  
*Propriedade referenciável:* `<function‑LogicalId>.Version`

Para obter informações adicionais sobre a `AutoPublishAlias` propriedade, consulte a [seção Propriedades do AWS::Serverless::Function](sam-resource-function.md#sam-resource-function-properties).

### DeploymentPreference propriedade é especificada
<a name="sam-specification-generated-resources-function-deploymentpreference"></a>

Quando a `DeploymentPreference` propriedade de um `AWS::Serverless::Function` é especificada, AWS SAM gera os seguintes CloudFormation recursos: `AWS::CodeDeploy::Application` `AWS::CodeDeploy::DeploymentGroup` e. Além disso, se a `Role` propriedade do `DeploymentPreference` objeto *não* for especificada, AWS SAM também gera um `AWS::IAM::Role` CloudFormation recurso.

**`AWS::CodeDeploy::Application`**  
*`LogicalId`: *`ServerlessDeploymentApplication`  
*Propriedade referenciável:* N/A (você deve usar o `LogicalId` para referenciar este recurso) CloudFormation 

**`AWS::CodeDeploy::DeploymentGroup`**  
*`LogicalId`: *`<function‑LogicalId>DeploymentGroup`  
*Propriedade referenciável:* N/A (você deve usar o `LogicalId` para referenciar este recurso) CloudFormation 

**`AWS::IAM::Role`**  
*`LogicalId`: *`CodeDeployServiceRole`  
*Propriedade referenciável:* N/A (você deve usar o `LogicalId` para referenciar este recurso) CloudFormation 

### FunctionUrlConfig propriedade é especificada
<a name="sam-specification-generated-resources-function-functionurlconfig"></a>

Quando a `FunctionUrlConfig` propriedade é especificada, AWS SAM gera CloudFormation recursos diferentes com base no`AuthType`.

Quando `AuthType: NONE` é especificado, AWS SAM gera os seguintes CloudFormation recursos:

**`AWS::Lambda::Permission` (Invocar acesso)**  
*`LogicalId`: *`<function‑LogicalId>URLInvokeAllowPublicAccess`  
*Propriedade referenciável:* N/A (você deve usar o `LogicalId` para referenciar este recurso) CloudFormation 

**`AWS::Lambda::Permission` (Acesso público)**  
*`LogicalId`: *`<function‑LogicalId>UrlPublicPermissions`  
*Propriedade referenciável:* N/A (você deve usar o `LogicalId` para referenciar este recurso) CloudFormation 

**`AWS::Lambda::Url`**  
*`LogicalId`: *`<function‑LogicalId>Url`  
*Propriedade referenciável:* N/A (você deve usar o `LogicalId` para referenciar este recurso) CloudFormation 

Quando `AuthType: AWS_IAM` é especificado, AWS SAM gera somente:

**`AWS::Lambda::Url`**  
*`LogicalId`: *`<function‑LogicalId>Url`  
*Propriedade referenciável:* N/A (você deve usar o `LogicalId` para referenciar este recurso) CloudFormation 

Para obter informações adicionais sobre a `FunctionUrlConfig` propriedade, consulte [FunctionUrlConfig](sam-property-function-functionurlconfig.md).

## Origens de eventos
<a name="sam-specification-generated-resources-function-event-sources"></a>

Os cenários a seguir geram CloudFormation recursos com base em fontes de eventos:

### Uma fonte de eventos da Api é especificada
<a name="sam-specification-generated-resources-function-api"></a>

Quando a `Event` propriedade de um `AWS::Serverless::Function` é definida como`Api`, mas a `RestApiId` propriedade *não* é especificada, AWS SAM gera o `AWS::ApiGateway::RestApi` CloudFormation recurso.

**`AWS::ApiGateway::RestApi`**  
*`LogicalId`: *`ServerlessRestApi`  
*Propriedade referenciável:* N/A (você deve usar o `LogicalId` para referenciar este recurso) CloudFormation 

### Uma fonte de HttpApi eventos é especificada
<a name="sam-specification-generated-resources-function-httpapi"></a>

Quando a `Event` propriedade de um `AWS::Serverless::Function` é definida como`HttpApi`, mas a `ApiId` propriedade *não* é especificada, AWS SAM gera o `AWS::ApiGatewayV2::Api` CloudFormation recurso.

**`AWS::ApiGatewayV2::Api`**  
*`LogicalId`: *`ServerlessHttpApi`  
*Propriedade referenciável:* N/A (você deve usar o `LogicalId` para referenciar este recurso) CloudFormation 

### Uma fonte de eventos de streaming é especificada
<a name="sam-specification-generated-resources-function-streaming"></a>

Quando a `Event` propriedade de an `AWS::Serverless::Function` é definida como um dos tipos de streaming, AWS SAM gera o `AWS::Lambda::EventSourceMapping` CloudFormation recurso. Isso se aplica aos seguintes tipos: `DynamoDB`, `Kinesis`, `MQ`, `MSK` e `SQS`.

**`AWS::Lambda::EventSourceMapping`**  
*`LogicalId`: *`<function‑LogicalId><event‑LogicalId>`  
*Propriedade referenciável:* N/A (você deve usar o `LogicalId` para referenciar este recurso) CloudFormation 

### Uma fonte de eventos de ponte de eventos (ou barramento de eventos) é especificada
<a name="sam-specification-generated-resources-function-eventbridge"></a>

Quando a `Event` propriedade de an `AWS::Serverless::Function` é definida como um dos tipos de ponte de eventos (ou barramento de eventos), AWS SAM gera o `AWS::Events::Rule` CloudFormation recurso. Isso se aplica aos seguintes tipos: `EventBridgeRule`, `Schedule` e `CloudWatchEvents`.

**`AWS::Events::Rule`**  
*`LogicalId`: *`<function‑LogicalId><event‑LogicalId>`  
*Propriedade referenciável:* N/A (você deve usar o `LogicalId` para referenciar este recurso) CloudFormation 

### Uma fonte de IotRule eventos é especificada
<a name="sam-specification-generated-resources-function-iotrule"></a>

Quando a `Event` propriedade de an `AWS::Serverless::Function` é definida como IoTRule, AWS SAM gera o `AWS::IoT::TopicRule` CloudFormation recurso.

**`AWS::IoT::TopicRule`**  
*`LogicalId`: *`<function‑LogicalId><event‑LogicalId>`  
*Propriedade referenciável:* N/A (você deve usar o `LogicalId` para referenciar este recurso) CloudFormation 

## Configuração do evento
<a name="sam-specification-generated-resources-function-event-configuration"></a>

Os cenários a seguir geram CloudFormation recursos com base na configuração do evento:

### OnSuccess (ou OnFailure) a propriedade é especificada para eventos do Amazon SNS
<a name="sam-specification-generated-resources-function-sns-onsuccess"></a>

Quando a propriedade `OnSuccess` (ou`OnFailure`) da `DestinationConfig` propriedade da `EventInvokeConfig` propriedade de an `AWS::Serverless::Function` é especificada e o tipo de destino é, `SNS` mas o ARN de destino *não* está especificado, AWS SAM gera os seguintes CloudFormation recursos: e. `AWS::Lambda::EventInvokeConfig` `AWS::SNS::Topic`

**`AWS::Lambda::EventInvokeConfig`**  
*`LogicalId`: *`<function‑LogicalId>EventInvokeConfig`  
*Propriedade referenciável:* N/A (você deve usar o `LogicalId` para referenciar este recurso) CloudFormation 

**`AWS::SNS::Topic`**  
*`LogicalId`: *`<function‑LogicalId>OnSuccessTopic` (ou `<function‑LogicalId>OnFailureTopic`)  
*Propriedade referenciável:* `<function‑LogicalId>.DestinationTopic`  
Se ambos `OnSuccess` e `OnFailure` forem especificados para um evento do Amazon SNS, para distinguir entre os recursos gerados, você deverá usar o `LogicalId`.

### OnSuccess (ou OnFailure) a propriedade é especificada para eventos do Amazon SQS
<a name="sam-specification-generated-resources-function-sqs-onsuccess"></a>

Quando a propriedade `OnSuccess` (ou`OnFailure`) da `DestinationConfig` propriedade da `EventInvokeConfig` propriedade de an `AWS::Serverless::Function` é especificada e o tipo de destino é, `SQS` mas o ARN de destino *não* está especificado, AWS SAM gera os seguintes CloudFormation recursos: e. `AWS::Lambda::EventInvokeConfig` `AWS::SQS::Queue`

**`AWS::Lambda::EventInvokeConfig`**  
*`LogicalId`: *`<function‑LogicalId>EventInvokeConfig`  
*Propriedade referenciável:* N/A (você deve usar o `LogicalId` para referenciar este recurso) CloudFormation 

**`AWS::SQS::Queue`**  
*`LogicalId`: *`<function‑LogicalId>OnSuccessQueue` (ou `<function‑LogicalId>OnFailureQueue`)  
*Propriedade referenciável:* `<function‑LogicalId>.DestinationQueue`  
Se ambos `OnSuccess` e `OnFailure` forem especificados para um evento do Amazon SQS, para distinguir entre os recursos gerados, você deverá usar o `LogicalId`.