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).
-
Para obtener una introducción al AWS SAMCLI, consulte ¿Qué es el? AWS SAMCLI
-
Para obtener documentación sobre el uso del AWS SAMCLI
sam local invokesubcomando, consulteIntroducción a las pruebas con sam local invoke.
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-hostLIST-
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-hostexample.com:127.0.0.1 --beta-features | --no-beta-features-
Permitir o denegar las características beta.
--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-vars-
(Opcional) Pase las variables de entorno al contenedor de imágenes de la función de Lambda al depurar localmente.
--container-hostTEXT-
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 especificarhost.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-interfaceTEXT-
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. Utiliza0.0.0.0para 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-argsTEXT-
Argumentos opcionales que se pasan al depurador.
--debug-port, -dTEXT-
Cuando se especifica, inicia el contenedor de funciones de Lambda en modo de depuración y expone este puerto en el host local.
--debugger-pathTEXT-
La ruta del host a un depurador montado en el contenedor de Lambda.
--docker-networkTEXT-
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, -vTEXT-
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-nameTEXT-
Nombre de la ejecución duradera (solo para funciones duraderas)
--env-vars, -nPATH-
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, -ePATH-
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-imageTEXT-
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-basedirDIRECTORY-
Especifica la ubicación del directorio base en el que se descargan las capas que utiliza la plantilla.
--log-file, -lTEXT-
El archivo de registro al que se van a enviar los registros de tiempo de ejecución.
--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-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
--profileTEXT-
El perfil específico del archivo de credenciales que recibe AWS las credenciales.
--regionTEXT-
La AWS región en la que se va a realizar el despliegue. Por ejemplo, us-east-1.
--runtimeTEXT-
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, -tPATH-
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-idTEXT-
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-nameesté configurado enterraform.
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 --eventevents/s3.json S3JsonLoggerFunction
El siguiente ejemplo prueba la función HelloWorldFunction con el tiempo de ejecución de Python 3.11
$sam local invoke --runtimepython3.11 HelloWorldFunction
El siguiente ejemplo prueba la función HelloWorldFunction con un nombre de ejecución duradero
$sam local invokeHelloWorldFunction --durable-execution-name my-execution