AWS Lambda 第一个例子Hello (JAVA)

什么是Serverless(无服务器计算)

行业通常所说的Serverless,主要是指"无服务器计算(Serverless Computing)"。**无服务器计算,**并不是真的不需要服务器,而是说,对于用户,服务器变得"不可见"了。

应用场景

【场景1:实时文件处理】可以使用 Amazon S3 触发 Amazon Lambda,以便在上传数据后立即进行处理。例如,可以使用 Lambda 实时创建图像缩略图、转换视频代码、建立文件索引、处理日志、验证内容以及聚合和筛选数据。

【场景2:移动互联网后端服务】可以使用 Amazon Lambda 和 Amazon API Gateway 构建后端来验证和处理 API 请求。

【场景3:Web应用程序】通过将 Amazon Lambda 与其他AWS服务相结合,开发人员可以构建功能强大的 Web 应用程序,从而可自动扩展和收缩,并跨多个数据中心在高可用配置中运行,而无需在可扩展性、备份或多数据中心冗余方面执行任何管理工作。

创建一个Maven项目

  1. pom.xml
XML 复制代码
<dependencies>
    <dependency>
        <groupId>com.amazonaws</groupId>
        <artifactId>aws-lambda-java-core</artifactId>
        <version>1.2.0</version>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-shade-plugin</artifactId>
            <version>2.3</version>
            <configuration>
                <createDependencyReducedPom>false</createDependencyReducedPom>
            </configuration>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>shade</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>
  1. 编写输入类RequestClass
java 复制代码
package example;

public class RequestClass {
    String firstName;
    String lastName;
    public String getFirstName() {
        return firstName;
    }

    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }

    public String getLastName() {
        return lastName;
    }

    public void setLastName(String lastName) {
        this.lastName = lastName;
    }

    public RequestClass(String firstName, String lastName) {
        this.firstName = firstName;
        this.lastName = lastName;
    }

    public RequestClass() {
    }
}
  1. 编写输出类ResponseClass
java 复制代码
package example;

public class ResponseClass {
    String greetings;

    public String getGreetings() {
        return greetings;
    }

    public void setGreetings(String greetings) {
        this.greetings = greetings;
    }

    public ResponseClass(String greetings) {
        this.greetings = greetings;
    }

    public ResponseClass() {
    }
}
  1. 编写主函数
java 复制代码
package example;

import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.RequestHandler;

public class Hello implements RequestHandler<RequestClass, ResponseClass>{  
    public ResponseClass handleRequest(RequestClass request, Context context){
        String greetingString = String.format("Hello %s, %s.", request.firstName, request.lastName);
        return new ResponseClass(greetingString);
    }
}
  1. 创建lambda函数

上传jar包

测试,输入json

点击测试后查看运行结果

参考:

Amazon Lambda的功能与应用场景 | AWS Serverless_aws lambda 哪些应用-CSDN博客

https://www.cnblogs.com/wenjiayi/p/13251644.html

相关推荐
222you2 小时前
智慧社区:调用腾讯云的人脸识别接口完成人脸采集的功能
云计算·github·腾讯云
冬天的风滚草2 小时前
揭秘云原生混布资源调度器Koordinator (六)MetricCache 指标缓存机制
云计算
冬天的风滚草2 小时前
揭秘云原生混布资源调度器Koordinator (一)Koordinator 整体架构设计
云计算
可爱又迷人的反派角色“yang”3 小时前
docker(五)
linux·运维·网络·docker·容器·云计算
EMQX3 小时前
大规模使用 AWS IoT Core 的成本困境:EMQX 如何削减 80% 开支
物联网·mqtt·云计算·aws
weixin_307779133 小时前
通过AWS Transfer Family集成Active Directory实现安全SFTP文件访问
安全·云计算·aws
木子欢儿4 小时前
阿里云系统磁盘总读BPS突然增长很高,导致网站502 Bad Gateway
阿里云·云计算·gateway
翼龙云_cloud5 小时前
亚马逊云渠道商:AWS Lightsail 极速部署演示环境搭建指南
运维·服务器·云计算·aws
微爱帮监所写信寄信5 小时前
微爱帮技术实践:阿里云短信接口的高可用优化方案
开发语言·网络协议·阿里云·云计算·php