The AWS SDK for Java 1.x는 2024년 7월 31일부터 유지 관리 모드로 전환되었으며 2025년 12월 31end-of-support
기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Lambda 함수 호출, 나열 및 삭제
이 단원에서는 AWS SDK for Java를 사용하여 Lambda 서비스 클라이언트를 통해 프로그래밍하는 예제를 제공합니다. Lambda 함수 생성 방법에 대한 자세한 내용은 AWS Lambda 함수 생성 방법을 참조하세요.
함수 호출.
AWSLambda 객체를 만들고 객체의 invoke
메서드를 호출하여 Lambda 함수를 호출할 수 있습니다. InvokeRequest 객체를 만들어 Lambda 함수에 전달할 함수 이름 및 페이로드와 같은 추가 정보를 지정합니다. 함수 이름은 arn:aws:lambda:us-east-1:555556330391:function:HelloFunction과 같이 나타납니다. AWS Management Console에서 함수를 확인해 값을 검색할 수 있습니다.
함수에 페이로드 데이터를 전달하려면 InvokeRequest 객체의 withPayload
메서드를 호출하고 다음 코드 예제와 같이 JSON 형식으로 문자열을 지정합니다.
가져오기
import com.amazonaws.auth.profile.ProfileCredentialsProvider; import com.amazonaws.regions.Regions; import com.amazonaws.services.lambda.AWSLambda; import com.amazonaws.services.lambda.AWSLambdaClientBuilder; import com.amazonaws.services.lambda.model.InvokeRequest; import com.amazonaws.services.lambda.model.InvokeResult; import com.amazonaws.services.lambda.model.ServiceException; import java.nio.charset.StandardCharsets;
코드
다음 코드 예제는 Lambda 함수를 호출하는 방법을 보여줍니다.
String functionName = args[0]; InvokeRequest invokeRequest = new InvokeRequest() .withFunctionName(functionName) .withPayload("{\n" + " \"Hello \": \"Paris\",\n" + " \"countryCode\": \"FR\"\n" + "}"); InvokeResult invokeResult = null; try { AWSLambda awsLambda = AWSLambdaClientBuilder.standard() .withCredentials(new ProfileCredentialsProvider()) .withRegion(Regions.US_WEST_2).build(); invokeResult = awsLambda.invoke(invokeRequest); String ans = new String(invokeResult.getPayload().array(), StandardCharsets.UTF_8); //write out the return value System.out.println(ans); } catch (ServiceException e) { System.out.println(e); } System.out.println(invokeResult.getStatusCode());
GitHub
함수 나열
AWSLambda 객체를 빌드하고 객체의 listFunctions
메서드를 호출합니다. 이 메서드는 ListFunctionsResult 객체를 반환합니다. 이 객체의 getFunctions
메서드를 호출하여 FunctionConfiguration 객체 목록을 반환할 수 있습니다. 목록을 반복하여 함수에 대한 정보를 검색할 수 있습니다. 예를 들어 다음 Java 코드 예제는 각 함수 이름을 가져오는 방법을 보여줍니다.
가져오기
import com.amazonaws.auth.profile.ProfileCredentialsProvider; import com.amazonaws.regions.Regions; import com.amazonaws.services.lambda.AWSLambda; import com.amazonaws.services.lambda.AWSLambdaClientBuilder; import com.amazonaws.services.lambda.model.FunctionConfiguration; import com.amazonaws.services.lambda.model.ListFunctionsResult; import com.amazonaws.services.lambda.model.ServiceException; import java.util.Iterator; import java.util.List;
코드
다음 Java 코드 예제는 Lambda 함수 이름 목록을 검색하는 방법을 보여 줍니다.
ListFunctionsResult functionResult = null; try { AWSLambda awsLambda = AWSLambdaClientBuilder.standard() .withCredentials(new ProfileCredentialsProvider()) .withRegion(Regions.US_WEST_2).build(); functionResult = awsLambda.listFunctions(); List<FunctionConfiguration> list = functionResult.getFunctions(); for (Iterator iter = list.iterator(); iter.hasNext(); ) { FunctionConfiguration config = (FunctionConfiguration)iter.next(); System.out.println("The function name is "+config.getFunctionName()); } } catch (ServiceException e) { System.out.println(e); }
GitHub
함수 삭제
AWSLambda 객체를 빌드하고 객체의 deleteFunction
메서드를 호출합니다. DeleteFunctionRequest 객체를 만들고 deleteFunction
메서드에 전달합니다. 이 개체에는 삭제할 함수의 이름과 같은 정보가 포함되어 있습니다. 함수 이름은 arn:aws:lambda:us-east-1:555556330391:function:HelloFunction과 같이 나타납니다. AWS Management Console에서 함수를 확인해 값을 검색할 수 있습니다.
가져오기
import com.amazonaws.auth.profile.ProfileCredentialsProvider; import com.amazonaws.regions.Regions; import com.amazonaws.services.lambda.AWSLambda; import com.amazonaws.services.lambda.AWSLambdaClientBuilder; import com.amazonaws.services.lambda.model.ServiceException; import com.amazonaws.services.lambda.model.DeleteFunctionRequest;
코드
다음 Java 코드는 Lambda 함수를 삭제하는 방법을 설명합니다.
String functionName = args[0]; try { AWSLambda awsLambda = AWSLambdaClientBuilder.standard() .withCredentials(new ProfileCredentialsProvider()) .withRegion(Regions.US_WEST_2).build(); DeleteFunctionRequest delFunc = new DeleteFunctionRequest(); delFunc.withFunctionName(functionName); //Delete the function awsLambda.deleteFunction(delFunc); System.out.println("The function is deleted"); } catch (ServiceException e) { System.out.println(e); }
GitHub