AWS SAM CLI - AWS Serverless Application Model

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

AWS SAM CLI

La interfaz de línea de comandos de AWS Serverless Application Model (CLI de AWS SAM) es una herramienta de línea de comandos para el desarrollo local y las pruebas de aplicaciones sin servidor. La CLI de AWS SAM permite crear, transformar, implementar, depurar, empaquetar, inicializar y sincronizar aplicaciones sin servidor de forma local antes de implementarlas en la nube.

La CLI de AWS SAM funciona con aplicaciones sin servidor que se definen mediante diferentes marcos y herramientas de infraestructura como código (IaC), con distintos niveles de soporte:

  • Plantillas de AWS SAM: ofrecen soporte nativo con todo el conjunto de características, como las capacidades locales de prueba, depuración, empaquetado e implementación.

  • Aplicaciones de AWS CDK: admite pruebas locales de funciones de Lambda después de sintetizar la aplicación de AWS CDK en plantillas de CloudFormation mediante el comando cdk synth.

  • Plantillas de CloudFormation: ofrecen compatibilidad directa porque AWS SAM se extiende a CloudFormation y admite los recursos sin servidor que se definen en las plantillas de CloudFormation estándar.

  • Aplicaciones Terraform: brindan soporte limitado para la creación y las pruebas locales de funciones de Lambda. Requiere que se generen artefactos de la plantilla de AWS SAM que representen las funciones de Lambda definidas por Terraform.

Para obtener el soporte de características más completo y una experiencia de desarrollador optimizada, recomendamos usar plantillas nativas de AWS SAM.

Cómo se documentan los comandos CLI de AWS SAM.

Los comandos CLI de AWS SAM se documentan con el siguiente formato:

  • Solicitud: la solicitud de Linux está documentada de forma predeterminada y se muestra como ($ ). En los comandos específicos de Windows, (> ) se utiliza como símbolo del sistema. No incluya el símbolo al escribir comandos.

  • Directorio: cuando los comandos se deben ejecutar desde un directorio específico, el nombre del directorio se muestra antes del símbolo de comando.

  • Entrada del usuario: el texto del comando que se debe ingresar en la línea de comando se formatea como user input.

  • Texto reemplazable: el texto variable, como los nombres de los archivos y los parámetros, tiene el formato de texto reemplazable. En comandos de varias líneas o comandos en los que se requiere una entrada específica desde el teclado, la entrada de teclado también se puede mostrar como texto reemplazable. Por ejemplo, ENTER.

  • Salida: la salida devuelta como respuesta al comando tiene el formato de computer output.

El siguiente comando sam deploy y la salida son un ejemplo:

$ 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 es el comando que se introduce en la línea de comandos.

  2. sam deploy --guided --template debes proporcionarse tal cual.

  3. template.yaml se puede reemplazar con su nombre de archivo específico.

  4. La salida comienza en Configuring SAM deploy.

  5. En la salida, ENTER e y indican los valores reemplazables que usted proporciona.