AWS SAM CLI - AWS Serverless Application Model

AWS SAM CLI

A interface de linha de comando do AWS Serverless Application Model (CLI do AWS SAM) é uma ferramenta de linha de comando para desenvolvimento local e teste de aplicações com tecnologia sem servidor. A CLI do AWS SAM permite que você crie, transforme, implante, depure, empacote, inicialize e sincronize as aplicações com tecnologia sem servidor localmente antes da implantação na nuvem.

A CLI do AWS SAM funciona com aplicações com tecnologia sem servidor que são definidos usando diferentes estruturas e ferramentas de infraestrutura como código (IaC), com vários níveis de suporte:

  • Modelos do AWS SAM: fornece suporte nativo com o conjunto completo de atributos, incluindo recursos locais de teste, depuração, empacotamento e implantação.

  • Aplicações do AWS CDK: permite testar localmente as funções do Lambda depois de sintetizar a aplicação do AWS CDK em modelos do CloudFormation usando o comando cdk synth.

  • Modelos do CloudFormation: oferece compatibilidade direta porque o AWS SAM se estende ao CloudFormation, oferecendo suporte a recursos com tecnologia sem servidor definidos em modelos padrão do CloudFormation.

  • Aplicações do Terraform: fornece suporte limitado para criação e testes locais de funções do Lambda. Exige que você gere artefatos de modelo do AWS SAM que representem suas funções do Lambda definidas pelo Terraform.

Para obter o suporte de atributo mais abrangente e a experiência simplificada do desenvolvedor, recomendamos o uso de modelos nativos do AWS SAM.

Como os comandos AWS SAMCLI são documentados

Os comandos AWS SAM CLI são documentados usando o seguinte formato:

  • Prompt — O prompt Linux é documentado por padrão e exibida como ($ ). Para comandos específicos do Windows, o (> ) é usado como prompt. Não inclua prompt quando você digitar comandos.

  • Diretório: quando comandos devem ser executados de um diretório específico, o nome do diretório é mostrado antes do símbolo do prompt.

  • Entrada do usuário o texto do comando inserido na linha de comando é formatado como user input.

  • Texto substituível — Texto variável, como nomes de arquivos e parâmetros, é formatado como texto substituível. Em comandos ou comandos de várias linhas, em que é necessária uma entrada específica do teclado, a entrada do teclado também pode ser exibida como texto substituível. Por exemplo, ENTER.

  • Saída — A saída retornada como resposta ao comando é formatada como computer output.

O comando sam deploy e a saída a seguir são um exemplo:

$ sam deploy --guided --template template.yaml 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]: ENTER #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
  1. sam deploy --guided --template template.yaml é o comando que você insere na linha de comando.

  2. sam deploy --guided --template deve ser fornecido como está.

  3. template.yaml pode ser substituído pelo nome de arquivo específico.

  4. A saída começa em Configuring SAM deploy.

  5. Na saída, ENTER e y indicam valores substituíveis que você fornece.