Recursos gerados do AWS CloudFormation para o AWS SAM - AWS Serverless Application Model

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á.

Recursos gerados do AWS CloudFormation para o AWS SAM

Esta seção fornece detalhes sobre os recursos do AWS CloudFormation que são criados quando o AWS SAM processa o modelo da AWS. O conjunto de recursos do AWS CloudFormation que o AWS SAM gera difere, dependendo dos cenários especificados. Um cenário é a combinação de recursos AWS SAM e propriedades especificados em seu arquivo de modelo. Você pode referenciar os recursos AWS CloudFormation gerados em outro lugar no seu arquivo de modelo, da mesma forma que você faz referência aos recursos que você declara explicitamente em seu arquivo de modelo.

Por exemplo, se você especificar um recurso AWS::Serverless::Function em seu arquivo de modelo AWS SAM, AWS SAM sempre gera um recurso base AWS::Lambda::Function. Se você também especificar a propriedade AutoPublishAlias opcional, AWS SAM também gera recursos AWS::Lambda::Alias AWS::Lambda::Version.

Esta seção lista os cenários e os recursos AWS CloudFormation que eles geram e mostra como referenciar os recursos AWS CloudFormation gerados em seu arquivo de modelo AWS SAM.

Referenciando recursos gerados AWS CloudFormation

Você tem duas opções para referenciar recursos AWS CloudFormation gerados em seu arquivo de modelo AWS SAM, por LogicalId ou por propriedade referenciável.

Referenciando recursos AWS CloudFormation gerados pelo LogicalID

Os recursos AWS CloudFormation gerados por AWS SAM cada um têm um LogicalId, que é um identificador alfanumérico (A-Z, a-z, 0-9) exclusivo em um arquivo de modelo. AWS SAM usa os recursos LogicalIds AWS SAM em seu arquivo de modelo para construir LogicalIds os recursos AWS CloudFormation que ele gera. Você pode usar o LogicalId de um recurso AWS CloudFormation gerado para acessar as propriedades desse recurso em seu arquivo de modelo, assim como faria com um recurso AWS CloudFormation que você declarou explicitamente. Para obter mais informações sobre LogicalIds em AWS CloudFormation e modelos AWS SAM, consulte Recursos no Guia do usuário do AWS CloudFormation.

nota

Alguns recursos gerados incluem um valor LogicalIds de hash exclusivo para evitar conflitos de namespace. Esses recursos são derivados quando a pilha é criada LogicalIds. Você pode recuperá-los somente após a criação da pilha usando o AWS Management Console,AWS CLI ou um dos SDKs AWS. Não recomendamos referenciar esses recursos LogicalId porque os valores de hash podem mudar.

Referenciando recursos AWS CloudFormation gerados por propriedade referenciável

Para alguns recursos gerados, AWS SAM fornece uma propriedade referenciável do recurso AWS SAM. Você pode usar essa propriedade para referenciar um recurso AWS CloudFormation gerado e suas propriedades em seu arquivo de modelo AWS SAM.

nota

Nem todos os recursos AWS CloudFormation gerados têm propriedades referenciáveis. Para esses recursos, você deve usar LogicalId o.

Cenários AWS CloudFormation de recursos gerados

A tabela a seguir resume os recursos AWS SAM e propriedades que compõem os cenários que geram recursos AWS CloudFormation. Os tópicos na coluna Cenários fornecem detalhes sobre os recursos AWS CloudFormation adicionais que AWS SAM gera para esse cenário.

Recurso do AWS SAM AWS CloudFormationRecurso básico Cenários
AWS::Serverless::Api AWS::ApiGateway::RestApi
AWS::Serverless::Application AWS::CloudFormation::Stack
  • Além de gerar o recurso AWS CloudFormation básico, não há cenários adicionais para esse recurso sem servidor.

AWS::Serverless::Function AWS::Lambda::Function
AWS::Serverless::HttpApi AWS::ApiGatewayV2::Api
AWS::Serverless::LayerVersion AWS::Lambda::LayerVersion
  • Além de gerar o recurso AWS CloudFormation básico, não há cenários adicionais para esse recurso sem servidor.

AWS::Serverless::SimpleTable AWS::DynamoDB::Table
  • Além de gerar o recurso AWS CloudFormation básico, não há cenários adicionais para esse recurso sem servidor.

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