

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

# AWS SAM anatomia do modelo
<a name="sam-specification-template-anatomy"></a>

Um arquivo AWS SAM de modelo segue rigorosamente o formato de um arquivo de CloudFormation modelo, que é descrito em [Anatomia do modelo](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html) no *Guia do AWS CloudFormation usuário*. As principais diferenças entre arquivos AWS SAM de modelo e arquivos CloudFormation de modelo são as seguintes:
+ **Declaração de transformação.** A declaração `Transform: AWS::Serverless-2016-10-31` é necessária para arquivos AWS SAM de modelo. Essa declaração identifica um arquivo CloudFormation de modelo como um arquivo AWS SAM de modelo. Para obter mais informações sobre transformações, consulte [Transformações](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-section-structure.html) no *Guia do usuário do AWS CloudFormation *.
+ **Seção global.** A `Globals` seção é exclusiva de AWS SAM. Ele define propriedades que são comuns a todas as suas funções sem servidor e. APIs Todos os `AWS::Serverless::StateMachine` recursos `AWS::Serverless::Function` `AWS::Serverless::Api``AWS::Serverless::CapacityProvider`,`AWS::Serverless::HttpApi`,`AWS::Serverless::SimpleTable`,, e herdam as propriedades definidas na `Globals` seção. Para obter mais informações sobre essa seção, consulte [Seção Global do modelo AWS SAM](sam-specification-template-anatomy-globals.md).
+ **Seção de recursos.** Nos AWS SAM modelos, a `Resources` seção pode conter uma combinação de CloudFormation recursos e AWS SAM recursos. Para obter mais informações sobre CloudFormation recursos, consulte a [referência de tipos de AWS recursos e propriedades](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html) no *Guia AWS CloudFormation do usuário*. Para obter mais informações sobre AWS SAM recursos, consulte[AWS SAM recursos e propriedades](sam-specification-resources-and-properties.md).

Todas as outras seções de um arquivo de AWS SAM modelo correspondem à seção CloudFormation de arquivo de modelo com o mesmo nome.

## YAML
<a name="template-anatomy-outline.yaml"></a>

O exemplo a seguir mostra um modelo de estilhaço formatado em YAML.

```
Transform: AWS::Serverless-2016-10-31

Globals:
  set of globals

Description:
  String

Metadata:
  template metadata

Parameters:
  set of parameters

Mappings:
  set of mappings

Conditions:
  set of conditions

Resources:
  set of resources

Outputs:
  set of outputs
```

## Seções do modelo
<a name="template-anatomy-sections"></a>

AWS SAM os modelos podem incluir várias seções principais. Somente as seções `Transform` e `Resources` são obrigatórias.

Você pode incluir seções de modelo em qualquer ordem. No entanto, se você estiver usando extensões de linguagem, deverá adicionar `AWS::LanguageExtensions` *antes* da transformação sem servidor (ou seja, antes de `AWS::Serverless-2016-10-31`), conforme mostrado no seguinte exemplo:

```
Transform:
  - AWS::LanguageExtensions
  - AWS::Serverless-2016-10-31
```

À medida que você cria o modelo, pode ser útil usar a ordem lógica mostrada na lista a seguir. Isso ocorre porque os valores em uma seção podem se referir aos valores de uma seção anterior.

**[Transformar (obrigatório)](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-section-structure.html)**  
Para AWS SAM modelos, você deve incluir esta seção com um valor de`AWS::Serverless-2016-10-31`.  
Transformações adicionais são opcionais. Para obter mais informações sobre transformações, consulte [Transformações](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-section-structure.html) no *Guia do usuário do AWS CloudFormation *.

**[Globais (opcional)](sam-specification-template-anatomy-globals.md)**  
Propriedades que são comuns a todas as suas funções sem servidor e APIs tabelas simples. Todos os `AWS::Serverless::StateMachine` recursos `AWS::Serverless::Function` `AWS::Serverless::Api``AWS::Serverless::CapacityProvider`,`AWS::Serverless::HttpApi`,`AWS::Serverless::SimpleTable`,, e herdam as propriedades definidas na `Globals` seção.  
Esta seção é exclusiva de AWS SAM. Não há uma seção correspondente nos modelo CloudFormation s.

**[Description (opcional)](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-description-structure.html)**  
Uma sequência de texto que descreve o modelo.  
Esta seção corresponde diretamente à `Description` seção de CloudFormation modelos.

**[Metadata (opcional)](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html)**  
Os objetos que fornecem informações adicionais sobre o modelo.  
Esta seção corresponde diretamente à `Metadata` seção de CloudFormation modelos.

**[Parameters (opcional)](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html)**  
Os valores a serem passados para seu modelo no runtime (ao criar ou atualizar uma pilha). Você pode fazer referência a parâmetros nas seções `Resources` e `Outputs` do modelo. Os objetos declarados na `Parameters` seção fazem com que o **sam deploy --guided** comando apresente solicitações adicionais ao usuário.  
Os valores transmitidos usando o parâmetro `--parameter-overrides` do comando `sam deploy` e as entradas no arquivo de configuração têm precedência sobre as entradas no arquivo de modelo do AWS SAM . Para obter mais informações sobre o comando `sam deploy`, consulte [sam deploy](sam-cli-command-reference-sam-deploy.md) na AWS SAM Referência de comandos da CLI. Para obter mais informações sobre o arquivo de configuração, consulte [Arquivo de configuração do AWS SAM CLI](serverless-sam-cli-config.md).

**[Mappings (opcional)](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/mappings-section-structure.html)**  
Um mapeamento de chaves e valores associados que você pode usar para especificar valores de parâmetros condicionais, semelhante a uma tabela de pesquisa. Você pode vincular uma chave a um valor correspondente usando a função intrínseca [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-findinmap.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-findinmap.html) nas seções `Resources` e `Outputs`.  
Esta seção corresponde diretamente à `Mappings` seção de CloudFormation modelos.

**[Condições (opcional)](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/conditions-section-structure.html) **  
As condições que controlam se determinados recursos são criados ou se determinadas propriedades de recursos são atribuídas a um valor durante a criação ou a atualização da pilha. Por exemplo, condicionalmente, você pode criar um recurso que depende de se a pilha é de um ambiente de teste ou de produção.  
Esta seção corresponde diretamente à `Conditions` seção de CloudFormation modelos.

**[Resources (obrigatório)](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/resources-section-structure.html)**  
Os recursos da pilha e suas propriedades, como uma instância do Amazon Elastic Compute Cloud (Amazon EC2) ou um bucket do Amazon Simple Storage Service (Amazon S3). Você pode fazer referência a recursos nas seções `Resources` e `Outputs` do modelo.  
Essa seção é semelhante à seção `Resources` de modelos CloudFormation . Nos AWS SAM modelos, essa seção pode conter AWS SAM recursos além CloudFormation dos recursos.

**[Outputs (opcional)](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/outputs-section-structure.html)**  
Os valores que são retornados sempre que você visualiza as propriedades da pilha. Por exemplo, você pode declarar uma saída para o nome de um bucket do S3 e, em seguida, chamar o comando `aws cloudformation describe-stacks` AWS Command Line Interface (AWS CLI) para ver o nome.  
Esta seção corresponde diretamente à seção `Outputs` de modelos CloudFormation .

## Próximas etapas
<a name="template-anatomy-next-steps"></a>

Para baixar e implantar um aplicativo sem servidor de amostra que contém um arquivo AWS SAM de modelo, consulte [Começando com AWS SAM](serverless-getting-started.md) e siga as instruções em. [Tutorial: implante um aplicativo Hello World com AWS SAM](serverless-getting-started-hello-world.md)