Configuración de la AWS SAM de 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.

Configuración de la AWS SAM de CLI

Una de las ventajas de AWS SAM es que optimiza el tiempo del desarrollador al eliminar las tareas repetitivas. La CLI de AWS SAM incluye un archivo de configuración denominado samconfig con esta finalidad. De forma predeterminada, no es necesaria ninguna configuración de la CLI de AWS SAM, pero puede actualizar el archivo de configuración para poder ejecutar comandos con menos parámetros y, en su lugar, permitir que AWS SAM haga referencia a los parámetros personalizados del archivo de configuración. En los ejemplos de la siguiente tabla se muestra cómo se pueden optimizar los comandos:

Original

Optimización con 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

La CLI de AWS SAM proporciona un conjunto de comandos para ayudar a los desarrolladores a crear, desarrollar e implementar aplicaciones sin servidor. Cada uno de estos comandos se puede configurar con indicadores opcionales según las preferencias de la aplicación y del desarrollador. Para obtener más información, consulta el contenido sobre la CLI de AWS SAM en GitHub.

En los temas de esta sección se indica cómo crear su Archivo de configuración de la CLI de AWS SAM y personalizar su configuración predeterminada para optimizar el tiempo de desarrollo de su aplicación sin servidor.

Cómo crear el archivo de configuración (el archivo samconfig)

El archivo de la CLI de AWS SAM (nombre de archivo: samconfig) es un archivo de texto que normalmente utiliza la estructura TOML, pero también puede estar en YAML. Cuando se utiliza una plantilla de inicio rápido de AWS, este archivo se crea al ejecutar el comando sam init. Puede actualizar este archivo al implementar una aplicación mediante el comando sam deploy -\-guided.

Una vez completada la implementación, el archivo samconfig contiene un perfil con el nombre default si utilizó los valores predeterminados. Al volver a ejecutar el comando deploy, AWS SAM aplica las opciones de configuración almacenadas en este perfil.

La ventaja del archivo samconfig es que AWS SAM almacena los ajustes de configuración de cualquier otro comando disponible además del comando de implementación. Además de estos valores creados en una nueva implementación, hay una serie de atributos que puede configurar en el archivo samconfig para simplificar otros aspectos del flujo de trabajo del desarrollador para la CLI de AWS SAM.

Configurar los ajustes del proyecto

Puedes especificar los ajustes específicos del proyecto, como los valores de los parámetros de comando de la CLI de AWS SAM , en un archivo de configuración para usarlo con la CLI de AWS SAM. Para obtener más información acerca de este archivo de configuración, consulta Archivo de configuración de la CLI de AWS SAM.

Uso de archivos de configuración

Los archivos de configuración se estructuran por entorno, comando y valor de parámetro. Para obtener más información, consulta Fundamentos de los archivos de configuración.

Para configurar un nuevo entorno
  1. Especifica el entorno que se va a utilizar en el archivo de configuración de .

    El siguiente es un ejemplo de cómo especificar un entorno prod nuevo:

    TOML
    [prod.global.parameters]
    YAML
    prod: global: parameters:
  2. Especifica los valores de los parámetros como pares clave-valor en la sección de parámetros del archivo de configuración.

    A continuación, se muestra un ejemplo de cómo especificar el nombre de la pila de la aplicación para el entorno prod.

    TOML
    [prod.global.parameters]
    stack_name = "prod-app"
    YAML
    prod: global: parameters: stack_name: prod-app
  3. Utiliza la opción --config-env para especificar el entorno que se va a utilizar.

    A continuación, se muestra un ejemplo:

    $ sam deploy --config-env "prod"
Para configurar los valores de parámetros
  1. Especifica el comando de la CLI de AWS SAM para el que desea configurar los valores de los parámetros. Para configurar los valores de los parámetros de todos los comandos de la CLI de AWS SAM, utiliza el identificador global.

    El siguiente es un ejemplo de cómo especificar los valores de los parámetros para el comando sam deploy del entorno default:

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

    A continuación, se muestra un ejemplo de cómo especificar los valores de los parámetros para todos los comandos de la CLI de AWS SAM del entorno default:

    TOML
    [default.global.parameters]
    stack_name = "sam-app"
    YAML
    default: global: parameters: stack_name: sam-app
  2. También puede especificar los valores de los parámetros y modificar el archivo de configuración mediante el flujo interactivo de la CLI de AWS SAM.

    A continuación, se muestra un ejemplo de flujo interactivo con 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 obtener más información, consulta Crear y modificar archivos de configuración.

Ejemplos

Ejemplo básico TOML

A continuación, se muestra un ejemplo de un archivo de configuración de 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

Ejemplo básico YAML

A continuación, se muestra un ejemplo de un archivo de configuración de 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

Configura las credenciales y los ajustes básicos

Utiliza AWS Command Line Interface (AWS CLI) para configurar los ajustes básicos, como las credenciales AWS, el nombre de región predeterminado y el formato de salida predeterminado. Una vez configurados, puede usar estos ajustes con la CLI de AWS SAM. Para obtener más información, consulta lo siguiente en la Guía del usuario de AWS Command Line Interface:

Para obtener instrucciones de Quick Setup, consulta Paso 5: utilícelo AWS CLI para configurar AWS las credenciales.