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 Archivo de configuración de la de
La interfaz de línea de AWS Serverless Application Model comandos (AWS SAM CLI) admite un archivo de configuración a nivel de proyecto que puede utilizar para configurar AWS SAM CLI valores de parámetros de comando.
Para obtener documentación sobre cómo crear y usar archivos de configuración, consulta Configuración de la AWS SAM de CLI.
Temas
Parámetros predeterminados del archivo de configuración
AWS SAM utiliza los siguientes parámetros del archivo de configuración por defecto:
-
Nombre:
samconfig
. -
Ubicación: en la raíz del proyecto. Es la misma ubicación que el archivo
template.yaml
. -
Format:
TOML
Para obtener más información, consulte TOMLen la TOML documentación.
A continuación se muestra un ejemplo de estructura de proyecto que incluye el nombre y la ubicación por defecto del archivo de configuración:
sam-app ├── README.md ├── __init__.py ├── events ├── hello_world ├── samconfig.toml ├── template.yaml └── tests
A continuación se muestra un ejemplo de un archivo 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
Formatos de archivo de configuración admitidos
Los formatos admitidos son TOML
y [YAML|YML]
. Consulte la siguiente sintaxis básica:
TOML
version = 0.1 [
environment
] [environment
.command
] [environment
.command
.parameters]option
=parameter value
YAML
version: 0.1
environment
:command
: parameters:option
:parameter value
Especificar un archivo de configuración
De forma predeterminada, el AWS SAM CLI busca un archivo de configuración en el siguiente orden:
-
Archivo de configuración personalizado: si utiliza la
--config-file
opción para especificar un nombre y una ubicación de archivo, AWS SAM CLI busca primero este archivo. -
Archivo predeterminado
samconfig.toml
: este es el nombre y el formato del archivo de configuración predeterminados y se encuentra en la raíz del proyecto. Si no especifica un archivo de configuración personalizado, el AWS SAM CLI busca este archivo a continuación. -
samconfig.[yaml|yml]
archivo: sisamconfig.toml
no existe en la raíz del proyecto, el AWS SAM CLI busca este archivo.
El siguiente es un ejemplo de cómo se especifica un archivo de configuración personalizado mediante la opción --config-file
:
$
sam deploy --config-file myconfig.yaml
nota
El --config-file
parámetro debe ser relativo a la ubicación del archivo de AWS SAM plantilla porque AWS SAM CLI debe determinar el contexto en el que se aplica la configuración. El samconfig.toml
archivo administra los ajustes de configuración de su versión del AWS SAM CLI, y CLI busca el samconfig.toml
archivo (o el parámetro del archivo de configuración anulado) en la carpeta relativa del template.yaml
archivo.
Fundamentos de los archivos de configuración
Entorno
Un entorno es un identificador con nombre que contiene un conjunto único de valores de configuración. Puede tener varios entornos en una sola AWS SAM aplicación.
El valor predeterminado del nombre del entorno es default
.
Utilice el AWS SAM CLI --config-env
opción para especificar el entorno que se va a utilizar.
Comando
El comando es el AWS SAM CLI comando para especificar los valores de los parámetros.
Para especificar los valores de los parámetros de todos los comandos, utilice el identificador global
.
Al hacer referencia a un AWS SAM CLI comando, sustituya los espacios (
) y los guiones () por guiones bajos (–
). _
Consulte los siguientes ejemplos:
-
build
-
local_invoke
-
local_start_api
Parámetros
Los parámetros se especifican como pares de clave-valor.
-
La clave es la AWS SAM CLI nombre de la opción de comando.
-
El valor es el valor que se debe especificar.
Al especificar las claves, utilice el nombre de la opción de comando de formato largo y sustituya los guiones (–
) por guiones bajos (_
). A continuación se muestran algunos ejemplos:
-
region
-
stack_name
-
template_file
Reglas del valor del parámetro
TOML
-
Los valores booleanos pueden ser
true
ofalse
. Por ejemplo,confirm_changeset = true
. -
Para los valores de cadena, utilice comillas (
""
). Por ejemplo,region = "us-west-2"
. -
Para los valores de lista, utilice comillas (
""
) y separe cada valor con un espacio (capabilities = "CAPABILITY_IAM CAPABILITY_NAMED_IAM"
. -
En el caso de los valores que contienen una lista de pares clave-valor, los pares están delimitados por espacios (
\" \"
). Por ejemplo,tags = "project=\"my-application\" stage=\"production\""
. -
En el caso de los valores de los parámetros que se pueden especificar varias veces, el valor es una matriz de argumentos. Por ejemplo:
image_repositories = ["my-function-1=image-repo-1", "my-function-2=image-repo-2"]
.
YAML
-
Los valores booleanos pueden ser
true
ofalse
. Por ejemplo,confirm_changeset: true
. -
Para las entradas que contienen un único valor de cadena, las comillas (
""
) son opcionales. Por ejemplo,region: us-west-2
. Esto incluye las entradas que contienen varios pares clave-valor que se proporcionan como una sola cadena. A continuación, se muestra un ejemplo:$
sam deploy --tags "foo=bar hello=world"
default: deploy: parameters: tags: foo=bar hello=world
-
Para las entradas que contienen una lista de valores o las entradas que se pueden usar varias veces en un solo comando, especifíquelas como una lista de cadenas.
A continuación, se muestra un ejemplo:
$
sam remote invoke --parameter "InvocationType=Event" --parameter "LogType=None"
default: remote_invoke: parameter: - InvocationType=Event - LogType=None
Prioridad de configuración
Al configurar los valores, se produce la siguiente prioridad:
-
Los valores de los parámetros que se proporcionan en la línea de comandos tienen prioridad sobre los valores correspondientes del archivo de configuración y de la sección
Parameters
del archivo de plantilla. -
Si la opción
--parameter-overrides
se usa en la línea de comandos o en el archivo de configuración con la claveparameter_overrides
, sus valores tienen prioridad sobre los valores de la secciónParameters
del archivo de plantilla. -
En el archivo de configuración, las entradas proporcionadas para un comando específico tienen prioridad sobre las entradas globales. En el siguiente ejemplo, el comando
sam deploy
utilizará el nombre de la pilamy-app-stack
.
Crear y modificar archivos de configuración
Creación de archivos de configuración
Al crear una aplicación utilizando sam init
, se crea un archivo samconfig.toml
predeterminado. También puede crear su archivo de configuración manualmente.
Modificación de los archivos de configuración
También puede modificar su archivo de configuración manualmente. Además, durante cualquier AWS SAM CLI flujo interactivo, los valores configurados se mostrarán entre corchetes ([ ]
). Si modifica estos valores, el AWS SAM CLI actualizará el archivo de configuración.
A continuación, se muestra un ejemplo de flujo interactivo con el comando 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
Al modificar el archivo de configuración, el AWS SAM CLI gestiona los valores globales de la siguiente manera:
-
Si el valor del parámetro existe en la
global
sección del archivo de configuración, AWS SAM CLI no escribe el valor en la sección de comandos específica. -
Si el valor del parámetro existe tanto en la
global
sección de comandos como en la sección de comandos específica, AWS SAM CLI elimina la entrada específica en favor del valor global.