• ADADADADAD

    如何在 Java 中详细创建一个简单的 AWS Lambda 函数[ 建站问答 ]

    建站问答 时间:2024-12-24 18:56:49

    作者:文/会员上传

    简介:

    在本章中,让我们详细了解如何在 Java 中详细创建一个简单的 AWS Lambda 函数。在 Eclipse 中创建 JAR 文件在继续在 AWS 中创建 lambda 函数之前,我们需要 AWS 工具包支持 Ecl

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。

    在本章中,让我们详细了解如何在 Java 中详细创建一个简单的 AWS Lambda 函数。

    在 Eclipse 中创建 JAR 文件

    在继续在 AWS 中创建 lambda 函数之前,我们需要 AWS 工具包支持 Eclipse。有关安装的任何指导,您可以参考本教程中的环境设置章节。

    完成安装后,请按照此处给出的步骤操作

    步骤 1

    打开 Eclipse IDE 并使用AWS Lambda Java 项目创建一个新项目。观察下面给出的屏幕截图以更好地理解

    步骤 2

    一旦您选择下一步,它将重定向到如下所示的屏幕

    步骤 3

    现在,为输入类型自定义创建了一个默认代码。单击Finish按钮后,项目将被创建,如下所示

    步骤 4

    现在,右键单击您的项目并将其导出。从导出向导中选择Java/JAR文件,然后点击下一步。

    步骤 5

    现在,如果您单击下一步,系统将提示您将文件保存在目标文件夹中,单击下一步时将询问该文件夹。

    文件保存后,返回 AWS 控制台并为 Java 创建 AWS Lambda 函数。

    步骤 6

    现在,上传我们使用Upload按钮创建的.jar文件,如下面的屏幕截图所示

    Java 处理程序详细信息

    Handler是包名和类名。查看以下示例以详细了解处理程序

    示例

    package c.amazonaws.lambda.demo;
    import c.amazonaws.services.lambda.runtimeontext;
    import c.amazonaws.services.lambda.runtime.RequestHandler;
    public class LambdaFunctionHandler implements RequestHandler

    从上面的代码可以看出,处理程序将是c.amazonaws.lambda.demo.LambdaFunctionHandler

    现在,让我们测试更改并查看输出

    Java 中的上下文对象

    与 AWS Lambda 执行的交互是使用上下文完成的。它提供了以下在 Java 中使用的方法

    Sr.No

    上下文方法和描述

    1

    getMemoryLimitInMB()

    这将给出您在创建 lambda 函数时指定的内存限制。

    2

    getFunctionName()

    这将给出 lambda 函数的名称。

    3

    getFunctionVersion()

    这将给出正在运行的 lambda 函数的版本。

    4

    getInvokedFunctionArn()

    这将给出用于调用函数的 ARN。

    5

    getAwsRequestId()

    这将给出 aws 请求 ID。这个 id 是为 lambda 函数创建的,它是唯一的。如果您遇到任何问题,该 ID 可以与 aws 支持一起使用。

    6

    getLogGroupName()

    这将给出与创建的 aws lambda 函数链接的 aws cloudwatch 组名称。如果 iam 用户没有 cloudwatch 日志记录的权限,它将为 null。

    7

    getClientContext()

    当与 aws mobile sdk 一起使用时,这将提供有关应用程序和设备的详细信息。它将提供版本名称和代码、客户端 ID、标题、应用程序包名称等详细信息。它可以为空。

    8

    getIdentity()

    当与 aws mobile sdk 一起使用时,这将提供有关 amazon cognito 身份的详细信息。它可以为空。

    9

    getRemainingTimeInMillis()

    这将给出在指定超时后函数终止时的剩余执行时间(以毫秒为单位)。

    10

    getLogger()

    这将提供与上下文对象链接的 lambda 记录器。

    现在,让我们更新上面给出的代码并观察上面列出的一些方法的输出。观察下面给出的示例代码以更好地理解

    package c.amazonaws.lambda.demo;
    import c.amazonaws.services.lambda.runtimeontext;
    import c.amazonaws.services.lambda.runtime.RequestHandler;
    public class LambdaFunctionHandler implements RequestHandler<Object, String> {
    @Override
    public String handleRequest(Object input, Context context) {
    context.getLogger().log("Input: " + input);
    System.out.println("AWS Lambda function name: " + context.getFunctionName());
    System.out.println("Memory Allocated: " + context.getMemoryLimitInMB());
    System.out.println("Time remaining in milliseconds: " + context.getRemainingTimeInMillis());
    System.out.println("Cloudwatch group name " + context.getLogGroupName());
    System.out.println("AWS Lambda Request Id " + context.getAwsRequestId());

    // TODO: implement your handler
    return "Hello fr Lambda!";
    }
    }

    一旦你运行上面给出的代码,你可以找到下面给出的输出

    上下文日志

    当您查看日志输出时,您可以观察到以下输出

    为 Lambda 函数分配的内存为 512MB。分配的时间为 25 秒。如上所示,剩余时间为 24961,单位为毫秒。所以 2500024961 等于 39 毫秒用于执行 Lambda 函数。请注意,Cloudwatch 组名称和请求 ID 也如上所示。

    请注意,我们使用以下命令在 Java 中打印日志

    System.out.println (“log message”)

    在 CloudWatch 中也有同样的功能。为此,请转到 AWS 服务,选择CloudWatchservices并单击日志。

    现在,如果您选择 Lambda 函数,它将按日期显示日志,如下所示

    Java 登录

    您还可以在 Java 中使用 Lambdalogger 来记录数据。观察以下显示相同的示例

    示例

    package c.amazonaws.lambda.demo;
    import c.amazonaws.services.lambda.runtimeontext;
    import c.amazonaws.services.lambda.runtime.RequestHandler;
    import c.amazonaws.services.lambda.runtime.LambdaLogger;
    public class LambdaFunctionHandler implements RequestHandler<Object, String> {
    @Override
    public String handleRequest(Object input, Context context) {
    LambdaLogger logger = context.getLogger();
    logger.log("Input: " + input);
    logger.log("AWS Lambda function name: " + context.getFunctionName()+"\n");
    logger.log("Memory Allocated: " + context.getMemoryLimitInMB()+"\n");
    logger.log("Time remaining in milliseconds: " + context.getRemainingTimeInMillis()+"\n");
    logger.log("Cloudwatch group name " + context.getLogGroupName()+"\n");
    logger.log("AWS Lambda Request Id " + context.getAwsRequestId()+"\n");

    // TODO: implement your handler
    return "Hello fr Lambda!";
    }
    }

    上面显示的代码将为您提供以下输出

    CloudWatch 中的输出将如下所示

    Java 中 Lambda 函数的错误处理

    本节将解释如何在 Java 中为 Lambda 函数处理错误。观察以下显示相同的代码

    package c.amazonaws.lambda.errorhandling;
    import c.amazonaws.services.lambda.runtimeontext;
    import c.amazonaws.services.lambda.runtime.RequestHandler;
    public class LambdaFunctionHandler implements RequestHandler<Object, String> {
    @Override
    public String handleRequest(Object input, Context context) {
    throw new RuntimeException("Error fr aws lambda");
    }
    }

    请注意,错误详细信息以带有 errorMessageError fr AWS Lambda的json格式显示。此外,ErrorType和stackTrace提供了有关错误的更多详细信息。

    上面给出的代码的输出和相应的日志输出将如下面的截图所示

    作为AWS核心代理商,选择天.下.数.据的优势

    1、专属客服协助注册AWS,或提供注册好的账号直接使用

    2、支持收U等多币种支付代付,无额外服务费用

    3、AWS多种产品类型,更高产品租赁权限

    4、针对大客户,AWS专属折扣优惠

    5、7x24小时专属客服,在线解答各种疑问

    AWS亚马逊云代理商哪家好?推荐找,可享受高额折扣、高额返现优惠,电话40 02023/aws

    如何在 Java 中详细创建一个简单的 AWS Lambda 函数.docx

    将本文的Word文档下载到电脑

    推荐度:

    下载