Richiamare le funzioni Lambda localmente - 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à.

Richiamare le funzioni Lambda localmente

È possibile richiamare la AWS Lambda funzione localmente utilizzando il sam local invoke AWS SAM CLI comando e fornendo l'ID logico della funzione e un file di eventi. In alternativa, accetta sam local invoke anche stdin come evento. Per ulteriori informazioni sugli eventi, consulta Event nella AWS LambdaDeveloper Guide. Per informazioni sui formati dei messaggi relativi agli eventi di diversi AWS servizi, consulta Utilizzo AWS Lambda con altri servizi nella Guida per gli AWS Lambda sviluppatori.

Nota

Il sam local invoke comando corrisponde al comando AWS Command Line Interface (AWS CLI) aws lambda invoke. È possibile utilizzare entrambi i comandi per richiamare una funzione Lambda.

È necessario eseguire il sam local invoke comando nella directory del progetto che contiene la funzione che si desidera richiamare.

Esempi:

# Invoking function with event file $ sam local invoke "Ratings" -e event.json # Invoking function with event via stdin $ echo '{"message": "Hey, are you there?" }' | sam local invoke --event - "Ratings" # For more options $ sam local invoke --help

File di variabili di ambiente

Per dichiarare localmente le variabili di ambiente che sovrascrivono i valori definiti nei modelli, procedi come segue:

  1. Crea un file JSON che contenga le variabili di ambiente da sovrascrivere.

  2. Usa l'--env-varsargomento per sovrascrivere i valori definiti nei tuoi modelli.

Dichiarazione delle variabili di ambiente

Per dichiarare variabili di ambiente che si applicano globalmente a tutte le risorse, specificate un Parameters oggetto come il seguente:

{ "Parameters": { "TABLE_NAME": "localtable", "BUCKET_NAME": "testBucket", "STAGE": "dev" } }

Per dichiarare variabili di ambiente diverse per ogni risorsa, specificate gli oggetti per ogni risorsa come segue:

{ "MyFunction1": { "TABLE_NAME": "localtable", "BUCKET_NAME": "testBucket", }, "MyFunction2": { "TABLE_NAME": "localtable", "STAGE": "dev" } }

Quando si specificano oggetti per ogni risorsa, è possibile utilizzare i seguenti identificatori, elencati in ordine di precedenza dalla più alta alla più bassa:

  1. logical_id

  2. function_id

  3. function_name

  4. Identificatore di percorso completo

È possibile utilizzare entrambi i metodi precedenti per dichiarare le variabili di ambiente insieme in un unico file. In tal caso, le variabili di ambiente fornite per risorse specifiche hanno la precedenza sulle variabili di ambiente globali.

Salva le variabili di ambiente in un file JSON, ad esempio. env.json

Ignorare i valori delle variabili di ambiente

Per sostituire le variabili di ambiente con quelle definite nel file JSON, utilizzate l'--env-varsargomento con i invoke comandi or. start-api Per esempio:

sam local invoke --env-vars env.json

Livelli

Se l'applicazione include livelli, per informazioni su come eseguire il debug dei problemi con i layer sull'host locale, consulta. Lavorare con i livelli

Ulteriori informazioni

Per un esempio pratico di invocazione di funzioni a livello locale, consultate il Modulo 2 - Esegui localmente in The Complete Workshop. AWS SAM