

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# CloudFormation recursos generados cuando AWS::Serverless::Function se especifica
<a name="sam-specification-generated-resources-function"></a>

Cuando `AWS::Serverless::Function` se especifica un, AWS Serverless Application Model (AWS SAM) siempre crea un CloudFormation recurso `AWS::Lambda::Function` base.

**`AWS::Lambda::Function`**  
*`LogicalId`: *`<function‑LogicalId>`  
*Propiedad referenciable:* N/A (debe usar la `LogicalId` para hacer referencia a este CloudFormation recurso)

Además de este CloudFormation recurso, cuando `AWS::Serverless::Function` se especifica, AWS SAM también genera CloudFormation recursos para los siguientes escenarios.

**Topics**
+ [

## Propiedades de funciones principales
](#sam-specification-generated-resources-function-core-properties)
+ [

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

## Configuración de eventos
](#sam-specification-generated-resources-function-event-configuration)

## Propiedades de funciones principales
<a name="sam-specification-generated-resources-function-core-properties"></a>

Los siguientes escenarios generan CloudFormation recursos en función de las propiedades de las funciones principales:

### La propiedad del rol no está especificada
<a name="sam-specification-generated-resources-function-not-role"></a>

Cuando *no `AWS::Serverless::Function`* se especifica la `Role` propiedad de un, AWS SAM genera un `AWS::IAM::Role` CloudFormation recurso.

**`AWS::IAM::Role`**  
*`LogicalId`: *`<function‑LogicalId>Role`  
*Propiedad referenciable:* N/A (debe usar la `LogicalId` para hacer referencia a este CloudFormation recurso)

### AutoPublishAlias se especifica la propiedad
<a name="sam-specification-generated-resources-function-autopublishalias"></a>

Cuando `AWS::Serverless::Function` se especifica la `AutoPublishAlias` propiedad de un, AWS SAM genera los siguientes CloudFormation recursos: `AWS::Lambda::Alias` y`AWS::Lambda::Version`.

**`AWS::Lambda::Alias`**  
*`LogicalId`: *`<function‑LogicalId>Alias<alias‑name>`  
`<alias‑name>` es la cadena que se establece en `AutoPublishAlias`. Por ejemplo, si se establece `AutoPublishAlias` en`live`, el `LogicalId` es: *MyFunction* Alias*live*.  
*Propiedad referenciable: *`<function‑LogicalId>.Alias`

**`AWS::Lambda::Version`**  
*`LogicalId`: *`<function‑LogicalId>Version<sha>`  
`<sha>` es un valor hash único que se genera cuando se crea la pila. Por ejemplo, *MyFunction* Version*926eeb5ff1*.  
*Propiedad referenciable: *`<function‑LogicalId>.Version`

Para obtener información adicional sobre la `AutoPublishAlias` propiedad, consulte la [sección Propiedades de AWS::Serverless::Function](sam-resource-function.md#sam-resource-function-properties).

### DeploymentPreference se especifica la propiedad
<a name="sam-specification-generated-resources-function-deploymentpreference"></a>

Cuando `AWS::Serverless::Function` se especifica la `DeploymentPreference` propiedad de un, AWS SAM genera los siguientes CloudFormation recursos: `AWS::CodeDeploy::Application` y`AWS::CodeDeploy::DeploymentGroup`. Además, si *no* se especifica la `Role` propiedad del `DeploymentPreference` objeto, AWS SAM también genera un `AWS::IAM::Role` CloudFormation recurso.

**`AWS::CodeDeploy::Application`**  
*`LogicalId`: *`ServerlessDeploymentApplication`  
*Propiedad referenciable:* N/A (debe usar la `LogicalId` para hacer referencia a este CloudFormation recurso)

**`AWS::CodeDeploy::DeploymentGroup`**  
*`LogicalId`: *`<function‑LogicalId>DeploymentGroup`  
*Propiedad referenciable:* N/A (debe usar la para hacer referencia `LogicalId` a este recurso) CloudFormation 

**`AWS::IAM::Role`**  
*`LogicalId`: *`CodeDeployServiceRole`  
*Propiedad referenciable:* N/A (debe usar la para hacer referencia `LogicalId` a este recurso) CloudFormation 

### FunctionUrlConfig se especifica la propiedad
<a name="sam-specification-generated-resources-function-functionurlconfig"></a>

Cuando se especifica la `FunctionUrlConfig` propiedad, AWS SAM genera diferentes CloudFormation recursos en función de`AuthType`.

Cuando `AuthType: NONE` se especifica, AWS SAM genera los siguientes CloudFormation recursos:

**`AWS::Lambda::Permission` (Invocar acceso)**  
*`LogicalId`: *`<function‑LogicalId>URLInvokeAllowPublicAccess`  
*Propiedad referenciable:* N/A (debe usar la `LogicalId` para hacer referencia a este CloudFormation recurso)

**`AWS::Lambda::Permission` (Acceso público)**  
*`LogicalId`: *`<function‑LogicalId>UrlPublicPermissions`  
*Propiedad referenciable:* N/A (debe usar la para hacer referencia `LogicalId` a este recurso) CloudFormation 

**`AWS::Lambda::Url`**  
*`LogicalId`: *`<function‑LogicalId>Url`  
*Propiedad referenciable:* N/A (debe usar la para hacer referencia `LogicalId` a este recurso) CloudFormation 

Cuando `AuthType: AWS_IAM` se especifica, solo AWS SAM genera:

**`AWS::Lambda::Url`**  
*`LogicalId`: *`<function‑LogicalId>Url`  
*Propiedad referenciable:* N/A (debe usar la `LogicalId` para hacer referencia a este CloudFormation recurso)

Para obtener información adicional sobre la `FunctionUrlConfig` propiedad, consulte. [FunctionUrlConfig](sam-property-function-functionurlconfig.md)

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

Los siguientes escenarios generan CloudFormation recursos en función de las fuentes de eventos:

### Se ha especificado una fuente de eventos de API
<a name="sam-specification-generated-resources-function-api"></a>

Cuando la `Event` propiedad de an `AWS::Serverless::Function` se establece en`Api`, pero *no* se especifica, se AWS SAM genera el `AWS::ApiGateway::RestApi` CloudFormation recurso. `RestApiId`

**`AWS::ApiGateway::RestApi`**  
*`LogicalId`: *`ServerlessRestApi`  
*Propiedad referenciable:* N/A (debe usar la `LogicalId` para hacer referencia a este CloudFormation recurso)

### Se ha especificado una fuente de HttpApi eventos
<a name="sam-specification-generated-resources-function-httpapi"></a>

Cuando la `Event` propiedad de un `AWS::Serverless::Function` se establece en`HttpApi`, pero *no* se especifica, AWS SAM genera el `AWS::ApiGatewayV2::Api` CloudFormation recurso. `ApiId`

**`AWS::ApiGatewayV2::Api`**  
*`LogicalId`: *`ServerlessHttpApi`  
*Propiedad referenciable:* N/A (debe usar la `LogicalId` para hacer referencia a este CloudFormation recurso)

### Se ha especificado una origen de eventos de transmisión
<a name="sam-specification-generated-resources-function-streaming"></a>

Cuando la `Event` propiedad de an `AWS::Serverless::Function` se establece en uno de los tipos de transmisión, AWS SAM genera el `AWS::Lambda::EventSourceMapping` CloudFormation recurso. Esto se aplica a los siguientes tipos: `DynamoDB`, `Kinesis`, `MQ`, `MSK` y `SQS`.

**`AWS::Lambda::EventSourceMapping`**  
*`LogicalId`: *`<function‑LogicalId><event‑LogicalId>`  
*Propiedad referenciable:* N/A (debe usar la `LogicalId` para hacer referencia a este CloudFormation recurso)

### Se ha especificado una origen de eventos de puente de eventos (o bus de eventos)
<a name="sam-specification-generated-resources-function-eventbridge"></a>

Cuando la `Event` propiedad de an `AWS::Serverless::Function` se establece en uno de los tipos de puente de eventos (o bus de eventos), AWS SAM genera el `AWS::Events::Rule` CloudFormation recurso. Esto se aplica a los siguientes tipos: `EventBridgeRule`, `Schedule`, y`CloudWatchEvents`.

**`AWS::Events::Rule`**  
*`LogicalId`: *`<function‑LogicalId><event‑LogicalId>`  
*Propiedad referenciable:* N/A (debe usar la `LogicalId` para hacer referencia a este CloudFormation recurso)

### Se ha especificado una fuente de IotRule eventos
<a name="sam-specification-generated-resources-function-iotrule"></a>

Cuando la `Event` propiedad de an `AWS::Serverless::Function` se establece en IoTRule, AWS SAM genera el `AWS::IoT::TopicRule` CloudFormation recurso.

**`AWS::IoT::TopicRule`**  
*`LogicalId`: *`<function‑LogicalId><event‑LogicalId>`  
*Propiedad referenciable:* N/A (debe usar la `LogicalId` para hacer referencia a este CloudFormation recurso)

## Configuración de eventos
<a name="sam-specification-generated-resources-function-event-configuration"></a>

Los siguientes escenarios generan CloudFormation recursos en función de la configuración del evento:

### OnSuccess (o OnFailure) la propiedad está especificada para los eventos de Amazon SNS
<a name="sam-specification-generated-resources-function-sns-onsuccess"></a>

Cuando se especifica la `OnSuccess` (o`OnFailure`) `DestinationConfig` propiedad de la `EventInvokeConfig` propiedad de un `AWS::Serverless::Function` y el tipo de destino es `SNS` pero *no* se especifica el ARN de destino, AWS SAM genera los siguientes CloudFormation recursos: `AWS::Lambda::EventInvokeConfig` y. `AWS::SNS::Topic`

**`AWS::Lambda::EventInvokeConfig`**  
*`LogicalId`: *`<function‑LogicalId>EventInvokeConfig`  
*Propiedad referenciable:* N/A (debe usar la `LogicalId` para hacer referencia a este recurso) CloudFormation 

**`AWS::SNS::Topic`**  
*`LogicalId`: *`<function‑LogicalId>OnSuccessTopic` (o `<function‑LogicalId>OnFailureTopic`)  
*Propiedad referenciable: *`<function‑LogicalId>.DestinationTopic`  
Si ambos `OnSuccess` y `OnFailure` se especifican para un evento de Amazon SNS, para distinguir entre los recursos generados, debe usar el `LogicalId`.

### OnSuccess (o OnFailure) la propiedad está especificada para los eventos de Amazon SQS
<a name="sam-specification-generated-resources-function-sqs-onsuccess"></a>

Cuando se especifica la `OnSuccess` (o`OnFailure`) `DestinationConfig` propiedad de la `EventInvokeConfig` propiedad de un `AWS::Serverless::Function` y el tipo de destino es `SQS` pero *no* se especifica el ARN de destino, AWS SAM genera los siguientes CloudFormation recursos: `AWS::Lambda::EventInvokeConfig` y. `AWS::SQS::Queue`

**`AWS::Lambda::EventInvokeConfig`**  
*`LogicalId`: *`<function‑LogicalId>EventInvokeConfig`  
*Propiedad referenciable:* N/A (debe usar la `LogicalId` para hacer referencia a este recurso) CloudFormation 

**`AWS::SQS::Queue`**  
*`LogicalId`: *`<function‑LogicalId>OnSuccessQueue` (o `<function‑LogicalId>OnFailureQueue`)  
*Propiedad referenciable: *`<function‑LogicalId>.DestinationQueue`  
Si ambos `OnSuccess` y `OnFailure` se especifican para un evento de Amazon SQS, para distinguir entre los recursos generados, debe utilizar el `LogicalId`.