sam local invoke - AWS Serverless Application Model

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

sam local invoke

Questa pagina fornisce informazioni di riferimento per il AWS Serverless Application Model sam local invoke sottocomando Command Line Interface (AWS SAMCLI).

Il sam local invoke sottocomando avvia una chiamata una tantum di una funzione localmente. AWS Lambda

Nota

Per funzioni durevoli, sam local invoke supporta l'esecuzione con stato con checkpoint e replay automatici. Il contenitore rimane in funzione durante l'esecuzione durevole della funzione per gestire la persistenza e la ripresa dello stato.

Utilizzo

$ sam local invoke <arguments> <options>
Nota

Se hai più di una funzione definita nel tuo AWS SAM modello, fornisci l'ID logico della funzione che desideri richiamare.

Arguments (Argomenti)

Resource ID (ID risorsa)

L'ID della funzione Lambda da richiamare.

Questo argomento è facoltativo. Se l'applicazione contiene una singola funzione Lambda, la AWS SAM CLI la richiamerà. Se l'applicazione contiene più funzioni, fornisci l'ID della funzione da richiamare.

Valori validi: l'ID logico o l'ARN della risorsa.

Opzioni

--add-host LIST

Passa un nome host alla mappatura dell'indirizzo IP al file host del contenitore Docker. Questo parametro può essere passato più volte.

Ad esempio: --add-host example.com:127.0.0.1

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

Consenti o nega le funzionalità beta.

--config-env TEXT

Il nome dell'ambiente che specifica i valori dei parametri predefiniti nel file di configurazione da utilizzare. Il valore predefinito è «default». Per ulteriori informazioni sui file di configurazione, consulta AWS SAM CLI file di configurazione.

--config-file PATH

Il percorso e il nome del file di configurazione contenente i valori dei parametri predefiniti da utilizzare. Il valore predefinito è "samconfig.toml" nella radice della directory del progetto. Per ulteriori informazioni sui file di configurazione, consulta AWS SAM CLI file di configurazione.

--container-env-vars

(Facoltativo) Passa le variabili di ambiente al contenitore di immagini della funzione Lambda durante il debug locale.

--container-host TEXT

Host del contenitore Lambda emulato localmente. Il valore predefinito è localhost. Se vuoi eseguirlo AWS SAMCLI in un contenitore Docker su macOS, puoi specificare. host.docker.internal Se desideri eseguire il contenitore su un host diverso da quello AWS SAMCLI, puoi specificare l'indirizzo IP dell'host remoto.

--container-host-interface TEXT

L'indirizzo IP dell'interfaccia di rete host a cui devono collegarsi le porte del contenitore. Il valore predefinito è 127.0.0.1. Si usa 0.0.0.0 per collegarsi a tutte le interfacce.

--debug

Attiva la registrazione di debug per stampare i messaggi di debug AWS SAMCLI generati e per visualizzare i timestamp.

--debug-args TEXT

Argomenti aggiuntivi da passare al debugger.

--debug-port, -d TEXT

Quando specificato, avvia il contenitore di funzioni Lambda in modalità debug ed espone questa porta sull'host locale.

--debugger-path TEXT

Il percorso dell'host di un debugger montato nel contenitore Lambda.

--docker-network TEXT

Il nome o l'ID di una rete Docker esistente a cui i contenitori Lambda Docker devono connettersi, insieme alla rete bridge predefinita. Se questo non è specificato, i contenitori Lambda si connettono solo alla rete bridge Docker predefinita.

--docker-volume-basedir, -v TEXT

La posizione della directory di base in cui si trova il AWS SAM file. Se Docker è in esecuzione su un computer remoto, è necessario montare il percorso in cui esiste il AWS SAM file sulla macchina Docker e modificare questo valore in modo che corrisponda al computer remoto.

--durable-execution-name TEXT

Nome per l'esecuzione durevole (solo per funzioni durevoli)

--env-vars, -n PATH

Il file JSON che contiene i valori per le variabili di ambiente della funzione Lambda. Per ulteriori informazioni sui file delle variabili di ambiente, consulta. File di variabili di ambiente

--event, -e PATH

Il file JSON che contiene i dati degli eventi che vengono passati alla funzione Lambda quando viene richiamata. Se non si specifica questa opzione, non si presume alcun evento. Per inserire JSON dastdin, devi inserire il valore '-'. Per informazioni dettagliate sui formati dei messaggi relativi agli eventi di diversi AWS servizi, consulta Lavorare con altri servizi nella Guida per gli AWS Lambda sviluppatori.

--force-image-build

Specifica se AWS SAMCLI deve ricostruire l'immagine usata per richiamare le funzioni Lambda con livelli.

--help

Mostra questo messaggio ed esce.

--hook-name TEXT

Il nome dell'hook utilizzato per estendere le AWS SAMCLI funzionalità.

Valori accettati:terraform.

--invoke-image TEXT

L'URI dell'immagine del contenitore che si desidera utilizzare per l'invocazione della funzione locale. Per impostazione predefinita, AWS SAM estrae l'immagine del contenitore da Amazon ECR Public (che è elencato inArchivi di immagini per AWS SAM). Usa questa opzione per estrarre l'immagine da un'altra posizione.

Ad esempio, sam local invoke MyFunction --invoke-image amazon/aws-sam-cli-emulation-image-python3.8.

--layer-cache-basedir DIRECTORY

Specifica la posizione della directory di base in cui vengono scaricati i layer utilizzati dal modello.

--log-file, -l TEXT

Il file di registro a cui inviare i log di runtime.

Assicura che monti AWS SAMCLI sempre i collegamenti simbolici presenti nei file da compilare o richiamare. Questo vale solo per i collegamenti simbolici nella directory di primo livello (ovvero i collegamenti simbolici che si trovano direttamente nella radice della funzione). Per impostazione predefinita, i collegamenti simbolici non vengono montati ad eccezione di quelli necessari per essere utilizzati build-in-source node_modules in NodeJS.

--no-event

Richiama la funzione con un evento vuoto.

--no-memory-limit

Rimuove la limitazione di memoria nel contenitore durante la chiamata locale, anche quando la memoria è configurata nel modello. AWS SAM

--parameter-overrides

Una stringa che contiene le sostituzioni CloudFormation dei parametri codificate come coppie chiave-valore. Utilizzate lo stesso formato di (). AWS Command Line Interface AWS CLI Il AWS SAMCLI formato è costituito da parole chiave e valori esplicite, ogni override è separata da uno spazio. Di seguito, sono riportati due esempi:

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

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

--profile TEXT

Il profilo specifico del file delle credenziali che ottiene le credenziali. AWS

--region TEXT

La AWS regione in cui effettuare la distribuzione. Ad esempio, us-east-1.

--runtime TEXT

Utilizza il runtime specificato per richiamare una funzione Lambda localmente. Ciò sovrascrive il runtime definito nel file. template.yml Ciò consente inoltre di testare le funzioni Lambda con tempi di esecuzione diversi senza modificare la configurazione della funzione originale.

--save-params

Salva i parametri forniti nella riga di comando nel file di configurazione. AWS SAM

--shutdown

Emula un evento di spegnimento dopo il completamento dell'invoca, per testare la gestione delle estensioni del comportamento di spegnimento.

--skip-prepare-infra

Salta la fase di preparazione se non sono state apportate modifiche all'infrastruttura. Da utilizzare con l'--hook-nameopzione.

--skip-pull-image

Per impostazione predefinita, AWS SAMCLI controlla l'ultimo ambiente di runtime remoto di Lambda e aggiorna automaticamente l'immagine locale per mantenerla sincronizzata.

Specificate questa opzione per saltare l'estrazione dell'Dockerimmagine più recente per il vostro ambiente di runtime Lambda.

--template, -t PATH

Il AWS SAM file modello.

Questa opzione non è compatibile con--hook-name.

Nota

Se si specifica questa opzione, AWS SAM carica solo il modello e le risorse locali a cui punta.

--tenant-id TEXT

L'ID tenant per le funzioni Lambda multi-tenant. Utilizzato per garantire l'isolamento del calcolo tra diversi tenant. Richiesto quando si richiamano funzioni configurate con la modalità di isolamento dei tenant.

--terraform-plan-file

Il percorso relativo o assoluto del file del Terraform piano locale quando si utilizza with. AWS SAMCLI Terraform Cloud Questa opzione richiede che --hook-name sia impostata suterraform.

Esempi

L'esempio seguente utilizza un evento generato per i test locali utilizzando un s3.json evento per richiamare localmente una funzione Lambda.

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

L'esempio seguente verifica la funzione HelloWorldFunction utilizzando il runtime Python 3.11

$ sam local invoke --runtime python3.11 HelloWorldFunction

L'esempio seguente verifica la funzione HelloWorldFunction con un nome di esecuzione durevole

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