小编Jac*_*cek的帖子

Spring Cloud for AWS - 如何转换从 SQS 接收并由 S3 发送的消息

我已将 S3 配置为在每次上传文件时触发一个事件。该事件将发送至 SQS。现在我想使用 Spring Cloud for AWS 从队列中读取消息。有没有办法将有效负载转换为表示 S3 事件记录的已知类型?我尝试过

package com.test;
import java.util.Map;

import org.springframework.messaging.handler.annotation.Headers;
import org.springframework.messaging.handler.annotation.MessageMapping;

import com.amazonaws.services.s3.event.S3EventNotification.S3EventNotificationRecord;

public class SQSHandler {
    @MessageMapping("MediaQueue")
    private void receiveMessage(S3EventNotificationRecord message, @Headers Map<String, String> headers) {
        System.out.println("MYK MYK MYK");
    }
}
Run Code Online (Sandbox Code Playgroud)

但我收到错误

ord, message=GenericMessage [payload={这里是整个有效负载}] 位于 org.springframework.messaging.handler.annotation.support.PayloadArgumentResolver.resolveArgument(PayloadArgumentResolver.java:115) 位于 org.springframework.messaging.handler.inspiration.HandlerMethodArgumentResolverComposite .resolveArgument(HandlerMethodArgumentResolverComposite.java:77)在org.springframework.messaging.handler.invocable.InvocableHandlerMethod.getMethodArgumentValues(InvocableHandlerMethod.java:137)在org.springframework.messaging.handler.invocable.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:106 )在 org.springframework.messaging.handler.inspiration.AbstractMethodMessageHandler.handleMatch(AbstractMethodMessageHandler.java:447) ... 8 更多

你知道有什么方法可以做这样的事情吗?

amazon-s3 amazon-sqs amazon-web-services spring-cloud

2
推荐指数
1
解决办法
2523
查看次数