sam build - 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.

sam build

Esta página proporciona información de referencia para el AWS Serverless Application Model comando Command Line Interface (AWS SAMCLI)sam build.

El comando sam build prepara una aplicación para los pasos posteriores del flujo de trabajo del desarrollador, como las pruebas locales o la implementación en Nube de AWS.

Uso

$ sam build <arguments> <options>

Argumentos

ID de recurso

Opcional. Indica AWS SAM que se cree un único recurso declarado en una AWS SAM plantilla. Los artefactos de compilación del recurso especificado serán los únicos disponibles para los siguientes comandos del flujo de trabajo, es decir, sam package y sam deploy.

Opciones

--base-dir, -s DIRECTORY

Resuelve las rutas relativas al código fuente de la función o capa con respecto a este directorio. Utilice esta opción si desea cambiar la forma en que se resuelven las rutas relativas a las carpetas de código fuente. De forma predeterminada, las rutas relativas se resuelven con respecto a la ubicación de la plantilla de AWS SAM .

Además de los recursos de la aplicación o pila raíz que está creando, esta opción también se aplica a las aplicaciones o pilas anidadas.

Esta opción se aplica a los siguientes tipos y propiedades de recursos:

  • Tipo de recurso: AWS::Serverless::Function Propiedad: CodeUri

  • Tipo de recurso: AWS::Serverless::Function Atributo de recurso: Metadata Entrada: DockerContext

  • Tipo de recurso: AWS::Serverless::LayerVersion Propiedad: ContentUri

  • Tipo de recurso: AWS::Lambda::Function Propiedad: Code

  • Tipo de recurso: AWS::Lambda::LayerVersion Propiedad: Content

--beta-features | --no-beta-features

Permitir o denegar las características beta.

--build-dir, -b DIRECTORY

La ruta a un directorio en el que se almacenan los artefactos creados. Este directorio y todo su contenido se eliminan con esta opción.

--build-image TEXT

URI de la imagen del contenedor que quiere extraer para la compilación. De forma predeterminada, AWS SAM extrae la imagen del contenedor de Amazon ECR Public. Utilice esta opción para extraer la imagen desde otra ubicación.

Puede especificar esta opción varias veces. Cada instancia de esta opción puede tomar una cadena o un par clave-valor. Si especifica una cadena, será el URI de la imagen del contenedor que se usará para todos los recursos de la aplicación. Por ejemplo, sam build --use-container --build-image amazon/aws-sam-cli-build-image-python3.8. Si especifica un par clave-valor, la clave es el nombre del recurso y el valor es el URI de la imagen del contenedor que se va a usar para ese recurso. Por ejemplo, sam build --use-container --build-image Function1=amazon/aws-sam-cli-build-image-python3.8. Con los pares clave-valor, puede especificar distintas imágenes del contenedor para distintos recursos.

Esta opción solo se aplica si se especifica la opción --use-container; de lo contrario, se producirá un error.

--build-in-source | --no-build-in-source

Proporcione --build-in-source para compilar el proyecto directamente en la carpeta de origen.

La opción --build-in-source admite los siguientes tiempos de ejecución y métodos de compilación:

  • Tiempos de ejecución: cualquier tiempo de ejecución Node.js compatible con la opción sam init --runtime.

  • Métodos de compilación: Makefile, esbuild.

La opción --build-in-source no es compatible con las siguientes opciones:

  • --hook-name

  • --use-container

Valor predeterminado: --no-build-in-source

--cached | --no-cached

Habilitar o desactivar las compilaciones en caché. Usa esta opción para reutilizar los artefactos de compilación que no hayan cambiado con respecto a compilaciones anteriores. AWS SAM evalúa si ha cambiado algún archivo del directorio del proyecto. De forma predeterminada, las compilaciones no se almacenan en caché. Si se invoca la opción --no-cached, anula la configuración cached = true de samcofig.toml.

nota

AWS SAM no evalúa si ha cambiado los módulos de terceros de los que depende su proyecto si no ha proporcionado una versión específica. Por ejemplo, si tu función de Python incluye un requirements.txt archivo con la entrada requests=1.x y la última versión del módulo de solicitud cambia de 1.1 a1.2, AWS SAM no extraerá la última versión hasta que ejecutes una compilación no almacenada en caché.

--cache-dir

El directorio en el que se almacenan los artefactos de la caché cuando se especifica --cached. El directorio predeterminado de la caché es .aws-sam/cache.

--config-env TEXT

El nombre del entorno que especifica los valores de los parámetros predeterminados del archivo de configuración que se va a utilizar. El valor por defecto es “predeterminado”. Para obtener más información sobre los archivos de configuración, consulte Archivo de configuración de la CLI de AWS SAM.

--config-file PATH

La ruta y el nombre del archivo de configuración que contiene los valores de parámetros predeterminados que se van a utilizar. El valor por defecto es “samconfig.toml” en la raíz del directorio del proyecto. Para obtener más información sobre los archivos de configuración, consulte Archivo de configuración de la CLI de AWS SAM.

--container-env-var, -e TEXT

Las variables de entorno que transferir al contenedor de compilaciones. Puede especificar esta opción varias veces. Cada instancia de esta opción utiliza un par clave-valor, donde la clave es la variable de recurso y entorno, y el valor es el valor de la variable de entorno. Por ejemplo: --container-env-var Function1.GITHUB_TOKEN=TOKEN1 --container-env-var Function2.GITHUB_TOKEN=TOKEN2.

Esta opción solo se aplica si se especifica la opción --use-container; de lo contrario, se producirá un error.

--container-env-var-file, -ef PATH

La ruta y el nombre de un archivo JSON que contiene valores para las variables de entorno del contenedor. Para obtener más información sobre archivos de variable de entorno del contenedor, consulte Archivo de variables del entorno del contenedor..

Esta opción solo se aplica si se especifica la opción --use-container; de lo contrario, se producirá un error.

--debug

Activa el registro de depuración para imprimir los mensajes de depuración que genera la CLI de AWS SAM y para mostrar las marcas temporales.

--docker-network TEXT

Especifica el nombre o el ID de una red de Docker existente a la que deben conectarse los contenedores de Docker , junto con la red en modo puente predeterminada. Si no se especifica, los contenedores de Lambda se conectan únicamente a la red Docker en modo puente predeterminada.

--exclude, -x

El nombre de los recursos que se van a excluir de sam build. Por ejemplo, si su plantilla contiene Function1, Function2 y Function3 y usted ejecuta sam build --exclude Function2, solo se compilarán Function1 y Function3.

--help

Muestra este mensaje y sale.

--hook-name TEXT

El nombre del enlace que se utiliza para ampliar la funcionalidad de la CLI de AWS SAM.

Valores aceptados: terraform.

--manifest , -m PATH

La ruta a un archivo de manifiesto de dependencias personalizado (por ejemplo, package.json) para usarlo en lugar del predeterminado.

--parallel

Compilaciones paralelas habilitadas. Utilice esta opción para crear las funciones y capas de la AWS SAM plantilla en paralelo. De forma predeterminada, las funciones y las capas se crean en secuencia.

--parameter-overrides

(Opcional) Una cadena que contiene anulaciones de AWS CloudFormation parámetros codificadas como pares clave-valor. Usa el mismo formato que (). AWS Command Line Interface AWS CLI Por ejemplo: 'ParameterKey=KeyPairName, ParameterValue=MyKey ParameterKey=InstanceType, ParameterValue=t1.micro'. Esta opción no es compatible con --hook-name.

--profile TEXT

El perfil específico del archivo de credenciales que recibe AWS las credenciales.

--region TEXT

El en el Región de AWS que se va a implementar. Por ejemplo, us-east-1.

--save-params

Guarde los parámetros que proporcione en la línea de comandos en el archivo AWS SAM de configuración.

--skip-prepare-infra

Omite la fase de preparación si no se ha realizado ningún cambio en la infraestructura. Ejecute con la opción --hook-name.

--skip-pull-image

Especifica si el comando debe omitir la extracción de la última imagen de Docker para el tiempo de ejecución de Lambda.

--template-file, --template, -t PATH

La ruta y el nombre del archivo de AWS SAM plantilla[default: template.[yaml|yml]]. Esta opción no es compatible con --hook-name.

--terraform-project-root-path

La ruta relativa o absoluta al directorio de nivel superior que contiene los archivos de configuración de Terraform o el código fuente de la función. Si estos archivos se encuentran fuera del directorio que contiene el módulo raíz de Terraform, utilice esta opción para especificar su ruta absoluta o relativa. Esta opción requiere que --hook-name se establezca en terraform.

--use-container, -u

Si las funciones dependen de paquetes que tienen dependencias compiladas de forma nativa, utilice esta opción para crear la función dentro de un contenedor de Docker tipo Lambda.