Invocar, listar e excluir funções do AWS Lambda - AWS SDK for Java 2.x

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Invocar, listar e excluir funções do AWS Lambda

Esta seção fornece exemplos de programação com o cliente Lambda de serviço usando o AWS SDK for Java 2.x.

Invocar uma função do Lambda

Você pode invocar uma Lambda função criando um LambdaClientobjeto e invocando seu invoke método. Crie um InvokeRequestobjeto para especificar informações adicionais, como o nome da função e a carga a ser passada para a Lambda função. Os nomes das funções aparecem como arn:aws:lambda:us-east- 1:123456789012:function:. HelloFunction É possível recuperar o valor examinando a função no AWS Management Console.

Para passar dados de carga útil para uma função, crie um SdkBytesobjeto que contenha informações. Por exemplo, no exemplo de código a seguir, observe os dados JSON passados para a função do Lambda .

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

O exemplo de código a seguir demonstra como invocar uma Lambda função.

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 em GitHub.

Listar funções do Lambda

Crie um Lambda Client objeto e invoque seu listFunctions método. Esse método retorna um ListFunctionsResponseobjeto. Você pode invocar o functions método desse objeto para retornar uma lista de FunctionConfigurationobjetos. É possível percorrer a lista para recuperar informações sobre as funções. Por exemplo, o exemplo de código Java a seguir mostra como obter cada nome de função.

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

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 em GitHub.

Excluir uma função do Lambda

Crie um LambdaClientobjeto e invoque seu deleteFunction método. Crie um DeleteFunctionRequestobjeto e passe-o para o deleteFunction método. Esse objeto contém informações como o nome da função a ser excluída. Os nomes das funções aparecem como arn:aws:lambda:us-east- 1:123456789012:function:. HelloFunction É possível recuperar o valor examinando a função no AWS Management Console.

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

O código Java a seguir demonstra como excluir uma Lambda função.

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 em GitHub.