

# Lambda 컨텍스트 객체를 사용하여 TypeScript 함수 정보 검색
<a name="typescript-context"></a>

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

컨텍스트 객체에 대한 유형 확인을 활성화하려면 [@types/aws-lambda](https://www.npmjs.com/package/@types/aws-lambda) 패키지를 개발 종속성으로 추가하고 `Context` 유형을 가져와야 합니다. 자세한 내용은 [Lambda에 대한 유형 정의](lambda-typescript.md#typescript-type-definitions) 섹션을 참조하세요.

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

**컨텍스트 속성**
+ `functionName` – Lambda 함수의 이름입니다.
+ `functionVersion` – 함수의 [버전](configuration-versions.md)입니다.
+ `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` - 기본값(`true`), 콜백 기반 함수 핸들러를 사용하는 경우 Lambda는 함수 간접 호출을 종료하기 전에 콜백이 실행된 후 이벤트 루프가 비어 있을 때까지 기다립니다. `false`로 설정하면 응답을 보내고 이벤트 루프가 비어 있을 때까지 기다리는 대신 콜백이 실행된 직후 간접 호출을 종료합니다. 대기 중인 이벤트는 다음 번 간접 호출 중에 계속 실행됩니다. Lambda는 Node.js 22 이전 버전의 런타임에 대해서만 콜백 기반 함수 핸들러를 지원합니다.

**Example index.ts 파일**  
다음 예제 함수는 컨텍스트 정보를 로깅하고 로그의 위치를 반환합니다.  
Lambda 함수에서 이 코드를 사용하기 전에 [@types/aws-lambda](https://www.npmjs.com/package/@types/aws-lambda) 패키지를 개발 종속 항목으로 추가해야 합니다. 이 패키지에는 Lambda에 대한 유형 정의가 들어 있습니다. 자세한 내용은 [Lambda에 대한 유형 정의](lambda-typescript.md#typescript-type-definitions) 섹션을 참조하세요.

```
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;
};
```