本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 Java 构建 Lambda 函数

您可以在 AWS Lambda 中运行 Java 代码。Lambda 为运行代码来处理事件的 Java 提供运行时。您的代码在一个 Amazon Linux 环境中运行,该环境包含来自您所管理的 AWS Identity and Access Management (IAM)

的角色的 AWS 凭证。

Lambda 支持以下 Java 运行时。

Java 运行时

名称

标识符

JDK

操作系统

Java 11

java11

amazon-corretto-11

Amazon Linux 2

Java 8

java8.al2

amazon-corretto-8

Amazon Linux 2

Java 8

java8

java-1.8.0-openjdk

Amazon Linux

Lambda 函数使用执行角色来获取将日志写入 Amazon CloudWatch Logs 以及访问其他服务和资源的权限。如果您还没有函数开发的执行角色,请创建一个。

创建执行角色

打开 IAM 控制台中的“角色”页面。

选择 Create role (创建角色)。

创建具有以下属性的角色。

可信任的实体 – Lambda。

权限 – AWSLambdaBasicExecutionRole。

角色名称 (角色名称) – lambda-role。

AWSLambdaBasicExecutionRole 策略具有函数将日志写入 CloudWatch Logs 所需的权限。

您可以稍后向此角色添加权限,或将其与特定于单一函数的其他角色交换。

创建 Java 函数

选择创建函数。

配置以下设置:

名称 – my-function。

运行时 – Java 11。

角色 – 选择现有角色。

现有角色 – lambda-role。

选择创建函数。

要配置测试事件,请选择测试。

对于事件名称,输入 test。

选择创建。

选择测试以调用该函数。

控制台会创建具有名为 Hello 的处理程序类的 Lambda 函数。由于 Java 是编译语言,因此您无法在 Lambda 控制台中查看或编辑源代码,但可以修改源代码的配置、调用源代码以及配置触发器。

注意

要在本地环境中开始应用程序开发,请部署本指南的 GitHub 存储库中提供的其中一个示例应用程序。

Hello 类具有一个名为 handleRequest 的函数,此函数接受事件对象和上下文对象。这是在调用函数时 Lambda 调用的处理程序函数。Java 函数运行时从 Lambda 获取调用事件并将它们传递到处理程序。在函数配置中,处理程序值为 example.Hello::handleRequest。

要更新函数的代码,您需要创建一个部署程序包,这是一个包含函数代码的 .zip 文件存档。随着函数开发的进行,您需要将函数代码存储在源代码控制中、添加库和实现部署自动化。首先,通过命令行创建部署程序包并更新代码。

除了调用事件之外,函数运行时还将上下文对象传递给处理程序。上下文对象包含有关调用、函数和执行环境的其他信息。环境变量中提供了更多信息。

您的 Lambda 函数附带了 CloudWatch Logs 日志组。函数运行时将发送有关对 CloudWatch Logs 的每个调用的详细信息。它会中继调用期间函数输出的任何日志。如果您的函数返回错误,则 Lambda 将为错误设置格式,并将其返回给调用方。

lambda函数 java_使用 Java 构建 Lambda 函数 - AWS Lambda相关推荐

  1. Web 函数自定义镜像实战:构建图象处理函数

    Web 函数自定义镜像实战:构建图象处理函数 本篇文章写作于 2021.07.23 前言 作为一名前端工程师,我们经常会在 H5, 或者小程序中,使用 Canvas 来处理或生成图片. 不过在有些禁用 ...

  2. isnumeric java_IsNumeric 判断字符串是否为数字(使用Val函数实现),这个函数相当于Java的IsNaN函数...

    IsNumeric 判断字符串是否为数字,如果是数字返回true,如果包含有汉字或字符的话返回false. 由于Delphi本身没有IsNumeric这个函数,不像其它语言,这个函数相当于Java的I ...

  3. python的lambda函数错误的是_Python 中的 AWS Lambda 函数错误 - AWS Lambda

    Python 中的 AWS Lambda 函数错误 当您的代码引发错误时,Lambda 将生成错误的 JSON 表示形式.此错误文档会出现在调用日志中,对于同步调用,它出现在输出中. 例 lambda ...

  4. aws lambda_适用于无服务器Java开发人员的AWS Lambda:它为您提供了什么?

    aws lambda 无服务器计算如何帮助您的生产基础架构? 在过去的几年中,无服务器计算架构一直受到关注,因为它专注于应用程序的主要组件之一:服务器. 这种体系结构采用了不同的方法. 在下面的文章中 ...

  5. 适用于无服务器Java开发人员的AWS Lambda:它为您带来了什么?

    无服务器计算如何帮助您的生产基础架构? 在过去的几年中,无服务器计算架构一直受到关注,因为它专注于应用程序的主要组件之一:服务器. 这种体系结构采用了不同的方法. 在下面的文章中,我们将解释无服务器的 ...

  6. java string()函数_转载java String.split()函数的用法详解

    转载java String.split()函数的用法详解 如果您发现本文排版有问题,可以先点击下面的链接切换至老版进行查看!!!在java.lang包中有String.split()方法的原型是: p ...

  7. 构造函数和复制函数java_用Java复制构造函数

    构造函数和复制函数java Copy Constructor in java class is a special type of constructor that takes same class ...

  8. gettime 函数 java_关于java:如何使date.getTime()返回UTC时间?

    我有一个Date对象,它代表一个UTC时间. 当我使用getTime()方法获取此对象的长整型值时,返回的值对应于我们的当地时间(美国中部). 取回与原始UTC时间相对应的值的正确方法是什么? 谢谢 ...

  9. java中所有函数都是虚函数_关于Java:虚拟函数与纯虚函数之间的区别是什么?...

    本问题已经有最佳答案,请猛点这里访问. Possible Duplicate: C++ Virtual/Pure Virtual Explained 虚函数和纯虚函数有什么区别? CPP中的纯虚函数与 ...

最新文章

  1. pythonapi是什么_python接口自动化(一)--什么是接口、接口优势、类型(详解)...
  2. 利用pip3 install --upgrade批量更新已过期的python库
  3. 《互联网项目运营分析》第四章 :互联网项目的技术选择与应用
  4. 从虚拟化到云原生——容器技术的发展史
  5. oracle删除本地文件权限,使用 UNIX 权限保护文件
  6. 高效的序列化/反序列化数据方式 Protobuf
  7. python字符串随机排序_python 随机数使用方法,推导以及字符串,双色球小程序实例...
  8. UDK编辑器 49条小提示
  9. 通用 字符串工具类
  10. 随机变量的数字特征(期望、方差、标准差、矩、协方差...)
  11. LINUX/MAC的rpath,搜索依赖库时从哪里开始
  12. MatConvNet安装问题
  13. 短信验证码有哪些好用的平台?需注意这5点!
  14. 《亲密关系》良句收录和观后观想
  15. uni-app 退出app操作
  16. aardio - 巧用字符分隔符\u0001
  17. html5 xml在线编辑,XML 编辑器
  18. 区块链挑战传统支付体系
  19. Docker pull 失败,更换国内源daocloud
  20. 【分治思想】12627 Erratic Expansion

热门文章

  1. angularjs ngrepeat filter
  2. Icon资源详解[1]
  3. Linux新手笔记 源 安装chromium
  4. 简单小巧的跨平台共享内存代码
  5. C++之嵌套内部类用法
  6. 解决:scripts/kconfig/zconf.tab.c:199:24: fatal error: zconf.hash.c: No such file or directory
  7. C++关键字 friend
  8. Android基础知识之智能指针:强指针和弱指针
  9. RabbitMq之发布订阅模式
  10. java 抽象类 模板_Java学习day21-抽象类(abstract class)和模板设计模式(TemplateMethod)...