콘솔에서 Lambda 함수 테스트 - AWS Lambda

콘솔에서 Lambda 함수 테스트

테스트 이벤트로 함수를 호출하여 콘솔에서 Lambda 함수를 테스트할 수 있습니다. 테스트 이벤트는 함수에 대한 JSON 입력입니다. 함수에 입력이 필요하지 않은 경우 이벤트는 빈 문서(({}))가 될 수 있습니다.

콘솔에서 테스트를 실행하면 Lambda는 테스트 이벤트와 함께 동시에 함수를 호출합니다. 함수 런타임은 JSON을 객체로 변환하고 처리를 위해 코드의 핸들러 메서드로 전달합니다.

테스트 이벤트 생성

콘솔에서 테스트하려면 먼저 프라이빗 또는 공유 가능한 테스트 이벤트를 생성해야 합니다.

테스트 이벤트로 함수 호출

함수 테스트
  1. Lambda 콘솔의 함수 페이지를 엽니다.

  2. 테스트하려는 함수의 이름을 선택합니다.

  3. 테스트(Test) 탭을 선택합니다.

  4. 테스트 이벤트에서 새 이벤트 생성 또는 저장된 이벤트 편집을 선택한 다음 사용하려는 저장된 이벤트를 선택합니다.

  5. 선택 사항 - 이벤트 JSON용 템플릿을 선택합니다.

  6. 테스트(Test)를 선택합니다.

  7. 테스트 결과를 확인하려면 실행 결과(Execution result)에서 세부 정보(Details)를 확장합니다.

테스트 이벤트를 저장하지 않고 함수를 호출하려면 저장하기 전에 테스트(Test)를 선택합니다. 이렇게 하면 세션 기간 동안에만 Lambda가 보존하는 저장되지 않은 테스트 이벤트가 생성됩니다.

코드(Code) 탭에서 저장 및 미저장 상태의 테스트 이벤트에 액세스할 수도 있습니다. 이 탭에서 테스트(Test)를 선택한 다음 테스트 이벤트를 선택하면 됩니다.

프라이빗 테스트 이벤트 생성

프라이빗 테스트 이벤트는 이벤트 작성자만 사용할 수 있으며, 사용하기 위해 추가 권한이 필요하지 않습니다. 함수당 최대 10개의 프라이빗 테스트 이벤트를 생성하고 저장할 수 있습니다.

프라이빗 테스트 이벤트 생성
  1. Lambda 콘솔의 함수 페이지를 엽니다.

  2. 테스트하려는 함수의 이름을 선택합니다.

  3. 테스트(Test) 탭을 선택합니다.

  4. 테스트 이벤트(Test event)에서 다음을 수행합니다.

    1. 템플릿(Template)을 선택합니다.

    2. 테스트의 이름(Name)을 입력합니다.

    3. 텍스트 입력 상자에 JSON 테스트 이벤트를 입력합니다.

    4. 이벤트 공유 설정(Event sharing settings)에서 프라이빗(Private)을 선택합니다.

  5. 변경 사항 저장을 선택합니다.

코드(Code) 탭에서 새 테스트 이벤트를 생성할 수도 있습니다. 이 탭에서 테스트(Test), 테스트 이벤트 구성(Configure test event)을 차례로 선택하면 됩니다.

공유 가능한 테스트 이벤트 생성

공유 가능한 테스트 이벤트는 동일한 AWS 계정의 다른 사용자와 공유할 수 있는 테스트 이벤트입니다. 다른 사용자의 공유 가능한 테스트 이벤트를 편집하고 해당 이벤트로 자신의 함수를 호출할 수 있습니다.

Lambda는 공유 가능한 테스트 이벤트를 이름이 지정된 EventBridge Amazon CloudWatch (Events) 스키마 레지스트리에 스키마로 저장합니다. lambda-testevent-schemas Lambda는 이 레지스트리를 사용하여 사용자가 생성한 공유 가능한 테스트 이벤트를 저장하고 호출하므로, 이 레지스트리를 편집하거나 lambda-testevent-schemas라는 이름을 사용하여 레지스트리를 생성하지 않는 것이 좋습니다.

공유 가능한 테스트 이벤트를 보고, 공유하고, 편집하려면 다음 EventBridge (CloudWatch Events) 스키마 레지스트리 API 작업 모두에 대한 권한이 있어야 합니다.

공유 가능한 테스트 이벤트에 대한 편집 내용을 저장하면 해당 이벤트를 덮어씁니다.

공유 가능한 테스트 이벤트를 만들거나, 편집하거나, 볼 수 없는 경우 계정에 이러한 작업에 필요한 권한이 있는지 확인합니다. 필요한 권한이 있지만 공유 가능한 테스트 이벤트에 여전히 액세스할 수 없는 경우 EventBridge (CloudWatch 이벤트) 레지스트리에 대한 액세스를 제한할 수 있는 리소스 기반 정책이 있는지 확인하세요.

공유 가능한 테스트 이벤트 생성
  1. Lambda 콘솔의 함수 페이지를 엽니다.

  2. 테스트하려는 함수의 이름을 선택합니다.

  3. 테스트(Test) 탭을 선택합니다.

  4. 테스트 이벤트(Test event)에서 다음을 수행합니다.

    1. 템플릿(Template)을 선택합니다.

    2. 테스트의 이름(Name)을 입력합니다.

    3. 텍스트 입력 상자에 JSON 테스트 이벤트를 입력합니다.

    4. 이벤트 공유 설정(Event sharing settings)에서 공유 가능(Shareable)을 선택합니다.

  5. 변경 사항 저장을 선택합니다.

AWS Serverless Application Model에서 공유 가능한 테스트 이벤트를 사용합니다.

AWS SAM을 사용하여 공유 가능한 테스트 이벤트를 호출할 수 있습니다. AWS Serverless Application Model 개발자 안내서sam remote test-event 참조

공유 가능한 테스트 이벤트 스키마 삭제

공유 가능한 테스트 이벤트를 삭제하면 Lambda는 lambda-testevent-schemas 레지스트리에서 해당 이벤트를 제거합니다. 레지스트리에서 공유 가능한 마지막 테스트 이벤트를 제거하면 Lambda는 해당 레지스트리를 삭제합니다.

사용자가 함수를 삭제할 경우 Lambda는 연결된 공유 가능한 테스트 이벤트 스키마를 삭제하지 않습니다. EventBridge (CloudWatch 이벤트) 콘솔에서 이러한 리소스를 수동으로 정리해야 합니다.