Modelo AWS SAM - AWS Serverless Application Model

Modelo AWS SAM

Depois de executar o comando sam init e concluir o fluxo de trabalho subsequente, o AWS SAM cria o diretório do projeto da aplicação, que é o projeto do AWS SAM. Você define a aplicação sem servidor ao adicionar o código ao projeto do AWS SAM. Embora o projeto do AWS SAM consista em um conjunto de arquivos e pastas, o arquivo com o qual você trabalha principalmente é o modelo do AWS SAM (denominado template.yaml). Nesse modelo, você escreve o código para expressar os recursos, os mapeamentos da origem do evento e outras propriedades que definem a aplicação com tecnologia sem servidor.

nota

Um elemento essencial do modelo do AWS SAM é a especificação do modelo do AWS SAM. Essa especificação fornece a sintaxe abreviada que, quando comparada ao CloudFormation, permite que você use menos linhas de código para definir os recursos, o mapeamentos da origem do evento, as permissões, as APIs e outras propriedades da aplicação sem servidor.

Esta seção fornece detalhes sobre como você usa as seções no modelo do AWS SAM para definir tipos de recursos, propriedades de recursos, tipos de dados, atributos de recursos, funções intrínsecas e extensões do API Gateway.

Os modelos do AWS SAM são uma extensão de modelos do CloudFormation, com tipos de sintaxe exclusivos que usam sintaxe abreviada com menos linhas de código do que o CloudFormation. Isso acelera o desenvolvimento na criação de uma aplicação sem servidor. Para obter mais informações, consulte Recursos e propriedades do AWS SAM. Para obter a referência completa dos modelos CloudFormation, consulte CloudFormation Referência do modelo no AWS CloudFormation Guia do usuário.

Ao desenvolver, muitas vezes você achará vantajoso dividir o código do aplicativo em arquivos separados para melhor organizar e gerenciar seu aplicativo. Um exemplo básico disso é usar um arquivo separado para o código da função do AWS Lambda em vez de ter esse código no modelo do AWS SAM. Faça isso organizando o código da função do Lambda em um subdiretório do projeto e fazendo referência ao caminho local no modelo do AWS Serverless Application Model (AWS SAM).