sam local start-api - 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 local start-api

Le permite ejecutar su aplicación sin servidor localmente para un desarrollo y pruebas rápidos. Cuando ejecuta este comando en un directorio que contiene sus funciones sin servidor y suAWS SAM, crea un servidor HTTP local que aloja todas las funciones de.

De forma predeterminada, cuando se utiliza este comando, elAWS SAMCLI supone que el directorio de trabajo actual es el directorio raíz de su proyecto. LaAWS SAMEn primer lugar, la CLI intenta localizar un archivo de plantilla creado mediante elsam build, que se encuentra en el.aws-samsubcarpeta y con nombretemplate.yamlotemplate.yml. A continuación, elAWS SAMCLI intenta localizar un archivo de plantilla denominadotemplate.yamlotemplate.ymlen el directorio de trabajo actual. Si especifica el--templateopción,AWS SAMEl comportamiento predeterminado de la CLI se anulará y se cargará precisamente esoAWS SAMplantilla y los recursos locales a los que apunta.

Cuando se accede a él (a través de un navegador, CLI, etc.), inicia un contenedor Docker localmente para invocar la función. Lee la propiedad CodeUri delAWS::Serverless::Functionrecurso para encontrar la ruta del sistema de archivos que contiene el código de la función Lambda. Este podría ser el directorio raíz del proyecto para los lenguajes interpretados como Node.js y Python, o un directorio de compilación que almacena los artefactos compilados o un archivo Java Archive (JAR).

Si utiliza un lenguaje interpretado, las modificaciones locales estarán disponibles inmediatamente en el contenedor Docker de cada invocación. Para los lenguajes compilados o los proyectos que requieran un soporte de empaquetado complejo, recomendamos que ejecute su propia solución de construcción y queAWS SAMal directorio o archivo que contiene los artefactos de compilación.

Para ver un ejemplo integral que utiliza este comando, consulteTutorial: Implementar una aplicación Hello World. Lasam local start-apiEl comando forma parte dePaso 4: (Opcional) Pruebe la aplicación de forma local.

Uso:

sam local start-api [OPTIONS]

Opciones:

Opción Descripción
--host TEXT El nombre de host local o la dirección IP a la que se va a enlazar (predeterminado: '127.0.0.1').
-p, --port INTEGER El número de puerto local en el que se va a escuchar (predeterminado: '3000').
-s, --static-dir TEXT Todos los archivos de activos estáticos (por ejemplo, CSS/JavaScript/HTML) ubicados en este directorio se presentan en /.
-t, --template PATH LaAWS SAMarchivo de plantilla de.

Nota: Si especifica esta opción,AWS SAMcarga solo la plantilla y los recursos locales a los que apunta.

-n, --env-vars PATH Archivo JSON que contiene los valores de las variables de entorno de la función Lambda.
--parameter-overrides Opcional. Una cadena que contieneAWS CloudFormationreemplazos de parámetros codificados como pares clave-valor. Utilice el mismo formato que elAWS CLI—por ejemplo, 'ParameterKey=KeyPairName, parameterValue=myKey parametKey=InstanceType, parameterValue=T1.micro'.
-d, --debug-port TEXT Cuando se especifica, inicia el contenedor de funciones Lambda en modo de depuración y expone este puerto en el host local.
--debugger-path TEXT Ruta de host a un depurador que se montará en el contenedor Lambda.
--debug-args TEXT Argumentos adicionales que se transferirán al depurador.
--warm-containers [EAGER | LAZY]

Opcional. Especifica cómoAWS SAMCLI administra los contenedores para cada función.

Hay dos opciones de disponibles:

   EAGER: Los contenedores de todas las funciones se cargan al inicio y persisten entre invocaciones.

   LAZY: Los contenedores solo se cargan cuando se invoca por primera vez cada función. Esos contenedores persisten para invocaciones adicionales.

--debug-function

Opcional. Especifica la función Lambda a la que se aplicarán opciones de depuración cuando--warm-containersse especifica. Este parámetro se aplica a--debug-port,--debugger-path, y--debug-args.

-v, --docker-volume-basedir TEXT La ubicación del directorio base en el que seAWS SAMel archivo existe. Si Docker se está ejecutando en un equipo remoto, debe montar la ruta donde elAWS SAMexiste en el equipo Docker y modifique este valor para que coincida con el equipo remoto.
--docker-network TEXT El nombre o ID de una red Docker existente a la que deben conectarse los contenedores de Lambda Docker, junto con la red en modo puente predeterminada. Si no se especifica, los contenedores Lambda se conectan solo a la red Docker en modo puente predeterminada.
--container-env-vars Opcional. Transfiera variables de entorno al contenedor de imágenes al depurar localmente.
-l, --log-file TEXT El archivo de registro al que enviar registros en tiempo de ejecución.
--layer-cache-basedir DIRECTORY Especifica el identificador basado en la ubicación en la que se descargan las capas que utiliza la plantilla.
--skip-pull-image Especifica si la CLI debe omitir la extracción de la última imagen de Docker para el tiempo de ejecución de Lambda.
--force-image-build Especifica si la CLI debe regenerar la imagen utilizada para invocar funciones con capas.
--invoke-image TEXT

URI de la imagen de contenedor que desea utilizar para las funciones de Lambda. Por defecto,AWS SAMextrae la imagen del contenedor de Amazon ECR Public. Utilice esta opción para extraer la imagen de 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, es el URI de la imagen contenedor que se utilizará para todas las funciones de la aplicación. Por ejemplo, sam local start-api --invoke-image public.ecr.aws/sam/emu-python3.8. Si especifica un par clave-valor, la clave es el nombre del recurso y el valor es el URI de la imagen contenedor que se va a utilizar para ese recurso. Por ejemplo sam local start-api --invoke-image public.ecr.aws/sam/emu-python3.8 --invoke-image Function1=amazon/aws-sam-cli-emulation-image-python3.8 . Con los pares clave-valor, puede especificar imágenes de contenedores diferentes para distintos recursos.

--profile TEXT El perfil específico del archivo de credenciales que obtieneAWSCredenciales de .
--region TEXT LaAWSRegión en la que desea implementar. Por ejemplo, us-east-1.
--config-file PATH Ruta y nombre de archivo del archivo de configuración que contiene los valores de parámetros predeterminados que se utilizarán. El valor predeterminado es «samconfig.toml» en la raíz del directorio del proyecto. Para obtener más información sobre los archivos de configuración, consulte AWS SAMArchivo de configuración de la CLI.
--config-env TEXT El nombre del entorno que especifica los valores de parámetros predeterminados en el archivo de configuración que se va a utilizar. El valor predeterminado es «default». Para obtener más información sobre los archivos de configuración, consulte AWS SAMArchivo de configuración de la CLI.
--shutdown Emula un evento de apagado una vez finalizada la invocación, para probar el manejo de extensiones del comportamiento de apagado.
--container-host TEXT Anfitrión de contenedores Lambda emulados localmente. El valor predeterminado es localhost. Si quieres correrAWS SAMCLI en un contenedor Docker en macOS, puede especificarhost.docker.internal. Si desea ejecutar el contenedor en un host distinto deAWS SAMCLI, puede especificar la dirección IP del host remoto.
--container-host-interface TEXT Dirección IP de la interfaz de red host a la que deben vincularse los puertos de contenedor. El valor predeterminado es 127.0.0.1. Usar0.0.0.0para enlazar a todas las interfaces.
--debug Activa el registro de depuración para imprimir el mensaje de depuración generado por elAWS SAMCLI y marcas de hora de visualización.
--help Muestra este mensaje y termina.