AWS SAM anatomia do modelo - 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á.

AWS SAM anatomia do modelo

Um arquivo AWS SAM de modelo segue rigorosamente o formato de um arquivo de AWS CloudFormation modelo, que é descrito em Anatomia do modelo no Guia do AWS CloudFormation usuário. As principais diferenças entre arquivos AWS SAM de modelo e arquivos AWS 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 AWS CloudFormation de modelo como um arquivo AWS SAM de modelo. Para obter mais informações sobre transformações, consulte Transformações 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 e APIs sem servidor. Todos os recursos AWS::Serverless::Function, AWS::Serverless::Api e AWS::Serverless::SimpleTable herdam as propriedades definidas na seção Globals. Para obter mais informações sobre essa seção, consulte Seção Global do modelo AWS SAM.

  • Seção de recursos. Nos AWS SAM modelos, a Resources seção pode conter uma combinação de AWS CloudFormation recursos e AWS SAM recursos. Para obter mais informações sobre AWS CloudFormation recursos, consulte a referência de tipos de AWS recursos e propriedades no Guia AWS CloudFormation do usuário. Para obter mais informações sobre AWS SAM recursos, consulteAWS SAM recursos e propriedades.

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

YAML

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

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 estiver usando extensões de linguagem, você deve adicionar AWS::LanguageExtensions antes da transformação sem servidor (ou seja, antesAWS::Serverless-2016-10-31), conforme mostrado no exemplo a seguir:

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

Ao criar seu 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)

Para AWS SAM modelos, você deve incluir esta seção com um valor deAWS::Serverless-2016-10-31.

Transformações adicionais são opcionais. Para obter mais informações sobre transformações, consulte Transformações no Guia do usuário do AWS CloudFormation .

Globais (opcional)

Propriedades que são comuns a todas as suas funções sem servidor, APIs e tabelas simples. Todos os recursos AWS::Serverless::Function, AWS::Serverless::Api e AWS::Serverless::SimpleTable herdam as propriedades definidas na seção Globals.

Esta seção é exclusiva de AWS SAM. Não há uma seção correspondente nos modelo AWS CloudFormation s.

Description (opcional)

Uma sequência de texto que descreve o modelo.

Esta seção corresponde diretamente à Description seção de AWS CloudFormation modelos.

Metadata (opcional)

Os objetos que fornecem informações adicionais sobre o modelo.

Esta seção corresponde diretamente à Metadata seção de AWS CloudFormation modelos.

Parameters (opcional)

Os valores a serem passados para seu modelo em tempo de execução (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 --parameter-overrides parâmetro do sam deploy comando e as entradas no arquivo de configuração têm precedência sobre as entradas no arquivo de modelo AWS SAM . Para obter mais informações sobre o comando sam deploy, consulte sam deploy 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.

Mappings (opcional)

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 Fn::FindInMap nas seções Resources e Outputs.

Esta seção corresponde diretamente à Mappings seção de AWS CloudFormation modelos.

Condições (opcional)

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 AWS CloudFormation modelos.

Resources (obrigatório)

Especifica 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 AWS CloudFormation . Nos AWS SAM modelos, essa seção pode conter AWS SAM recursos além AWS CloudFormation dos recursos.

Outputs (opcional)

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 AWS CloudFormation .

Próximas etapas

Para baixar e implantar um exemplo de aplicativo sem servidor que contém um arquivo AWS SAM de modelo, consulte Começando com AWS SAM e siga as instruções em. Tutorial: Implantar um aplicativo Hello World