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

Le permite invocar la función Lambda de forma programática de forma local mediante elAWS CLIo SDK de. Este comando inicia un endpoint local que emulaAWS Lambda.

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.

Puede ejecutar las pruebas automatizadas en este extremo Lambda local. Cuando envía una invocación a este endpoint mediante elAWS CLIo SDK, ejecuta localmente la función Lambda especificada en la solicitud.

Uso:

sam local start-lambda [OPTIONS]

Ejemplos:

# SETUP # ------ # Start the local Lambda endpoint by running this command in the directory that contains your AWS SAM template. sam local start-lambda # USING AWS CLI # ------------- # Then, you can invoke your Lambda function locally using the AWS CLI aws lambda invoke --function-name "HelloWorldFunction" --endpoint-url "http://127.0.0.1:3001" --no-verify-ssl out.txt # USING AWS SDK # ------------- # You can also use the AWS SDK in your automated tests to invoke your functions programatically. # Here is a Python example: # # self.lambda_client = boto3.client('lambda', # endpoint_url="http://127.0.0.1:3001", # use_ssl=False, # verify=False, # config=Config(signature_version=UNSIGNED, # read_timeout=0, # retries={'max_attempts': 0})) # self.lambda_client.invoke(FunctionName="HelloWorldFunction")

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: '3001').
-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 El 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 va a 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 de, junto con la red en modo puente predeterminada. Si 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.
--invoke-image TEXT

URI de la imagen de contenedor que desea utilizar para la invocación de funciones locales. Por defecto,AWS SAMExtracción de la imagen de contenedor de Amazon ECR Public. Utilice esta opción para extraer la imagen de otra ubicación.

Por ejemplo, sam local start-lambda MyFunction --invoke-image amazon/aws-sam-cli-emulation-image-python3.8.

--skip-pull-image Especifica si la CLI debe omitir la extracción de la última imagen Docker para el tiempo de ejecución de Lambda.
--force-image-build Especifique si la CLI debe regenerar la imagen utilizada para invocar funciones con capas.
--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 del archivo de configuración que contiene los valores de parámetro 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 se cierra.