我找到了新的信息。我想也許我已經爲我的S3事件源實現了不正確的接口。到目前爲止,我還沒有得到它的工作或者理解哪個接口應該被實現。 RequestHandler接口要求方法handleRequest返回一個值。有什麼建議麼?AWS Lambda爪哇處理程序Hello World
輸出類型 - 如果您打算調用lambda函數同步 (使用requestResponse則調用類型),您可以返回使用任何支持的數據類型的你的函數的輸出 。例如,如果將Lambda函數用作移動應用程序後端,則爲 ,您是 同步調用它。您的輸出數據類型將被序列化爲JSON中的 。
如果您計劃異步調用Lambda函數(使用 事件調用類型),則outputType應爲void。例如,如果 將AWS Lambda用於Amazon S3,Amazon Kinesis和Amazon SNS等事件源,則這些事件源使用Event調用類型調用Lambda 函數。
我已經創建了一個基本的處理程序,但似乎錯過了繼續暗示我的關鍵步驟。
代碼&錯誤如下:
package example;
import com.amazonaws.services.lambda.runtime.Context;
import com.amazonaws.services.lambda.runtime.LambdaLogger;
import com.amazonaws.services.lambda.runtime.RequestHandler;
import com.amazonaws.services.s3.model.S3Event;
public class Hello implements RequestHandler<S3Event, Object> {
public String handleRequest(S3Event input, Context context) {
return "Hello";
}
}
{ 「的errorMessage」: 「JSON解析過程中出現錯誤」,
「ERRORTYPE」: 「了java.lang.RuntimeException」, 「堆棧跟蹤」: [],
「病因」:{ 「的errorMessage」:「com.fasterxml.jackson.databind.JsonMappingException:能com.amazonaws.services.s3.model.S3Event不 反序列化實例出來 START_OBJECT令牌的\ n來源: [email protected]; :1, column:1「, 」errorType「:」java.io.UncheckedIOException「, 」stackTrace「:[], 」cause「:{ 」errorMessage「:」無法反序列化com的實例。 amazonaws.services.s3.model.S3Event out of START_OBJECT token \ n at Source:[email protected];行: 1,柱:1" , 「ERRORTYPE」: 「com.fasterxml.jackson.databind.JsonMappingException」, 「堆棧跟蹤」:[ 「com.fasterxml.jackson.databind.JsonMappingException.from(JsonMappingException.java :148)「, 」com.fasterxml.jackson.databind.DeserializationContext.mappingException(DeserializationContext.java:835)「, 」com.fasterxml.jackson.databind.DeserializationContext.mappingException(DeserializationContext.java:831)「, 「com.fasterxml.jackson.databind.deser.std.EnumDeserializer._deserializeOther(EnumDeserializer.java:137)」, 「com.fasterxml.jackson.databind.deser.std.EnumDeserializer.deserialize(EnumDeserializer.java:89)」 , 「com.fasterxml.jackson.databind.deser.std.EnumDeserializer.deserial ize(EnumDeserializer.java:18)「, 」com.fasterxml.jackson.databind.ObjectReader._bindAndClose(ObjectReader.java:1441)「, 」com.fasterxml.jackson.databind.ObjectReader.readValue(ObjectReader。Java的:1047)「] } }}
我想你應該返回一個可以序列化爲JSON對象的值。 ''「你好」''是無效的。 – garnaat