Я развертываю лямбда-функцию AWS, используя java в качестве основного языка, здесь ниже я делюсь своим кодом класса java и моим файлом maven pom.xml:
package com.amazonaws.lambda.demo;
import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.RequestHandler;
import com.amazonaws.services.lambda.runtime.events.KinesisEvent;
import com.amazonaws.services.lambda.runtime.events.KinesisEvent.KinesisEventRecord;
public class LambdaFunctionHandler implements RequestHandler<KinesisEvent, Integer> {
@Override
public Integer handleRequest(KinesisEvent event, Context context) {
context.getLogger().log("Input: " + event);
for (KinesisEventRecord rec : event.getRecords()) {
System.out.println(new String(rec.getKinesis().getData().array()));
}
return null;
}
}
Вот мой pom.xml:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.amazonaws.lambda</groupId>
<artifactId>demo</artifactId>
<version>1.0.0</version>
<packaging>jar</packaging>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
<forceJavacCompilerUse>true</forceJavacCompilerUse>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.0.0</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M1</version>
</plugin>
</plugins>
</build>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-bom</artifactId>
<version>1.11.529</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-lambda-java-events</artifactId>
<version>1.3.0</version>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-lambda-java-core</artifactId>
<version>1.1.0</version>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-s3</artifactId>
<version>1.11.528</version>
</dependency>
</dependencies>
</project>
Когда я запускаю локальный тест, я получаю ошибку:
[ОШИБКА] Не удалось выполнить цель
org.apache.maven.plugins: Maven-безошибочный-плагин: 3.0.0-M1: тест
(default-test) в демонстрационной версии проекта: есть тестовые сбои. [ОШИБКА]
[ОШИБКА] Пожалуйста, обратитесь к
/ Главная / andrw / затмение-рабочее пространство / кинезис потребителя / цель / Surefire-отчеты
для индивидуальных результатов испытаний. [ОШИБКА] Пожалуйста, обратитесь к файлам дампа
(если таковые имеются) [date] .dump, [date] -jvmRun [N] .dump и
[Дата] .dumpstream. [ОШИБКА] -> [Помощь 1] [ОШИБКА] [ОШИБКА] Чтобы увидеть
полное отслеживание стека ошибок, перезапустите Maven с ключом -e.
[ОШИБКА] Перезапустите Maven, используя ключ -X, чтобы включить полное ведение журнала отладки.
[ОШИБКА] [ОШИБКА] Для получения дополнительной информации об ошибках и возможных
Решения, пожалуйста, прочитайте следующие статьи: [ОШИБКА] [Помощь 1]
http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException