AWS Lambda의 Java 사용 시도
입문
AWS의 Lambda를 사용하여 DynamoDB에 액세스할 때 JavaScript를 사용하면 간단하게 작업을 수행할 수 있습니다.하지만 여러 개의 시계를 조회한 상태에서 자바스크립트 특유의 콜백 지옥에 들어가 사용하기 어려울 것 같다.또한 로컬 환경에서 동작을 확인하기 어려워서 이번에 새로 지원하는 Lambda Java를 사용하고 싶습니다.
준비
Lambda Java를 작성할 때 Eclipse+AWS Toolkit은 매우 수월합니다.따라서 AWS Toolkit을 설치하는 것이 좋습니다.
간단한 예제 만들기
AWS Toolkit을 설치하면 다음과 같이 간단하게 프로젝트를 만들 수 있습니다."New AWS Lambda Java Project..."탭 페이지에서 항목을 만들거나 편집합니다.
Lambda의 이벤트는 S3 Event 등을 선택할 수 있으며, 이번에는 사용자 정의를 간단하게 선택할 수 있습니다.입력 유형과 출력 유형을 선택할 수 있지만 객체를 동시에 선택합니다.
이제 handleRequest만 실행하면 됩니다.간단하게 입력을 반환할 뿐입니다.package com.example.lamda;
import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.RequestHandler;
public class MyLambdaFunctionHandler implements RequestHandler<Object, Object> {
@Override
public Object handleRequest(Object input, Context context) {
return input;
}
}
단원 테스트
Java 버전은 간단하게 Eclipse로 JUnit을 치면 좋아요.사전에 로컬에서 입력 값과 출력 값을 간단하게 테스트할 수 있어서 매우 감사합니다.DynamoDB는 Local에서도 실행되기 때문에 이를 사용하면 기본적으로 로컬에서 이루어지고 마지막은 배치의 형식이다.(저는 개인적으로 현지에서 환경을 정비하고 그곳에서 가능한 한 실시 & 테스트 개발 효율이 좋다고 생각합니다)
입력한 대상이 되돌아오는지 테스트합니다.package com.example.lamda;
import static org.junit.Assert.*;
import java.io.IOException;
import org.junit.BeforeClass;
import org.junit.Test;
import com.amazonaws.services.lambda.runtime.Context;
/**
* A simple test harness for locally invoking your Lambda function handler.
*/
public class MyLambdaFunctionHandlerTest {
private static class InputData {
private String key1 = "value1";
}
private static InputData sInputData = new InputData();
private static Object input;
@BeforeClass
public static void createInput() throws IOException {
input = sInputData;
}
private Context createContext() {
TestContext ctx = new TestContext();
ctx.setFunctionName("Your Function Name");
return ctx;
}
@Test
public void testMyLambdaFunctionHandler() {
MyLambdaFunctionHandler handler = new MyLambdaFunctionHandler();
Context ctx = createContext();
Object output = handler.handleRequest(input, ctx);
assertEquals(input, output);
}
}
Eclipse에서 JUnit을 실행한 후 테스트를 순조롭게 통과했습니다.
Jar 파일 만들기
AWS Toolkit을 사용하면 직접 배치할 수 있지만 보안상 Eclipse에 AWS 비밀번호를 입력하고 싶지 않습니다. 좀 번거롭지만 Jar 파일을 만든 후에 배치해야 합니다.
Jar 파일은 일반적으로 방금 재생된 My Lambda FunctionHandler 클래스만 배치하면 됩니다.(src 이하만 선택하십시오)
람다 함수 생성 및 테스트
Lambda Function에서 새 Function을 만들고 Blueprint에서 Hello Lambda를 간단하게 선택하십시오.그리고 다음과 같이 Jar 파일의 업로드 등을 설정합니다.
(Handler에서 방금 만든 클래스 이름의 전체 경로를 지정하십시오.)
그리고 실행하면 순조롭게 성공할 것이다.
Reference
이 문제에 관하여(AWS Lambda의 Java 사용 시도), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yokobonbon/items/64baf815f000bcb8abec
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Lambda Java를 작성할 때 Eclipse+AWS Toolkit은 매우 수월합니다.따라서 AWS Toolkit을 설치하는 것이 좋습니다.
간단한 예제 만들기
AWS Toolkit을 설치하면 다음과 같이 간단하게 프로젝트를 만들 수 있습니다."New AWS Lambda Java Project..."탭 페이지에서 항목을 만들거나 편집합니다.
Lambda의 이벤트는 S3 Event 등을 선택할 수 있으며, 이번에는 사용자 정의를 간단하게 선택할 수 있습니다.입력 유형과 출력 유형을 선택할 수 있지만 객체를 동시에 선택합니다.
이제 handleRequest만 실행하면 됩니다.간단하게 입력을 반환할 뿐입니다.package com.example.lamda;
import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.RequestHandler;
public class MyLambdaFunctionHandler implements RequestHandler<Object, Object> {
@Override
public Object handleRequest(Object input, Context context) {
return input;
}
}
단원 테스트
Java 버전은 간단하게 Eclipse로 JUnit을 치면 좋아요.사전에 로컬에서 입력 값과 출력 값을 간단하게 테스트할 수 있어서 매우 감사합니다.DynamoDB는 Local에서도 실행되기 때문에 이를 사용하면 기본적으로 로컬에서 이루어지고 마지막은 배치의 형식이다.(저는 개인적으로 현지에서 환경을 정비하고 그곳에서 가능한 한 실시 & 테스트 개발 효율이 좋다고 생각합니다)
입력한 대상이 되돌아오는지 테스트합니다.package com.example.lamda;
import static org.junit.Assert.*;
import java.io.IOException;
import org.junit.BeforeClass;
import org.junit.Test;
import com.amazonaws.services.lambda.runtime.Context;
/**
* A simple test harness for locally invoking your Lambda function handler.
*/
public class MyLambdaFunctionHandlerTest {
private static class InputData {
private String key1 = "value1";
}
private static InputData sInputData = new InputData();
private static Object input;
@BeforeClass
public static void createInput() throws IOException {
input = sInputData;
}
private Context createContext() {
TestContext ctx = new TestContext();
ctx.setFunctionName("Your Function Name");
return ctx;
}
@Test
public void testMyLambdaFunctionHandler() {
MyLambdaFunctionHandler handler = new MyLambdaFunctionHandler();
Context ctx = createContext();
Object output = handler.handleRequest(input, ctx);
assertEquals(input, output);
}
}
Eclipse에서 JUnit을 실행한 후 테스트를 순조롭게 통과했습니다.
Jar 파일 만들기
AWS Toolkit을 사용하면 직접 배치할 수 있지만 보안상 Eclipse에 AWS 비밀번호를 입력하고 싶지 않습니다. 좀 번거롭지만 Jar 파일을 만든 후에 배치해야 합니다.
Jar 파일은 일반적으로 방금 재생된 My Lambda FunctionHandler 클래스만 배치하면 됩니다.(src 이하만 선택하십시오)
람다 함수 생성 및 테스트
Lambda Function에서 새 Function을 만들고 Blueprint에서 Hello Lambda를 간단하게 선택하십시오.그리고 다음과 같이 Jar 파일의 업로드 등을 설정합니다.
(Handler에서 방금 만든 클래스 이름의 전체 경로를 지정하십시오.)
그리고 실행하면 순조롭게 성공할 것이다.
Reference
이 문제에 관하여(AWS Lambda의 Java 사용 시도), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yokobonbon/items/64baf815f000bcb8abec
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
package com.example.lamda;
import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.RequestHandler;
public class MyLambdaFunctionHandler implements RequestHandler<Object, Object> {
@Override
public Object handleRequest(Object input, Context context) {
return input;
}
}
Java 버전은 간단하게 Eclipse로 JUnit을 치면 좋아요.사전에 로컬에서 입력 값과 출력 값을 간단하게 테스트할 수 있어서 매우 감사합니다.DynamoDB는 Local에서도 실행되기 때문에 이를 사용하면 기본적으로 로컬에서 이루어지고 마지막은 배치의 형식이다.(저는 개인적으로 현지에서 환경을 정비하고 그곳에서 가능한 한 실시 & 테스트 개발 효율이 좋다고 생각합니다)
입력한 대상이 되돌아오는지 테스트합니다.
package com.example.lamda;
import static org.junit.Assert.*;
import java.io.IOException;
import org.junit.BeforeClass;
import org.junit.Test;
import com.amazonaws.services.lambda.runtime.Context;
/**
* A simple test harness for locally invoking your Lambda function handler.
*/
public class MyLambdaFunctionHandlerTest {
private static class InputData {
private String key1 = "value1";
}
private static InputData sInputData = new InputData();
private static Object input;
@BeforeClass
public static void createInput() throws IOException {
input = sInputData;
}
private Context createContext() {
TestContext ctx = new TestContext();
ctx.setFunctionName("Your Function Name");
return ctx;
}
@Test
public void testMyLambdaFunctionHandler() {
MyLambdaFunctionHandler handler = new MyLambdaFunctionHandler();
Context ctx = createContext();
Object output = handler.handleRequest(input, ctx);
assertEquals(input, output);
}
}
Eclipse에서 JUnit을 실행한 후 테스트를 순조롭게 통과했습니다.Jar 파일 만들기
AWS Toolkit을 사용하면 직접 배치할 수 있지만 보안상 Eclipse에 AWS 비밀번호를 입력하고 싶지 않습니다. 좀 번거롭지만 Jar 파일을 만든 후에 배치해야 합니다.
Jar 파일은 일반적으로 방금 재생된 My Lambda FunctionHandler 클래스만 배치하면 됩니다.(src 이하만 선택하십시오)
람다 함수 생성 및 테스트
Lambda Function에서 새 Function을 만들고 Blueprint에서 Hello Lambda를 간단하게 선택하십시오.그리고 다음과 같이 Jar 파일의 업로드 등을 설정합니다.
(Handler에서 방금 만든 클래스 이름의 전체 경로를 지정하십시오.)
그리고 실행하면 순조롭게 성공할 것이다.
Reference
이 문제에 관하여(AWS Lambda의 Java 사용 시도), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/yokobonbon/items/64baf815f000bcb8abec
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Lambda Function에서 새 Function을 만들고 Blueprint에서 Hello Lambda를 간단하게 선택하십시오.그리고 다음과 같이 Jar 파일의 업로드 등을 설정합니다.
(Handler에서 방금 만든 클래스 이름의 전체 경로를 지정하십시오.)
그리고 실행하면 순조롭게 성공할 것이다.
Reference
이 문제에 관하여(AWS Lambda의 Java 사용 시도), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yokobonbon/items/64baf815f000bcb8abec텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)