sam local invoke - 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 invoke

Esta página proporciona información de referencia para el AWS Serverless Application Model sam local invoke subcomando de la interfaz de línea de comandos (AWS SAMCLI).

El sam local invoke subcomando inicia una invocación única de una función de forma local. AWS Lambda

nota

Para funciones duraderas, sam local invoke admite la ejecución con estado con puntos de control y reproducción automáticos. El contenedor permanece en funcionamiento durante la ejecución duradera de la función para gestionar la persistencia y la reanudación del estado.

De uso

$ sam local invoke <arguments> <options>
nota

Si tiene más de una función definida en la AWS SAM plantilla, proporcione el identificador lógico de la función que desee invocar.

Argumentos

Resource ID (ID de recurso)

El ID de la función de Lambda que se invocará.

Este argumento es opcional. Si la aplicación contiene una sola función Lambda, la AWS SAM CLI la invocará. Si la aplicación contiene varias funciones, proporciones el ID de la función que se va a invocar.

Valores válidos: el identificador lógico o el ARN del recurso.

Opciones

--add-host LIST

Pasa una asignación de nombre de host a dirección IP al archivo de host del contenedor de Docker. Este parámetro se puede pasar varias veces.

Ejemplo: --add-host example.com:127.0.0.1

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

Permitir o denegar las características beta.

--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, consulta 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, consulta Archivo de configuración de la CLI de AWS SAM.

--container-env-vars

(Opcional) Pase las variables de entorno al contenedor de imágenes de la función de Lambda al depurar localmente.

--container-host TEXT

Host del contenedor Lambda emulado localmente. El valor predeterminado es localhost. Si quiere ejecutar la CLI de AWS SAM en un contenedor Docker en macOS, puede especificar host.docker.internal. Si desea ejecutar el contenedor en un host diferente al de AWS SAMCLI, puede especificar la dirección IP del host remoto.

--container-host-interface TEXT

La dirección IP de la interfaz de red del host a la que deben enlazarse los puertos del contenedor. El valor predeterminado es 127.0.0.1. Utiliza 0.0.0.0 para enlazarse a todas las interfaces.

--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 horarias.

--debug-args TEXT

Argumentos opcionales que se pasan al depurador.

--debug-port, -d TEXT

Cuando se especifica, inicia el contenedor de funciones de Lambda en modo de depuración y expone este puerto en el host local.

--debugger-path TEXT

La ruta del host a un depurador montado en el contenedor de Lambda.

--docker-network TEXT

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

--docker-volume-basedir, -v TEXT

La ubicación del directorio base en el que se encuentra el AWS SAM archivo. Si Docker se ejecuta en una máquina remota, debe montar la ruta en la que se encuentra el AWS SAM archivo en la máquina Docker y modificar este valor para que coincida con la máquina remota.

--durable-execution-name TEXT

Nombre de la ejecución duradera (solo para funciones duraderas)

--env-vars, -n PATH

Archivo JSON que contiene valores para las variables de entorno de la función de Lambda. Para obtener más información sobre los archivos de variable de entorno, consulta Archivo de variables de entorno.

--event, -e PATH

El archivo JSON que contiene los datos de eventos que se pasan a la función de Lambda cuando se invoca. Si no especifica esta opción, no se asume ningún evento. Para introducir JSON desde stdin, debe introducir el valor «-». Para obtener más información sobre los formatos de los mensajes de eventos de AWS los distintos servicios, consulte Trabajar con otros servicios en la Guía para AWS Lambda desarrolladores.

--force-image-build

Especifica si la CLI de AWS SAM debe reconstruir la imagen utilizada para invocar funciones de Lambda con capas.

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

--invoke-image TEXT

El URI de la imagen del contenedor que quieres usar para la invocación de la función local. De forma predeterminada, AWS SAM extrae la imagen del contenedor de Amazon ECR Public (que están listadas en Repositorios de imágenes para AWS SAM). Utiliza esta opción para extraer la imagen desde otra ubicación.

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

--layer-cache-basedir DIRECTORY

Especifica la ubicación del directorio base en el que se descargan las capas que utiliza la plantilla.

--log-file, -l TEXT

El archivo de registro al que se van a enviar los registros de tiempo de ejecución.

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-source para node_modules en NodeJS.

--no-event

Invoca la función con un evento vacío.

--no-memory-limit

Elimina la limitación de memoria en el contenedor durante la invocación local, incluso cuando la memoria está configurada en la AWS SAM plantilla.

--parameter-overrides

Cadena que contiene anulaciones de CloudFormation parámetros codificadas como pares clave-valor. Usa el mismo formato que (). AWS Command Line Interface AWS CLI El formato de la CLI de AWS SAM es de palabras clave y de valor explícitas, y cada modificación está separada por un espacio. A continuación, se incluyen dos ejemplos:

  • --parameter-overrides ParameterKey=hello,ParameterValue=world

  • --parameter-overrides ParameterKey=hello,ParameterValue=world ParameterKey=example1,ParameterValue=example2 ParameterKey=apple,ParameterValue=banana

--profile TEXT

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

--region TEXT

La AWS región en la que se va a realizar el despliegue. Por ejemplo, us-east-1.

--runtime TEXT

Utiliza el tiempo de ejecución especificado para invocar una función de Lambda de forma local. Esto anula el tiempo de ejecución definido en el archivo template.yml. Esto también permite probar funciones de Lambda con diferentes tiempos de ejecución sin modificar la configuración original de la función.

--save-params

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

--shutdown

Emula un evento de apagado una vez finalizada la invocación, para probar la forma en que la extensión gestiona el comportamiento del apagado.

--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

De forma predeterminada, la CLI de AWS SAM comprueba el tiempo de ejecución remoto más reciente de Lambda y actualiza la imagen local automáticamente para mantenerla sincronizada.

Especifica esta opción para omitir la extracción de la imagen de Docker más reciente de su tiempo de ejecución de Lambda.

--template, -t PATH

El archivo AWS SAM de plantilla.

Esta opción no es compatible con --hook-name.

nota

Si especifica esta opción, AWS SAM carga únicamente la plantilla y los recursos locales a los que apunta.

--tenant-id TEXT

El ID de inquilino de las funciones Lambda multiusuario. Se utiliza para garantizar el aislamiento informático entre distintos inquilinos. Se requiere cuando se invocan funciones configuradas con el modo de aislamiento de inquilinos.

--terraform-plan-file

La ruta relativa o absoluta al archivo del plan local Terraform cuando se utiliza la CLI de AWS SAM con Terraform Cloud. Esta opción requiere que --hook-name esté configurado en terraform.

Ejemplos

En el siguiente ejemplo, se utiliza un evento generado para realizar pruebas locales mediante un evento s3.json para invocar una función de Lambda de forma local.

$ sam local invoke --event events/s3.json S3JsonLoggerFunction

El siguiente ejemplo prueba la función HelloWorldFunction con el tiempo de ejecución de Python 3.11

$ sam local invoke --runtime python3.11 HelloWorldFunction

El siguiente ejemplo prueba la función HelloWorldFunction con un nombre de ejecución duradero

$ sam local invoke HelloWorldFunction --durable-execution-name my-execution