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.
compilación de sam
Esta página proporciona información de referencia para el AWS Serverless Application Model comando de la interfaz de línea de sam build comandos (AWS SAMCLI).
-
Para obtener una introducción al AWS SAMCLI, consulte ¿Qué es el AWS SAM CLI?
-
Para obtener documentación sobre el uso del AWS SAMCLI
sam buildcomando, consulteIntroducción a la construcción con AWS SAM.
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.
De uso
$sam build<arguments><options>
Argumentos
- Resource ID (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 packageysam deploy.
Opciones
--base-dir, -sDIRECTORY-
Resuelve las rutas relativas al código fuente de la función o capa con respecto a este directorio. Utiliza 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::FunctionPropiedad:CodeUri -
Tipo de recurso:
AWS::Serverless::FunctionAtributo de recurso:MetadataEntrada:DockerContext -
Tipo de recurso:
AWS::Serverless::LayerVersionPropiedad:ContentUri -
Tipo de recurso:
AWS::Lambda::FunctionPropiedad:Code -
Tipo de recurso:
AWS::Lambda::LayerVersionPropiedad:Content
-
--beta-features | --no-beta-features-
Permitir o denegar las características beta.
--build-dir, -bDIRECTORY-
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-imageTEXT-
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. Utiliza esta opción para extraer la imagen desde otra ubicación.
Puedes especificar esta opción varias veces. Cada instancia de esta opción puede tomar una cadena o un par clave-valor. Si especificas 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 especificas 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-
Proporciona
--build-in-sourcepara compilar el proyecto directamente en la carpeta de origen.La opción
--build-in-sourceadmite 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-sourceno 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 artefactos de compilación que no hayan cambiado con respecto a compilaciones anteriores. AWS SAM evalúa si has cambiado algún archivo del directorio de tu proyecto. De forma predeterminada, las compilaciones no se almacenan en caché. Si se invoca la opción
--no-cached, anula la configuracióncached = truede 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.txtarchivo con la entradarequests=1.xy la última versión del módulo de solicitud cambia de1.1a1.2, AWS SAM no extraerá la última versión hasta que ejecutes una compilación que no esté 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-envTEXT-
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, consulta Archivo de configuración de la CLI de AWS SAM.
--config-filePATH-
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, consulta Archivo de configuración de la CLI de AWS SAM. --container-env-var, -eTEXT-
Las variables de entorno que transferir al contenedor de compilaciones. Puedes 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, -efPATH-
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, consulta 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-networkTEXT-
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 tu plantilla contieneFunction1,Function2yFunction3y usted ejecutasam build --exclude Function2, solo se compilaránFunction1yFunction3. --help-
Muestra este mensaje y sale.
--hook-nameTEXT-
El nombre del enlace que se utiliza para ampliar la funcionalidad de la CLI de AWS SAM.
Valores aceptados:
terraform. --manifest , -mPATH-
La ruta a un archivo de manifiesto de dependencias personalizado (por ejemplo, package.json) para usarlo en lugar del predeterminado.
--mount-symlinks-
Garantiza que la CLI de AWS SAM siempre monte los enlaces simbólicos que están presentes en los archivos para compilarlos o invocarlos. Esto solo se aplica a los enlaces simbólicos del directorio de nivel superior (es decir, los que se encuentran directamente en la raíz de la función). Por defecto, los enlaces simbólicos no se montan, excepto los necesarios para utilizar
build-in-sourceparanode_modulesen NodeJS. --no-use-container-
Una opción que permite usar el kit de herramientas de IDE para establecer el comportamiento predeterminado. También puede utilizar
sam build --no-use-containerpara ejecutar una compilación en su máquina local en lugar de en un contenedor de Docker. --output[ text | json ]-
El formato del resultado del comando:
-
text— Imprime un resultado normal y legible por humanos. Este es el valor predeterminado. -
json— Imprime resultados estructurados y legibles por máquina. Utilice este formato cuando desee consumir el resultado mediante programación, por ejemplo, en CI/CD canalizaciones, extensiones de IDE y herramientas. AI-assisted
Cuando lo especificas
--output json, AWS SAMCLI imprime un único objeto JSON una vez finalizado el comando. En caso de éxito, este objeto incluye campos como el estado de compilación, el directorio de compilación, el archivo de plantilla y una lista de los recursos que se crearon. En caso de error, incluye unerrorobjeto que describe lo que ha fallado. -
--parallel-
Habilitar compilaciones paralelas. Usa esta opción para crear las funciones y capas de tu 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 CloudFormation parámetros codificadas como pares clave-valor. Usa el mismo formato que (). AWS Command Line Interface AWS CLI Por ejemplo: '
ParameterKey=KeyPairName,ParameterValue=MyKeyParameterKey=InstanceType,ParameterValue=t1.micro'. Esta opción no es compatible con--hook-name. --profileTEXT-
El perfil específico de su archivo de credenciales que obtiene AWS las credenciales.
--regionTEXT-
El lugar en el Región de AWS que realizar el despliegue. Por ejemplo, us-east-1.
--save-params-
Guarde los parámetros que proporciona 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. Ejecuta 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, -tPATH-
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-namese establezca enterraform. --use-buildkit | --no-use-buildkit-
Activa o desactiva el uso del BuildKit complemento para la creación de imágenes de contenedores. Esto usará el Finch o DockerCLIs. De forma predeterminada, las compilaciones utilizan el generador heredado del SDK. Si se invoca la opción
--no-use-buildkit, anula la configuraciónuse-buildkit = truede samcofig.toml. --use-container,-u-
Si tus funciones dependen de paquetes que tienen dependencias compiladas de forma nativa, usa esta opción para crear tu función dentro de un Lambda-like contenedor Docker.
Ejemplo
Para ver un ejemplo y un tutorial detallados sobre el uso del subcomando sam build, consulte Introducción a la construcción con AWS SAM.