版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Phone_1070333541/article/details/80632817
最近,在研究AWS 的 lambda无服务架构,在这里做一下记录。
官方文档链接:https://docs.aws.amazon.com/zh_cn/lambda/latest/dg/welcome.html
你要是想玩一玩aws,首先要有一个帐号,因为开发要登录控制台。注意申请账号的时候要提交信用卡号,注册帐号会赠送套餐。
一、开发流程。
- 编写自己的代码(maven开发),打包成jar包。
- 上传到控制台并创建函数。
- 点击测试,编写测试用例。
二、 编写代码。
创建Maven项目,pom.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>
编写主函数
package example;
import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.RequestHandler;
public class HelloPojo 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);
}
}
当作输入的类。
// 保证有无参构造
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() {
}
}
当作输出的类。
//同样保证有无参构造。
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() {
}
}
运行maven命令将其打包。
package // 运行完成后,jar包在target文件夹里。
三、打开控制台,创建并上传函数。
1. 登录控制台选择lambda。
2. 创建函数。
a. 名称随意。(目前不确定加不加前缀)
b. 选择语言。
c. 选择或创建角色,角色要有lambda执行权限。
3. 上传刚才的jar包。
注意处理程序命名规则:包.类::方法名。
4. 点击保存。
四、测试。
1. 点击配置测试时间,填写测试用例。(json格式,对应方法的参数)
2. 点击测试按钮,即可运行。