자습서: 생성, 업로드 및 호출 방법AWS Lambda기능 - AWS Toolkit for Eclipse

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

자습서: 생성, 업로드 및 호출 방법AWS Lambda기능

이 자습서에서는 일반적인 프로세스를 안내합니다.AWS Lambda는 Lambda를 Toolkit for Eclipse 툴킷과 함께 직접 사용해볼 수 있는 경험을 제공합니다.

중요

이 자습서에서는 다음을 가정합니다.AWS계정, 이미를 설치합니다.AWSToolkit for EclipseLambda의 기본 개념과 기능을 이해해야 합니다. Lambda에 익숙하지 않은 경우 다음 사이트에서 자세히 알아볼 수 있습니다.Lambda홈 페이지 및AWSLambda 개발자 가이드.

AWS Lambda 프로젝트 만들기

Lambda 프로젝트를 시작하려면 먼저 핸들러 클래스의 메서드로 코드를 구현합니다. Toolkit for Eclipse 툴킷은 새 핸들러 클래스를 생성하는 데 도움이 되는 새로운 프로젝트 마법사를 제공합니다. Lambda 프로젝트는 POM.xml 파일을 사용하여 패키지 종속 프로그램을 관리하는 Maven 프로젝트입니다. 애플리케이션의 빌드, 테스트 및 배포에 Maven 명령줄 도구를 사용할 수 있습니다. Maven에 대한 자세한 내용은 Maven 프로젝트 설명서를 참조하십시오.

AWS Lambda 프로젝트를 만들려면

  1. Eclipse 도구 모음에서 Amazon Web Services 메뉴를 엽니다.AWS홈페이지 아이콘) 을 선택한 다음NewAWSLambda 자바 프로젝트. 또는 Eclipse 메뉴 모음에서 를 선택합니다.File,New,AWSLambda 자바 프로젝트.

  2. 프로젝트 이름, 그룹 ID, 아티팩트 ID클래스 이름을 연결된 입력 상자에 추가합니다. 그룹 ID와 아티팩트 ID는 Maven 빌드 아티팩트를 식별하는 ID입니다. 이 자습서에서는 다음과 같은 예제 값을 사용합니다.

    • 프로젝트 이름: HelloLambda

    • 그룹 ID: com.example.lambda

    • 아티팩트 ID: demo

    • 클래스 이름: 여보세요

    패키지 이름 필드는 AWS Lambda 핸들러 클래스를 위한 패키지 네임스페이스입니다. 이 필드의 기본 값은 Maven 프로젝트 규칙에 따라 그룹 ID와 아티팩트 ID가 연결된 값입니다. 그룹 ID결과물 ID 필드가 업데이트되면 이 필드도 자동으로 업데이트됩니다.

  3. 입력 유형에서 사용자 지정을 선택합니다. 사용 가능한 각 입력 유형에 대한 자세한 내용은 단원을 참조하십시오.NewAWSLambda Java 프로젝트 대화 상자.

  4. 항목이 다음 스크린샷과 같은지 확인한 다음(같지 않은 경우 수정) 완료를 선택합니다.

    
                  새로 만들기의 프로젝트 이름, 그룹 ID, Artifact ID 및 클래스 이름 값AWSLambda Maven 프로젝트 대화 상자

    입력하면 소스 미리 보기가 대화 상자에서 변경한 사항을 반영하도록 변경됩니다.

  5. 완료를 선택하고 나면 Eclipse 워크스페이스에서 프로젝트의 디렉터리 및 소스 파일이 생성됩니다. 새 웹 브라우저 창이 열리고 표시됩니다.README.html(프로젝트의 루트 디렉토리에서 사용자를 위해 만들어졌습니다).README.html에서는 새 Lambda 함수를 구현, 테스트, 업로드 및 호출하는 다음 단계로 안내하기 위한 지침을 제공합니다. 여기에서 설명한 단계들에 대해 어느 정도 익숙해지도록 해당 문서를 자세히 읽으십시오.

그런 다음 Eclipse에서 방금 생성된 HelloLambda Java 프로젝트에서 함수를 구현합니다.

핸들러 메서드 구현

새 프로젝트 만들기 대화 상자를 사용하여 스켈레톤 프로젝트를 생성합니다. 이제 Lambda 함수가 호출될 때 실행될 코드를 입력합니다. (이 사례에서는 메서드의 입력 파라미터를 설정할 때 지정한 대로 함수에 문자열을 전송하는 사용자 지정 이벤트별로 입력).

Lambda 핸들러 메서드를 구현하려면

  1. Eclipse에서프로젝트 탐색기를 엽니다.Hello.javaHelloLambda프로젝트. 여기에는 다음과 유사한 코드가 포함됩니다.

    package com.example.lambda.demo; import com.amazonaws.services.lambda.runtime.Context; import com.amazonaws.services.lambda.runtime.RequestHandler; public class Hello implements RequestHandler<Object, String> { @Override public String handleRequest(Object input, Context context) { context.getLogger().log("Input: " + input); // TODO: implement your handler return "Hello from Lambda"; } }
  2. handleRequest 함수의 내용을 다음 코드로 바꿉니다.

    @Override public String handleRequest(String input, Context context) { context.getLogger().log("Input: " + input); String output = "Hello, " + input + "!"; return output; }

Lambda에서 IAM 역할 수임 허용

Lambda가 Lambda 함수에 액세스할 수 있도록 하려면 Lambda 함수에 대한 액세스 권한을 부여하는 IAM 역할을 생성해야 합니다.AWS있습니다. 역할을 생성하는 방법은 을 통한 방법 두 가지입니다.AWS Management ConsoleToolkit for Eclipse를 사용합니다. 이 단원에서는 콘솔에서 IAM 역할을 생성하는 방법을 설명합니다. 단원을 참조하십시오.코드 업로드Toolkit for Eclipse를 사용하여 도구를 생성합니다.

Lambda용 IAM 역할을 생성하려면,

  1. 에 로그인합니다.AWS관리 콘솔.

  2. 서비스 메뉴에서 IAM 콘솔을 엽니다.

  3. 탐색 창에서 역할을 선택한 후 역할 만들기를 선택합니다.

  4. 신뢰할 수 있는 유형의 엔터티 선택, 선택AWS서비스를 선택한 다음 를 선택합니다.Lambda이 역할을 사용할 서비스입니다. 다음을 선택합니다. Permissions)]을 선택합니다.

  5. 권한 정책 연결에서 AWSLambdaBasicExecutionRole을 선택합니다. 이렇게 하면 Lambda가 CloudWatch Logs 리소스에 기록할 수 있습니다. 다음을 선택합니다. Review)]를 선택합니다.

  6. 역할의 이름(예: hello-lambda-role)과 해당 역할에 대한 설명을 추가합니다. 그런 다음역할 생성를 눌러 IAM 역할 생성을 완료합니다.

Lambda 코드용 Amazon S3 버킷 생성

AWS Lambda는 Java 프로젝트를 업로드할 때 저장할 Amazon S3 버킷이 필요합니다. 에 이미 있는 버킷을 사용할 수 있습니다.AWS코드를 실행할 리전이나 Lambda가 사용하기 위한 새 코드를 생성 (권장 사항) 할 수 있습니다.

Amazon S3 버킷을 생성하는 방법은 다음과 같은 방법 두 가지입니다.AWS Management ConsoleToolkit for Eclipse를 사용합니다. 이 단원에서는 콘솔에서 Amazon S3 버킷을 생성하는 방법을 설명합니다. 단원을 참조하십시오.코드 업로드Toolkit for Eclipse를 사용하여 도구를 생성합니다.

Lambda에 사용할 Amazon S3 버킷을 생성하려면

  1. 에 로그인합니다.AWS관리 콘솔.

  2. 서비스 메뉴에서 S3 콘솔을 엽니다.

  3. 버킷 만들기를 선택합니다.

  4. 버킷 이름을 입력하고 버킷에 대한 리전을 선택합니다. 이 리전은 Lambda 함수를 실행할 리전과 동일한 리전이어야 합니다. Lambda에서 지원하는 리전 목록은 단원을 참조하십시오.리전 및 엔드포인트AWS일반 참조.

  5. 생성을 선택하여 버킷 생성을 완료합니다.

코드 업로드

다음으로 AWS Management Console을 사용하여 함수 호출을 준비하기 위해 AWS Lambda에 코드를 업로드합니다.

Lambda에 함수를 업로드하려면

  1. Eclipse 코드 창에서 마우스 오른쪽 버튼을 클릭하고 를 선택합니다.AWSLambda를 선택한 다음 를 선택합니다.업로드 기능AWSLambda.

  2. 대상 Lambda 함수 선택페이지에서 다음을 선택합니다.AWS사용할 리전입니다. 이 리전은 Amazon S3 버킷에 대해 선택한 리전과 동일해야 합니다.

    
                  대상 Lambda 함수 선택 페이지
  3. 새 Lambda 함수 생성을 선택하고 함수 이름(예: HelloFunction)을 입력합니다.

  4. Next(다음)를 선택합니다.

  5. 함수 구성페이지에서 대상 Lambda 함수에 대한 설명을 입력하고 함수에서 사용할 IAM 역할 및 Amazon S3 버킷을 선택합니다.

    
                  함수 구성 페이지

    사용 가능한 옵션에 대한 자세한 내용은 단원을 참조하십시오.다음에 함수를 업로드합니다.AWSLambda 대화 상자.

  6. 함수 구성페이지 선택생성에서함수 역할Lambda 함수에 대한 새 IAM 역할을 생성하려는 경우 역할 생성 대화 상자에 역할 이름을 입력합니다.

    
                  함수 구성에서 새로운 IAM 역할 생성 페이지
  7. 함수 구성페이지 선택새 버전 발행Lambda 함수의 새 버전을 생성하는 방법 Lambda에서 버전 관리 및 별칭에 대한 자세한 내용은 단원을 참조하십시오.AWSLambda 함수 버전 관리 및 별칭AWS Lambda개발자 안내서.

  8. 새 버전을 게시하기로 선택한 경우에는 새 버전에 별칭 지정 옵션이 활성화됩니다. 이 버전의 Lambda 함수에 별칭을 연결하고 싶은 경우에는 이 옵션을 선택합니다.

  9. 함수 구성페이지 선택생성함수 코드를 위한 S3 버킷섹션을 참조하십시오. Lambda 함수에 새 Amazon S3 버킷을 생성하는 방법은 다음과 같습니다. 버킷 생성 대화 상자에 버킷 이름을 입력합니다.

    
                  버킷 생성 페이지
  10. 함수 코드에 대한 S3 버킷 섹션에서 업로드된 코드의 암호화를 선택할 수도 있습니다. 이 예제에서는 없음을 선택한 상태로 유지합니다. Amazon S3 암호화에 대한 자세한 내용은 단원을 참조하십시오.서버 측 암호화를 사용하여 데이터 보호아마존 심플 스토리지 서비스 사용 설명서.

  11. 고급 설정 옵션을 현재 값 그대로 둡니다. Toolkit for Eclipse에서 기본 값을 선택합니다. 선택FinishLambda 함수를 업로드하려면AWS.

업로드가 성공하면 선택한 Lambda 함수 이름이 의 Java 핸들러 클래스 옆에 나타납니다.프로젝트 탐색기보기.

이런 일이 발생하지 않으면 Eclipse를 엽니다.오류 로그보기. Lambda는 함수를 디버깅할 수 있도록 이 오류 로그에 함수 업로드 실패 또는 함수 실행 실패에 대한 정보를 기록합니다.

Lambda 함수 호출

이제 AWS Lambda에서 함수를 호출할 수 있습니다.

Lambda 함수를 호출하려면

  1. Eclipse 코드 창에서 마우스 오른쪽 버튼을 클릭하고 를 선택합니다.AWSLambda를 선택한 다음 를 선택합니다.함수 실행:AWSLambda.

  2. 호출할 핸들러 클래스를 선택합니다.

  3. 입력 상자에 “와 같이 유효한 JSON 문자열을 입력합니다.AWSLambda”.

    
                  호출할 Lambda 핸들러 선택
    참고

    프로젝트에 새 JSON 입력 파일을 추가할 수 있으며, 이러한 파일은 파일 이름이 ".json"으로 끝나는 경우 이 대화 상자에 표시됩니다. 이 기능을 사용하여 Lambda 함수에 표준 입력 파일을 제공할 수 있습니다.

  4. Show Live Log(라이브 로그 표시) 대화 상자는 기본적으로 선택됩니다. 그러면 Eclipse에서 Lambda 함수 출력의 로그가 표시됩니다.콘솔.

  5. 선택Invoke를 사용하여 Lambda 함수에 입력 데이터를 전송합니다. 모든 항목을 올바르게 설정한 경우, 함수의 반환 값이 Eclipse 콘솔 보기에 출력됩니다(아직 표시되지 않은 경우 자동으로 표시됨).

축하합니다. Eclipse IDE에서 처음으로 Lambda 함수를 직접 실행했습니다.

다음 단계

이제 함수를 업로드하고 배포했으므로 코드를 변경하고 함수를 다시 실행해 보겠습니다. Lambda는 함수를 자동으로 다시 업로드하고 호출하며 Eclipse에 출력을 표시합니다.콘솔.

추가 정보

이 자습서에서 설명한 각 페이지에 대한 자세한 내용과 각 옵션에 대한 전체 설명은AWSLambda 인터페이스 참조.

Lambda 및 Lambda용 Java 코드 작성에 대한 자세한 내용은 단원을 참조하십시오.Java에서 Lambda 함수 작성AWS Lambda개발자 안내서.