Invocar, enumerar y eliminar funciones AWS Lambda - AWS SDK for Java 2.x

Invocar, enumerar y eliminar funciones AWS Lambda

En esta sección se proporcionan ejemplos de programación con el cliente de servicio de Lambda mediante el AWS SDK para Java 2.0.

Invocar una función Lambda

Puede invocar una función creando de Lambda creando un objeto LambdaClient e invocando su método invoke. Cree un objeto InvokeRequest para especificar información adicional, como el nombre de la función y la carga útil que desea pasar a la función de Lambda. Los nombres de funciones aparecen como arn:aws:lambda:us-east-1:123456789012:function:HelloFunction. Puede recuperar el valor viendo la función en la Consola de administración de AWS.

Para pasar datos de carga útil a una función, cree un objeto SdkBytes que contenga información. Por ejemplo, en el siguiente ejemplo de código, observe los datos JSON pasados a la función Lambda.

Importaciones

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 de

En el ejemplo de código siguiente se muestra cómo invocar una función 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); } }

Consulte el ejemplo completo en GitHub.

Enumerar funciones de Lambda

Construya un objeto de LambdaClient e invoque su método listFunctions. Este método devuelve un objeto ListFunctionsResponse. Puede invocar el método functions de este objeto para obtener una lista de objetos FunctionConfiguration. Puede recorrer la lista en iteración para recuperar información sobre las funciones. Por ejemplo, el siguiente ejemplo de código Java muestra cómo obtener el nombre de cada función.

Importaciones

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 de

El siguiente ejemplo de código Java muestra cómo recuperar una lista de nombres de funciones de .

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); } }

Consulte el ejemplo completo en GitHub.

Eliminación de una función de Lambda

Construya un objeto de LambdaClient e invoque su método deleteFunction. Cree un objeto DeleteFunctionRequest y páselo al método deleteFunction. Este objeto contiene información como el nombre de la función que se va a eliminar. Los nombres de funciones aparecen como arn:aws:lambda:us-east-1:123456789012:function:HelloFunction. Puede recuperar el valor viendo la función en la Consola de administración de AWS.

Importaciones

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 de

El siguiente código Java muestra cómo eliminar una función 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); } }

Consulte el ejemplo completo en GitHub.