Invocar, listar e excluir funções do AWS Lambda
Esta seção fornece exemplos de programação com o cliente de serviço do Lambda usando o AWS SDK para Java 2.x.
Invocar uma função do Lambda
É possível invocar uma função do Lambda criando um objeto LambdaClientinvoke. Crie um objeto InvokeRequest
Para passar dados de carga útil para uma função, crie um objeto SdkBytes
Importações
import software.amazon.awssdk.services.lambda.LambdaClient; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.lambda.model.InvokeRequest; import software.amazon.awssdk.core.SdkBytes; import software.amazon.awssdk.services.lambda.model.InvokeResponse; import software.amazon.awssdk.services.lambda.model.LambdaException;
Código da
O exemplo de código a seguir demonstra como invocar uma função do Lambda.
public static void invokeFunction(LambdaClient awsLambda, String functionName) { InvokeResponse res = null ; try { //Need a SdkBytes instance for the payload String json = "{\"Hello \":\"Paris\"}"; SdkBytes payload = SdkBytes.fromUtf8String(json) ; //Setup an InvokeRequest InvokeRequest request = InvokeRequest.builder() .functionName(functionName) .payload(payload) .build(); res = awsLambda.invoke(request); String value = res.payload().asUtf8String() ; System.out.println(value); } catch(LambdaException e) { System.err.println(e.getMessage()); System.exit(1); } }
Veja o exemplo completo
Listar funções do Lambda
Crie um objeto LambdaClient e invoque seu método listFunctions. Esse método retorna um objeto ListFunctionsResponsefunctions desse objeto para retornar uma lista de objetos FunctionConfiguration
Importações
import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.lambda.LambdaClient; import software.amazon.awssdk.services.lambda.model.LambdaException; import software.amazon.awssdk.services.lambda.model.ListFunctionsResponse; import software.amazon.awssdk.services.lambda.model.FunctionConfiguration; import java.util.List;
Código da
O exemplo de código Java a seguir demonstra como recuperar uma lista de nomes de função do .
public static void listFunctions(LambdaClient awsLambda) { try { ListFunctionsResponse functionResult = awsLambda.listFunctions(); List<FunctionConfiguration> list = functionResult.functions(); for (FunctionConfiguration config: list) { System.out.println("The function name is "+config.functionName()); } } catch(LambdaException e) { System.err.println(e.getMessage()); System.exit(1); } }
Veja o exemplo completo
Excluir uma função do Lambda
Crie um objeto LambdaClientdeleteFunction. Crie um objeto DeleteFunctionRequestdeleteFunction. Esse objeto contém informações como o nome da função a ser excluída. Os nomes de função aparecem como arn:aws:lambda:us-east-1:123456789012:function:HelloFunction. É possível recuperar o valor examinando a função no Console de gerenciamento da AWS.
Importações
import software.amazon.awssdk.services.lambda.LambdaClient; import software.amazon.awssdk.regions.Region; import software.amazon.awssdk.services.lambda.model.DeleteFunctionRequest; import software.amazon.awssdk.services.lambda.model.LambdaException;
Código da
O seguinte código Java demonstra como excluir uma função do Lambda.
public static void deleteLambdaFunction(LambdaClient awsLambda, String functionName ) { try { DeleteFunctionRequest request = DeleteFunctionRequest.builder() .functionName(functionName) .build(); awsLambda.deleteFunction(request); System.out.println("The "+functionName +" function was deleted"); } catch(LambdaException e) { System.err.println(e.getMessage()); System.exit(1); } }
Veja o exemplo completo