Recursos de CloudFormation generados para AWS SAM
En esta sección se proporcionan detalles sobre los recursos de CloudFormation que se crean cuando AWS SAM procesa la plantilla de AWS. El conjunto de recursos de CloudFormation que AWS SAM genera varía según los escenarios que especifica. 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 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 CloudFormation que generan, y se muestra cómo hacer referencia a los recursos de CloudFormation generados en el archivo de plantillas de AWS SAM.
Hacer referencia a los recursos de CloudFormation generados.
Tiene dos opciones para hacer referencia a los recursos de CloudFormation generados en su archivo de plantillas de AWS SAM: por LogicalId o por propiedad referenciable.
Hacer referencia a los recursos de CloudFormation generados por LogicalId
Los recursos de 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 CloudFormation que genera. Puede usar el LogicalId de un recurso de 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 CloudFormation que haya declarado explícitamente. Para más información sobre LogicalIds en plantillas de CloudFormation y AWS SAM, consulta 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 Consola de administración de AWS, 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 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 CloudFormation generado y sus propiedades en el archivo plantilla de AWS SAM.
nota
No todos los recursos de CloudFormation generados tienen propiedades referenciables. Para dichos recursos, debe utilizar los LogicalId.
Escenarios de recursos de CloudFormation generados
En la siguiente tabla se resumen los recursos y las propiedades de AWS SAM que componen los escenarios que generan recursos de CloudFormation. Los temas de la columna Escenarios proporcionan detalles sobre los recursos de CloudFormation adicionales que genera AWS SAM para ese escenario.
| AWS SAMRecurso de | Recurso de CloudFormation base | Escenarios |
|---|---|---|
AWS::Serverless::Api
|
AWS::ApiGateway::RestApi |
|
AWS::Serverless::Application
|
AWS::CloudFormation::Stack |
|
AWS::Serverless::Function |
AWS::Lambda::Function |
|
AWS::Serverless::HttpApi |
AWS::ApiGatewayV2::Api |
|
AWS::Serverless::LayerVersion
|
AWS::Lambda::LayerVersion |
|
AWS::Serverless::SimpleTable
|
AWS::DynamoDB::Table |
|
AWS::Serverless::StateMachine
|
AWS::StepFunctions::StateMachine |
Temas
Recursos de CloudFormation generados cuando se especifica AWS::Serverless::Api
Recursos de CloudFormation generados cuando se especifica AWS::Serverless::Application
CloudFormation recursos generados cuando se especifica AWS::Serverless::Connector
Recursos de CloudFormation generados cuando se especifica AWS::Serverless::Function
Recursos de CloudFormation generados cuando se especifica AWS::Serverless::GraphQLApi
Recursos de CloudFormation generados cuando se especifica AWS::Serverless::HttpApi
Recursos de CloudFormation generados cuando se especifica AWS::Serverless::LayerVersion
Recursos de CloudFormation generados cuando se especifica AWS::Serverless::SimpleTable
Recursos de CloudFormation generados cuando se especifica AWS::Serverless::StateMachine