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.
Tópicos
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 --templateConfiguring SAM deploy ====================== Looking for config file [samconfig.toml] : Found Reading default arguments : Success Setting default arguments for 'sam deploy' ========================================= Stack Name [sam-app]:template.yamlENTERAWS 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]:ENTERHelloWorldFunction may not have authorization defined, Is this okay? [y/N]:ySave arguments to configuration file [Y/n]:ENTERSAM configuration file [samconfig.toml]:ENTERSAM configuration environment [default]:ENTER
-
sam deploy --guided --template template.yamlé o comando que você insere na linha de comando. -
sam deploy --guided --templatedeve ser fornecido como está. -
template.yamlpode ser substituído pelo nome de arquivo específico. -
A saída começa em
Configuring SAM deploy. -
Na saída,
ENTEReyindicam valores substituíveis que você fornece.