O AWS SDK para Java 1.x chegou end-of-support em 31 de dezembro de 2025. Recomendamos que você migre para o AWS SDK for Java 2.x para continuar recebendo novos recursos, melhorias de disponibilidade e atualizações de segurança.
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 Lambda
Esta seção fornece exemplos de programação com o cliente de serviço do Lambda usando o AWS SDK para Java. Para saber como criar uma função do Lambda, consulte Como criar funções do AWS Lambda.
Invocar uma função
É possível invocar uma função do Lambda criando um objeto AWSLambda e invocando seu método invoke. Crie um objeto InvokeRequest para especificar informações adicionais, como o nome da função e a carga útil a serem transmitidas para a função do Lambda. Os nomes de função aparecem como arn:aws:lambda:us-east-1:555556330391:function:HelloFunction. É possível recuperar o valor examinando a função no Console de gerenciamento da AWS.
Para transmitir dados de carga para uma função, invoque o método withPayload do objeto InvokeRequest e especifique uma String no formato JSON, conforme mostrado no exemplo de código a seguir.
Importações
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;
Código da
O exemplo de código a seguir demonstra como invocar uma função do 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());
Veja o exemplo completo no GitHub
Listar as funções
Crie um objeto AWSLambda e invoque seu método listFunctions. Este método retorna um objeto ListFunctionsResult. É possível invocar o método getFunctions desse objeto para retornar uma lista de objetos FunctionConfiguration. É 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 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;
Código da
O exemplo de código Java a seguir demonstra como recuperar uma lista de nomes de função do 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); }
Veja o exemplo completo no GitHub
Excluir uma função
Crie um objeto AWSLambda e invoque seu método deleteFunction. Crie um objeto DeleteFunctionRequest e transmita-o ao método deleteFunction. 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:555556330391:function:HelloFunction. É possível recuperar o valor examinando a função no Console de gerenciamento da AWS.
Importações
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;
Código da
O seguinte código Java demonstra como excluir uma função do 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); }
Veja o exemplo completo no GitHub