我正在尝试更新我的项目,以便通过使用 bom 配置来使用 SDK v2。
我已经更新了我的 pom 文件,但现在 RequestHandler
和 Context
找不到。
这是我的 Maven 配置文件
<dependencyManagement>
<dependencies>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>bom</artifactId>
<version>2.1.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>software.amazon.awssdk</groupId>
<artifactId>lambda</artifactId>
</dependency>
</dependencies>
而我之前的配置正在运行
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-lambda-java-core</artifactId>
<version>1.2.0</version>
</dependency>
似乎找不到我应该导入什么来丢失类。
还是在 V2 中,有不同的签名?
这是我的课:
public class Cron implements RequestHandler<Object, Object> {
public Object handleRequest(final Object input, final Context context) {
感谢您的任何指示。
C.C.
最佳答案
似乎您的类路径中仍然必须同时拥有 SDK v1 和 SDK v2。
例如,查看 Lambda Java documentation您可以看到所有导入仍然以 com.amazonaws
开头(SDK v1) 而不是 software.amazon
(SDK v2)。
他们列出的示例之一是blank-java他们将其描述为“具有事件库、高级日志记录配置和 AWS SDK for Java 2.x 的 Java 函数,它调用 Lambda API 来检索账户设置”
如果您查看该示例应用程序的 pom.xml你会看到 com.amazonaws
和 software.amazon
包混合在一起。
Lambda handler 也是如此.
因此,要么他们没有将所有内容移植到 SDK v2,要么他们仍然希望您使用 SDK v1 中的接口(interface) - 然后可以使用 SDK v2 中的更多功能代码(非接口(interface)代码)。
关于java - 适用于 Lambda 的 AWS 开发工具包 V2 Maven 库是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61157061/