Richiamo di 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à.

Richiamo di funzioni Lambda localmente

Puoi invocare il tuoAWS Lambdafunzionare localmente utilizzando ilstessa chiamata locale AWS SAMComando CLI e fornendo l'ID logico della funzione e un file di eventi. In alternativasam local invokeaccetta anchestdincome evento. Per ulteriori informazioni sugli eventi, consultaEventnelAWS LambdaGuida per gli sviluppatori. Per informazioni sui formati dei messaggi di eventi di diversiAWSservizi, vediUtilizzo diAWS Lambdacon altri ServizinelAWS LambdaGuida per gli sviluppatori.

Nota

Ilsam local invokeil comando corrisponde alAWS Command Line Interface(AWS CLI) comandoaws lambda invoke. È possibile utilizzare entrambi i comandi per richiamare una funzione Lambda.

È necessario eseguiresam local invokenella 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. Creare un file JSON contenente le variabili di ambiente da sovrascrivere.

  2. Utilizzo di--env-varsargomento per sovrascrivere i valori definiti nei modelli.

Dichiarazione delle variabili di ambiente

Per dichiarare le variabili di ambiente che si applicano globalmente a tutte le risorse, specificare unParametersoggetto come il seguente:

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

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

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

Quando si specificano gli 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 insieme le variabili di ambiente 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 esempioenv.json.

Sostituzione dei valori delle variabili di ambiente

Per sovrascrivere le variabili di ambiente con quelle definite nel tuo file JSON, usa il--env-varsdiscussione coninvokeostart-apicomandi. Ad 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, vedereUtilizzo dei livelli.