您现在可以使用Amazon S3转移经理(开发人员预览版)
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
调用、列出和删除Amazon Lambda功能
此部分提供使用对进行编程的示例。Lambda服务客户端通过使用Amazon SDK for Java2.x。
调用 Lambda 函数
您可以调用Lambda函数通过创建LambdaClient对象并调用它invoke
方法。创建 InvokeRequest 对象可指定其他信息,例如函数名称和要传递给 Lambda 函数的负载。函数名称显示为arna: aws: lambda: us-east⸺-1:123456789012: function: HelloFunction. 可以通过查看中的函数来检索值。Amazon Web Services Management Console.
要将有效负载数据传递给函数,请创建包含信息的 SDKBytes 对象。例如,在以下代码示例中,请注意传递给 Lambda 函数的 JSON 数据。
导入
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;
代码
以下代码示例演示如何调用 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); } }
请参阅 GitHub 上的完整示例
列出 Lambda 函数
构建Lambda客户端对象并调用它listFunctions
方法。此方法返回一个 ListFunctionsResponse 对象。可以调用此对象的 functions
方法来返回 FunctionConfiguration 对象的列表。可以遍历该列表来检索有关函数的信息。例如,以下 Java 代码示例说明如何获取每个函数名称。
导入
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;
代码
以下 Java 代码示例演示如何检索函数名称的列表。
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); } }
请参阅 GitHub 上的完整示例
删除 Lambda 函数
构建一个 LambdaClient 对象并调用其 deleteFunction
方法。创建一个 DeleteFunctionRequest 对象并将该对象传递给 deleteFunction
方法。此对象包含要删除的函数的名称等信息。函数名称显示为arna: aws: lambda: us-east⸺-1:123456789012: function: HelloFunction. 可以通过查看中的函数来检索值。Amazon Web Services Management Console.
导入
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;
代码
以下 Java 代码演示如何删除Lambdafunction.
public static void deleteLambdaFunction(LambdaClient awsLambda, String functionName ) { try { //Setup an DeleteFunctionRequest 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); } }
请参阅 GitHub 上的完整示例