Configurando o AWS SAM CLI - 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á.

Configurando o AWS SAM CLI

Um dos benefícios do AWS SAM é que ele otimiza o tempo do desenvolvedor ao remover tarefas repetitivas. A CLI do AWS SAM inclui um arquivo de configuração denominado samconfig para essa finalidade. Por padrão, não é necessária qualquer configuração na CLI do AWS SAM, mas você pode atualizar o arquivo de configuração para possibilitar a execução de comandos com menos parâmetros ao permitir que, em vez disso, o AWS SAM faça referência aos seus parâmetros personalizados no arquivo de configuração. Os exemplos na tabela a seguir mostram como você pode otimizar os comandos:

Original

Otimizado com samconfig

sam build --cached --parallel --use-containers

sam build

sam local invoke --env-vars locals.json

sam local invoke

sam local start-api --env-vars locals.json --warm-containers EAGER

sam local start-api

A CLI do AWS SAM fornece um conjunto de comandos para ajudar os desenvolvedores a criar, desenvolver e implantar aplicações sem servidor. Cada um desses comandos é configurável com sinalizadores opcionais com base nas preferências da aplicação e do desenvolvedor. Para obter mais informações, consulte o conteúdo da CLI do AWS SAM no GitHub

Os tópicos desta seção mostram como criar AWS SAM CLI Arquivo de configuração do   e personalizar suas configurações padrão para otimizar o tempo de desenvolvimento da aplicação sem servidor.

Como criar o arquivo de configuração (o arquivo samconfig)

O arquivo de configuração da CLI do AWS SAM (nome do arquivo: samconfig) é um arquivo de texto que normalmente usa a estrutura TOML, mas também pode estar em YAML. Ao usar um modelo de início rápido da AWS, esse arquivo é criado quando você executa o comando sam init. Você pode atualizar esse arquivo ao implantar uma aplicação usando o comando sam deploy -\-guided.

Depois que a implantação estiver concluída, o arquivo samconfig conterá um perfil denominado default se você tiver usado os valores padrão. Quando você executa novamente o comando deploy, o AWS SAM aplica as configurações armazenadas desse perfil.

A vantagem do arquivo samconfig é que o AWS SAM armazena as definições das configurações de quaisquer outros comandos disponíveis, além do comando para implantar. Além desses valores criados em uma nova implantação, há vários atributos que você pode definir no arquivo samconfig que podem simplificar outros aspectos do fluxo de trabalho do desenvolvedor com a CLI do AWS SAM.

Definir configurações do projeto

Você pode especificar configurações específicas do projeto, como valores de parâmetros de comando AWS SAM CLI, em um arquivo de configuração para usar com o AWS SAM CLI. Para obter mais informações sobre este arquivo de configuração, consulte AWS SAM CLI Arquivo de configuração do  .

Usando arquivos de configuração

Os arquivos de configuração são estruturados por ambiente, comando e valor de parâmetro. Para obter mais informações, consulte Noções básicas de arquivos de configuração.

Para configurar um novo ambiente
  1. Especifique seu novo ambiente em seu arquivo de configuração.

    Veja a seguir um exemplo de especificação de um novo ambiente prod:

    TOML
    [prod.global.parameters]
    YAML
    prod: global: parameters:
  2. Especifique os valores dos parâmetros como pares de valores-chave na seção de parâmetros do arquivo de configuração.

    Veja a seguir um exemplo de como especificar o nome da pilha do seu aplicativo para o ambiente prod.

    TOML
    [prod.global.parameters]
    stack_name = "prod-app"
    YAML
    prod: global: parameters: stack_name: prod-app
  3. Use a opção --config-env para especificar o ambiente a ser usado.

    Veja um exemplo a seguir:

    $ sam deploy --config-env "prod"
Para configurar valores de parâmetros
  1. Especifique o comando AWS SAM CLI para o qual você gostaria de configurar os valores dos parâmetros. Para configurar valores de parâmetros para todos os comandos AWS SAM CLI, use o identificador global.

    Veja a seguir um exemplo de especificação de valores de parâmetros para o default comando do ambiente sam deploy:

    TOML
    [default.deploy.parameters]
    confirm_changeset = true
    YAML
    default: deploy: parameters: confirm_changeset: true

    Veja a seguir um exemplo de especificação de valores de parâmetros para todos os AWS SAM CLI comandos no default ambiente:

    TOML
    [default.global.parameters]
    stack_name = "sam-app"
    YAML
    default: global: parameters: stack_name: sam-app
  2. Você também pode especificar valores de parâmetros e modificar seu arquivo de configuração por meio do fluxo interativo AWS SAM CLI.

    A seguir está um exemplo do fluxo interativo sam deploy --guided:

    $ sam deploy --guided Configuring SAM deploy ====================== Looking for config file [samconfig.toml] : Found Reading default arguments : Success Setting default arguments for 'sam deploy' ========================================= Stack Name [sam-app]: ENTER AWS Region [us-west-2]: ENTER #Shows you resources changes to be deployed and require a 'Y' to initiate deploy Confirm changes before deploy [Y/n]: n #SAM needs permission to be able to create roles to connect to the resources in your template Allow SAM CLI IAM role creation [Y/n]: ENTER #Preserves the state of previously provisioned resources when an operation fails Disable rollback [y/N]: ENTER HelloWorldFunction may not have authorization defined, Is this okay? [y/N]: y Save arguments to configuration file [Y/n]: ENTER SAM configuration file [samconfig.toml]: ENTER SAM configuration environment [default]: ENTER

Para obter mais informações, consulte Criando e modificando arquivos de configuração.

Exemplos

Exemplo básico de TOML

Este é um exemplo de um arquivo de configuração da samconfig.toml:

...
version = 0.1

[default]
[default.global]
[default.global.parameters]
stack_name = "sam-app"

[default.build.parameters]
cached = true
parallel = true

[default.deploy.parameters]
capabilities = "CAPABILITY_IAM"
confirm_changeset = true
resolve_s3 = true

[default.sync.parameters]
watch = true

[default.local_start_api.parameters]
warm_containers = "EAGER"

[prod]
[prod.sync]
[prod.sync.parameters]
watch = false

Exemplo básico de YAML

Este é um exemplo de um arquivo de configuração da samconfig.yaml:

version 0.1 default: global: parameters: stack_name: sam-app build: parameters: cached: true parallel: true deploy: parameters: capabilities: CAPABILITY_IAM confirm_changeset: true resolve_s3: true sync: parameters: watch: true local_start_api: parameters: warm_containers: EAGER prod: sync: parameters: watch: false

Configurar credenciais e configurações básicas

Use o AWS Command Line Interface (AWS CLI) para definir configurações básicas, como credenciais do AWS, nome da região padrão e formato de saída padrão. Depois de configurado, você pode usar essas configurações com o AWS SAM CLI. Para saber mais, consulte o seguinte no AWS Command Line Interface Guia de usuário:

Para obter instruções de configuração rápida, consulte Etapa 5: use o AWS CLI para configurar as AWS credenciais.