Utilizzo dell'oggetto del contesto Lambda per recuperare le informazioni sulla funzione TypeScript - AWS Lambda

Utilizzo dell'oggetto del contesto Lambda per recuperare le informazioni sulla funzione TypeScript

Quando Lambda esegue la funzione, passa un oggetto Context al gestore. Questo oggetto fornisce i metodi e le proprietà che forniscono le informazioni sulla chiamata, sulla funzione e sull'ambiente di esecuzione.

Per abilitare il controllo del tipo per l'oggetto di contesto, devi aggiungere il pacchetto @types /aws-lambda come dipendenza di sviluppo e importare il tipo. Context Per ulteriori informazioni, consulta Definizioni dei tipi per Lambda.

Metodi del contesto
  • getRemainingTimeInMillis(): restituisce il numero di millisecondi rimasti prima del timeout dell'esecuzione.

Proprietà del contesto
  • functionName: il nome della funzione Lambda.

  • functionVersion: la versione della funzione.

  • invokedFunctionArn: l'Amazon Resource Name (ARN) utilizzato per richiamare la funzione. Indica se l'invoker ha specificato un numero di versione o un alias.

  • memoryLimitInMB: la quantità di memoria allocata per la funzione.

  • awsRequestId: l'identificatore della richiesta di invocazione.

  • logGroupName: il gruppo di log per la funzione.

  • logStreamName: il flusso di log per l'istanza della funzione.

  • identity: (app per dispositivi mobili) Informazioni relative all'identità Amazon Cognito che ha autorizzato la richiesta.

    • cognitoIdentityId: l'identità autenticata di Amazon Cognito.

    • cognitoIdentityPoolId: il pool di identità Amazon Cognito che ha autorizzato l'invocazione.

  • clientContext: (app per dispositivi mobili) Contesto client fornito a Lambda dall'applicazione client.

    • client.installation_id

    • client.app_title

    • client.app_version_name

    • client.app_version_code

    • client.app_package_name

    • env.platform_version

    • env.platform

    • env.make

    • env.model

    • env.locale

    • Custom: valori personalizzati impostati dall'applicazione mobile.

  • callbackWaitsForEmptyEventLoop: imposta su false per inviare immediatamente la risposta quando viene eseguito il callback anziché attendere che il ciclo di eventi Node.js sia vuoto. Se impostato su false, tutti gli eventi in sospeso rimarranno in esecuzione durante la successiva chiamata.

Esempio File index.js

La seguente funzione di esempio registra le informazioni di contesto e restituisce la posizione dei log.

Nota

Prima di utilizzare questo codice in una funzione Lambda, devi aggiungere il pacchetto @types/aws-lambda come dipendenza di sviluppo. Questo pacchetto contiene le definizioni dei tipi per Lambda. Per ulteriori informazioni, consulta Definizioni dei tipi per Lambda.

import { Context } from 'aws-lambda'; export const lambdaHandler = async (event: string, context: Context): Promise<string> => { console.log('Remaining time: ', context.getRemainingTimeInMillis()); console.log('Function name: ', context.functionName); return context.logStreamName; };