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

相关推荐
A小辣椒5 天前
AWS Clould Support Engineer就职面试题
aws
tiancaijiben7 天前
阿里云Kubernetes集群托管完全指南:从创建到生产级运维
云计算
亚林瓜子7 天前
AWS WAF中如何放行某个触发了托管规则的接口
aws·waf
互联网推荐官7 天前
上海软件定制开发公司推荐:从PaaS工程化路径看D-coding的技术取舍
云原生·云计算·paas·软件开发·开发经验·上海
sbjdhjd7 天前
从零搭建企业级 CI/CD(下):Jenkins+GitLab+Harbor 全链路实战指南
git·servlet·ci/cd·云原生·云计算·gitlab·jenkins
tiancaijiben7 天前
阿里云应用实时监控服务ARMS完全接入指南:从探针部署到全链路可观测
云计算
xingyuzhisuan8 天前
算力租赁平台 GPU 资源隔离方案:显存抢占问题深度排查与解决
大数据·云计算·gpu算力
workbuddy小能手8 天前
腾讯云ADP Agent Portal vs 自建智能体:架构选型对比
架构·云计算·腾讯云
宸津-代码粉碎机8 天前
Spring AI 企业级实战|智能记忆摘要+自动遗忘机制落地,彻底解决上下文爆炸与Token冗余
java·大数据·人工智能·后端·python·spring·云计算