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 SAMArchivo de configuración de la CLI
LaAWS SAMCLI admite un archivo de configuración a nivel de proyecto que almacena los parámetros predeterminados para sus comandos. Este archivo de configuración se encuentra en elFormato de archivo TOMLsamconfig.toml
. La ubicación predeterminada del archivo es el directorio raíz de su proyecto, que contiene elAWS SAMarchivo de plantilla de.
Puede editar manualmente este archivo para definir los parámetros predeterminados para cualquierAWS SAMCommand de la CLI. Además, elsam deploy --guided
escribe un subconjunto de parámetros en el archivo de configuración. Para obtener más información acerca de este comando, consulteEscritura de configuraciones consam deploy
--guidedmás adelante en este tema.
Ejemplo
A continuación se muestra un archivo de configuración de ejemplo que contiene tres conjuntos de parámetros para eldefault
entorno. Un conjunto es para todos los comandos, otro para eldeploy
y uno es para elbuild
comando.
version=0.1 [default.global.parameters] stack_name = "common-stack" [default.deploy.parameters] stack_name = "my-app-stack" s3_bucket = "my-source-bucket" s3_prefix = "my-s3-prefix" image_repositories = ["my-function-1=image-repo-1", "my-function-2=image-repo-2"] region = "us-west-2" confirm_changeset = true capabilities = "CAPABILITY_IAM" tags = "project=\"my-application\" stage=\"production\"" [default.build.parameters] container_env_var = ["Function1.GITHUB_TOKEN=TOKEN1", "Function2.GITHUB_TOKEN=TOKEN2"] container_env_var_file = "env.json" no_beta_features = true
Reglas de los archivos de configuración
LaAWS SAMCLI aplica las siguientes reglas a los archivos de configuración:
Nombre y ubicación del archivo
-
El archivo de configuración predeterminado se llama
samconfig.toml
y se encuentra en el directorio raíz del proyecto. -
Puede invalidar el nombre y la ubicación predeterminados del archivo usando el
--config-file
parámetro.
Tablas
-
LaAWS SAMCLI utiliza tablas TOML para agrupar las entradas de configuración por entorno y comando. Un único archivo de configuración puede contener tablas para varios entornos, comandos y subcomandos.
-
El nombre del entorno predeterminado se denomina
default
. Puede invalidar el nombre del entorno predeterminado usando el--config-env
parámetro. -
Para los comandos, el formato del encabezado de tabla es
[
. Por ejemplo, para elenvironment
.command
.parameters]sam deploy
comando para eldefault
entorno, el encabezado de la tabla de configuración es[default.deploy.parameters]
. -
Para los subcomandos, el formato del encabezado de tabla es
[
. Es decir, delimitar el comando y el subcomando conenvironment
.command
_subcommand
.parameters]_
(guion bajo). Por ejemplo, para elsam local invoke
comando para eldefault
entorno, el encabezado de la tabla de configuración es[default.local_invoke.parameters]
. -
Si algún comando o subcomando contiene un
-
(guión), sustitúyalo por_
(guion bajo). Por ejemplo, para elsam local start-api
, el encabezado de la tabla de configuración es[default.local_start_api.parameters]
. -
Para especificar parámetros para todos los comandos, utilice la
global
palabra clave como comando del encabezado de la tabla ([
). Por ejemplo, el encabezado de tabla global delenvironment
.global.parameters]default
el entorno es[default.global.parameters]
.
Entradas de configuración de
-
Cada entrada de configuración es un par clave-valor TOML.
-
La clave de configuración es el nombre del parámetro de formato largo con el
-
(guión) sustituido por_
(guion bajo). Para obtener la lista de parámetros disponibles para cada comando, consulte laAWS SAMReferencia de comandos de la CLIo ejecutesam
.command
--help -
El valor de configuración puede adoptar las formas siguientes:
-
Para los parámetros de alternancia, el valor puede ser
true
ofalse
(sin comillas). Por ejemplo,confirm_changeset = true
. -
Para los parámetros que toman un solo argumento, el valor es el argumento rodeado por
" "
(comillas). Por ejemplo,region = "us-west-2"
. -
Para los parámetros que toman una lista de argumentos, los argumentos están delimitados por espacios dentro
" "
(comillas). Por ejemplo,capabilities = "CAPABILITY_IAM CAPABILITY_NAMED_IAM"
.-
Para especificar una lista de pares clave-valor, los pares están delimitados por espacios y el valor de cada par está rodeado por codificación
" "
(comillas). Por ejemplo,tags = "project=\"my-application\" stage=\"production\""
.
-
-
Para los parámetros que puede 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"]
.
-
Prioridad
-
Los valores de parámetros que proporciona en la línea de comandos tienen prioridad sobre las entradas correspondientes del archivo de configuración. Por ejemplo, si el archivo de configuración contiene la entrada
stack_name = "DefaultStack"
y ejecute el comandosam deploy --stack-name MyCustomStack
, el nombre de la pila desplegada esMyCustomStack
. -
Para el registro
parameter_overrides
, tanto los valores de parámetro que se proporcionan en la línea de comandos como las entradas del archivo de configuración tienen prioridad sobre los objetos correspondientes declarados en elParameters
sección del archivo de plantilla de. -
Las entradas que proporciona en una tabla de comandos específica tienen prioridad sobre las entradas de un
global
sección de comandos. Supongamos, por ejemplo, que su archivo de configuración contiene las siguientes tablas y entradas:[default.global.parameters] stack_name = "common-stack" [default.deploy.parameters] stack_name = "my-app-stack"
En este caso, el campo
sam deploy
usa el nombre de la pilamy-app-stack
, y cualquier otro comando (por ejemplo,sam logs
) usa el nombre de la pilacommon-stack
.
Escritura de configuraciones consam deploy
--guided
Cuando ejecutas elsam deploy --guided
comando, elAWS SAMCLI le guía a lo largo de la implementación con una serie de solicitudes.
Estas indicaciones incluyen la pregunta"Save arguments to samconfig.toml
[Y/n]:"
. Si respondesY
a este mensaje, elAWS SAMCLI actualiza el archivo de configuración con valores para eldeploy
comando. Por ejemplo, para eldefault
entorno,AWS SAMactualiza el[default.deploy.parameters]
mesa.
La lista de entradas deldeploy
tabla de comandos queAWS SAMpuede actualizar incluye lo siguiente:
-
stack_name
-
s3_bucket
-
s3_prefix
-
image_repository
-
region
-
confirm_changeset
-
capabilities
-
signing_profiles
-
disable_rollback
-
parameter_overrides
nota Hay un caso especial para un archivo de configuración que contiene entradas para el mismo parámetro en ambos
deploy
yglobal
tablas de comandos. En este caso, si ejecutassam deploy --guided
y proporcione el mismo valor para ese parámetro que elglobal
entrada de tabla de comandos y, a continuación,deploy
se elimina la entrada de tabla de comandos.Especificando en el
sam deploy --guided
indicar el mismo valor que ya se ha especificado en elglobal
tabla de comandos,AWS SAMasume que desea utilizar de forma predeterminada el valor de laglobal
tabla de comandos.
Reglas para valores predeterminados de solicitud guiada
Para controlar los valores predeterminados de las solicitudes que elAWS SAMLa CLI se muestra cuando ejecutasam deploy --guided
, puede especificar parámetros en la línea de comandos o entradas de un archivo de configuración existente.
Las reglas de estas solicitudes son las siguientes:
-
Si especifica valores en la línea de comando, elAWS SAMCLI utiliza esos valores de línea de comandos como valores predeterminados para las solicitudes correspondientes.
-
Si hay un archivo de configuración existente, elAWS SAMCLI utiliza entradas de la tabla coincidente de ese archivo como valores predeterminados para las solicitudes correspondientes.
Las reglas de precedencia entre la línea de comandos y el archivo de configuración son las mismas que se indican en elPrioridadsección anterior en este tema.