【问题标题】:AWS Lambda without any parameters没有任何参数的 AWS Lambda
【发布时间】:2018-12-20 05:31:15
【问题描述】:

有没有什么方法可以创建不带任何参数的Java Lambda函数?

我的 Lambda 作业将被安排,没有 S3 事件或任何事件。 我还需要实现一个接口吗?哪一个? 它们似乎都需要输入参数。

如果我尝试不带任何参数,Eclipse IDE 会给我错误。

即使在类路径中使用指定的 jar,如果我尝试以下操作:

public String handleRequest() {

DatePicker datePicker = new DatePicker(-1, -1);

List<HubspotContact> contacts = MySoapClient.getRegistrants(datePicker.getStartDate(),datePicker.getEndDate());

insertToDB(contacts);



return null;
}

我收到此测试错误:

“errorMessage”:“javax/xml/rpc/ServiceException”,“errorType”: "java.lang.NoClassDefFoundError",

这是我用于处理程序信息的:

client.CDSSync::handleRequest

如果我将处理程序信息更改为:

client.CDSSync

我收到以下错误:

类没有实现适当的处理程序接口: 客户端.CDSSync

【问题讨论】:

  • 我不太清楚你在这里问什么。您是否将 Java lambda 表达式AWS Lambda 函数 混淆了?
  • 您是否尝试从 java 代码中调用 lambda 函数?
  • () -&gt; { doSomething(); } 应该可以工作。这是一个没有传递任何参数的 lambda。
  • @christopher 是的,我正在使用 AWS Lambda 和 Java。我更新了我的帖子。
  • @MichaelClayton 我猜这是Java 8,对吗?您能否发布更多信息 - 您的 pom.xml 中有哪些依赖项?你有一个显示问题的小例子吗?我相信DataPicker 是一个 JavaFX 类 - 你不能在 AWS Lambda 中使用 UI,所以你想在那里做什么?

标签: java aws-lambda


【解决方案1】:

当然 - 只需忽略输入。比如:

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

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

public class S3EventLambdaHandler implements RequestStreamHandler {
    public void handleRequest(InputStream inputStream, OutputStream outputStream, Context context) {
       // do your thing
    }

【讨论】:

  • 现在我刚刚收到“javax/xml/rpc/ServiceException 错误。我更新了我的帖子以包含一个屏幕截图来显示我拥有的罐子。我似乎无法通过服务异常。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-08-31
  • 2016-06-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多