Recursos de AWS CloudFormation generados - 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 AWS CloudFormation generados

Cuando AWS Serverless Application Model (AWS SAM) procesa su archivo de plantilla de AWS SAM, genera uno o más recursos de AWS CloudFormation. El conjunto de recursos de AWS CloudFormation que AWS SAM genera varía según los escenarios que especifique. Un escenario es la combinación de recursos y propiedades de AWS SAM especificada en el archivo de plantilla. Puede hacer referencia a los recursos de AWS CloudFormation generados en otros lugares del archivo de plantilla, de forma similar a como hace referencia a los recursos que declara explícitamente en el archivo de plantilla.

Por ejemplo, si especifica un recurso de AWS::Serverless::Function en el archivo de plantillas de AWS SAM, AWS SAM siempre generará un recurso base AWS::Lambda::Function. Si también especifica la propiedad AutoPublishAlias opcional, AWS SAM también generará recursos AWS::Lambda::Alias y AWS::Lambda::Version.

En esta sección se enumeran los escenarios y los recursos de AWS CloudFormation que generan, y se muestra cómo hacer referencia a los recursos de AWS CloudFormation generados en el archivo de plantillas de AWS SAM.

Hacer referencia a los recursos de AWS CloudFormation generados.

Tiene dos opciones para hacer referencia a los recursos de AWS CloudFormation generados en su archivo de plantillas de AWS SAM: por LogicalId o por propiedad referenciable.

Hacer referencia a AWS CloudFormation los recursos generados por LogicalId

Los recursos de AWS CloudFormation que genera AWS SAM tienen un LogicalId cada uno, que es un identificador alfanumérico (A-Z, a-z, 0-9) que es único dentro de un archivo de plantilla. AWS SAM utiliza los LogicalIds de los recursos de AWS SAM del archivo plantilla para construir los LogicalIds de los recursos de AWS CloudFormation que genera. Puede usar el LogicalId de un recurso de AWS CloudFormation generado para acceder a las propiedades de ese recurso dentro de su archivo de plantilla, del mismo modo que lo haría con un recurso de AWS CloudFormation que haya declarado explícitamente. Para más información sobre LogicalIds en plantillas de AWS CloudFormation y AWS SAM, consulte Recursos en la Guía del usuario de AWS CloudFormation.

nota

Algunos LogicalIds de los recursos generados incluyen un valor hash único para evitar conflictos con los espacios de los nombres. Los LogicalIds de estos recursos se obtienen cuando se crea la pila. Puede recuperarlos solo después de haber creado la pila con la AWS Management Console, la AWS CLI, o uno de los SDK de AWS. No recomendamos referenciar estos recursos con LogicalId porque los valores hash pueden cambiar.

Referenciado de los recursos de AWS CloudFormation generados por propiedad referenciable

Para algunos recursos generados, AWS SAM proporciona una propiedad referenciable del recurso de AWS SAM. Puede utilizar esta propiedad para referenciar un recurso de AWS CloudFormation generado y sus propiedades en el archivo plantilla de AWS SAM.

nota

No todos los recursos de AWS CloudFormation generados tienen propiedades referenciables. Para dichos recursos, debe utilizar los LogicalId.

Escenarios de recursos de AWS CloudFormation generados

En la siguiente tabla se resumen los recursos y las propiedades de AWS SAM que componen los escenarios que generan recursos de AWS CloudFormation. Los temas de la columna Escenarios proporcionan detalles sobre los recursos de AWS CloudFormation adicionales que genera AWS SAM para ese escenario.

Recurso de AWS SAM Recurso de AWS CloudFormation base Escenarios
AWS::Serverless::Api AWS::ApiGateway::RestApi
AWS::Serverless::Application AWS::CloudFormation::Stack
  • Además de generar el recurso de AWS CloudFormation base, no hay escenarios adicionales para este recurso sin servidor.

AWS::Serverless::Function AWS::Lambda::Function
AWS::Serverless::HttpApi AWS::ApiGatewayV2::Api
AWS::Serverless::LayerVersion AWS::Lambda::LayerVersion
  • Además de generar el recurso de AWS CloudFormation base, no hay escenarios adicionales para este recurso sin servidor.

AWS::Serverless::SimpleTable AWS::DynamoDB::Table
  • Además de generar el recurso de AWS CloudFormation base, no hay escenarios adicionales para este recurso sin servidor.

AWS::Serverless::StateMachine AWS::StepFunctions::StateMachine