AWS Lambda - ошибка при использовании Spring Cloud Function с S3Event - PullRequest
0 голосов
/ 20 сентября 2018

Я пытаюсь использовать Spring Cloud Function с событием S3 на AWS Lambda.Я клонировал этот репозиторий , запустил mvn clean package, а затем загрузил его в свою учетную запись AWS (s3).Я следовал инструкциям по установке, и он, похоже, запускает приложение Spring, автоматически подключает клиента AWS S3 (AmazonS3), и эта функция, кажется, вызывается при использовании функции Test.Тем не менее, появляется, когда функция вызывается, я получаю следующую ошибку:

{
  "errorMessage": "java.util.LinkedHashMap cannot be cast to com.amazonaws.services.lambda.runtime.events.S3Event",
  "errorType": "java.lang.ClassCastException",
  "stackTrace": [
    "com.mj.aws.lambda.s3.AwsLambdaS3Function.apply(AwsLambdaS3Function.java:14)",
    "org.springframework.cloud.function.core.FluxFunction.lambda$apply$0(FluxFunction.java:47)",
    "reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:107)",
    "reactor.core.publisher.FluxJust$WeakScalarSubscription.request(FluxJust.java:90)",
    "reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.request(FluxMapFuseable.java:159)",
    "reactor.core.publisher.BlockingIterable$SubscriberIterator.onSubscribe(BlockingIterable.java:214)",
    "reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onSubscribe(FluxMapFuseable.java:90)",
    "reactor.core.publisher.FluxJust.subscribe(FluxJust.java:67)",
    "reactor.core.publisher.FluxMapFuseable.subscribe(FluxMapFuseable.java:63)",
    "reactor.core.publisher.BlockingIterable.iterator(BlockingIterable.java:80)",
    "org.springframework.cloud.function.adapter.aws.SpringBootRequestHandler.result(SpringBootRequestHandler.java:54)",
    "org.springframework.cloud.function.adapter.aws.SpringBootRequestHandler.handleRequest(SpringBootRequestHandler.java:49)",
    "sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)",
    "sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)",
    "sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)",
    "java.lang.reflect.Method.invoke(Method.java:498)"
  ]
}

Функция Hander: com.mj.aws.lambda.s3.AwsLambdaS3FunctionHandler :: handleRequest

...