Recursos de CloudFormation generados cuando se especifica AWS::Serverless::Function - AWS Serverless Application Model

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.

Recursos de CloudFormation generados cuando se especifica AWS::Serverless::Function

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

AWS::Lambda::Function

LogicalId: <function‑LogicalId>

Propiedad referenciable: N/D (debe usar el LogicalId para hacer referencia a este recurso de CloudFormation)

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

Propiedades de funciones principales

Los siguientes escenarios generan recursos de CloudFormation según las propiedades de las funciones principales:

La propiedad del rol no está especificada

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

AWS::IAM::Role

LogicalId: <function‑LogicalId>Role

Propiedad referenciable: N/D (debe usar el LogicalId para hacer referencia a este recurso de CloudFormation)

Se ha especificado la propiedad AutoPublishAlias

Cuando se especifica la propiedad AutoPublishAlias de un AWS::Serverless::Function, AWS SAM genera los siguientes recursos de CloudFormation: 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: MyFunctionAliaslive.

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, MyFunctionVersion926eeb5ff1.

Propiedad referenciable: <function‑LogicalId>.Version

Para obtener información adicional sobre la propiedad AutoPublishAlias, consulte la sección “Properties” de AWS::Serverless::Function.

Se ha especificado la propiedad DeploymentPreference

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

AWS::CodeDeploy::Application

LogicalId: ServerlessDeploymentApplication

Propiedad referenciable: N/D (debe usar el LogicalId para hacer referencia a este recurso de CloudFormation)

AWS::CodeDeploy::DeploymentGroup

LogicalId: <function‑LogicalId>DeploymentGroup

Propiedad referenciable: N/D (debe usar el LogicalId para hacer referencia a este recurso de CloudFormation)

AWS::IAM::Role

LogicalId: CodeDeployServiceRole

Propiedad referenciable: N/D (debe usar el LogicalId para hacer referencia a este recurso de CloudFormation)

Se especificó la propiedad FunctionUrlConfig

Cuando se especifica la propiedad FunctionUrlConfig, AWS SAM genera recursos de CloudFormation diferentes según el AuthType.

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

AWS::Lambda::Permission (Invocar acceso)

LogicalId: <function‑LogicalId>URLInvokeAllowPublicAccess

Propiedad referenciable: N/D (debe usar el LogicalId para hacer referencia a este recurso de CloudFormation)

AWS::Lambda::Permission (Acceso público)

LogicalId: <function‑LogicalId>UrlPublicPermissions

Propiedad referenciable: N/D (debe usar el LogicalId para hacer referencia a este recurso de CloudFormation)

AWS::Lambda::Url

LogicalId: <function‑LogicalId>Url

Propiedad referenciable: N/D (debe usar el LogicalId para hacer referencia a este recurso de CloudFormation)

Cuando se especifica AuthType: AWS_IAM, AWS SAM genera únicamente:

AWS::Lambda::Url

LogicalId: <function‑LogicalId>Url

Propiedad referenciable: N/D (debe usar el LogicalId para hacer referencia a este recurso de CloudFormation)

Para obtener información adicional sobre la propiedad FunctionUrlConfig, consulte FunctionUrlConfig.

Orígenes de eventos

Los siguientes escenarios generan recursos de CloudFormation según los orígenes de eventos:

Se ha especificado una fuente de eventos de API

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

AWS::ApiGateway::RestApi

LogicalId: ServerlessRestApi

Propiedad referenciable: N/D (debe usar el LogicalId para hacer referencia a este recurso de CloudFormation)

Se ha especificado una origen de eventos HttpAPI

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

AWS::ApiGatewayV2::Api

LogicalId: ServerlessHttpApi

Propiedad referenciable: N/D (debe usar el LogicalId para hacer referencia a este recurso de CloudFormation)

Se ha especificado una origen de eventos de transmisión

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

AWS::Lambda::EventSourceMapping

LogicalId: <function‑LogicalId><event‑LogicalId>

Propiedad referenciable: N/D (debe usar el LogicalId para hacer referencia a este recurso de CloudFormation)

Se ha especificado una origen de eventos de puente de eventos (o bus de eventos)

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

AWS::Events::Rule

LogicalId: <function‑LogicalId><event‑LogicalId>

Propiedad referenciable: N/D (debe usar el LogicalId para hacer referencia a este recurso de CloudFormation)

Se ha especificado una origen de eventos de IoRule

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

AWS::IoT::TopicRule

LogicalId: <function‑LogicalId><event‑LogicalId>

Propiedad referenciable: N/D (debe usar el LogicalId para hacer referencia a este recurso de CloudFormation)

Configuración de eventos

Los siguientes escenarios generan recursos de CloudFormation según la configuración de eventos:

La propiedad onSuccess (o onFailure) se especifica para los eventos de Amazon SNS

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

AWS::Lambda::EventInvokeConfig

LogicalId: <function‑LogicalId>EventInvokeConfig

Propiedad referenciable: N/D (debe usar el LogicalId para hacer referencia a este recurso de 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.

La propiedad onSuccess (o onFailure) se especifica para los eventos de Amazon SQS

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

AWS::Lambda::EventInvokeConfig

LogicalId: <function‑LogicalId>EventInvokeConfig

Propiedad referenciable: N/D (debe usar el LogicalId para hacer referencia a este recurso de 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.