Lambda 컨텍스트 객체를 사용하여 TypeScript 함수 정보 검색 - AWS Lambda

Lambda 컨텍스트 객체를 사용하여 TypeScript 함수 정보 검색

Lambda는 함수를 실행할 때 컨텍스트 객체를 핸들러.에 전달합니다. 이 객체는 호출, 함수 및 실행 환경에 관한 정보를 제공하는 메서드 및 속성들을 제공합니다.

컨텍스트 메서드
  • getRemainingTimeInMillis() – 실행 시간이 초과되기까지 남은 시간(밀리초)을 반환합니다.

컨텍스트 속성
  • functionName – Lambda 함수의 이름입니다.

  • functionVersion – 함수의 버전입니다.

  • invokedFunctionArn – 함수를 호출할 때 사용하는 Amazon 리소스 이름(ARN)입니다. 호출자가 버전 번호 또는 별칭을 지정했는지 여부를 나타냅니다.

  • memoryLimitInMB – 함수에 할당된 메모리의 양입니다.

  • awsRequestId – 호출 요청의 식별자입니다.

  • logGroupName – 함수에 대한 로그 그룹입니다.

  • logStreamName – 함수 인스턴스에 대한 로그 스트림입니다.

  • identity – (모바일 앱) 요청을 승인한 Amazon Cognito 자격 증명에 대한 정보입니다.

    • cognitoIdentityId— 인증된 Amazon Cognito ID입니다.

    • cognitoIdentityPoolId – 호출에 대한 권한을 부여한 Amazon Cognito ID 풀입니다.

  • clientContext – (모바일 앱) 클라이언트 애플리케이션이 Lambda에게 제공한 클라이언트 컨텍스트입니다.

    • 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 – 클라이언트 애플리케이션에 의해 지정되는 사용자 지정 값입니다.

  • callbackWaitsForEmptyEventLoop – Node.js 이벤트 루프가 빌 때까지 대기하는 대신, 콜백이 실행될 때 즉시 응답을 보내려면 false로 설정합니다. 이것이 false인 경우, 대기 중인 이벤트는 다음 번 호출 중에 계속 실행됩니다.

@types/aws-lambda npm 패키지를 사용하여 컨텍스트 객체를 사용할 수 있습니다.

예 index.ts 파일

다음 예제 함수는 컨텍스트 정보를 로깅하고 로그의 위치를 반환합니다.

참고

Lambda 함수에서 이 코드를 사용하기 전에 @types/aws-lambda 패키지를 개발 종속 항목으로 추가해야 합니다. 이 패키지에는 Lambda에 대한 유형 정의가 들어 있습니다. @types/aws-lambda가 설치되면 import 문(import ... from 'aws-lambda')이 유형 정의를 가져옵니다. 관련 없는 타사 도구인 aws-lambda NPM 패키지는 가져오지 않습니다. 자세한 내용은 DefinitelyTyped GitHub 리포지토리의 aws-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; };