Java 在spring boot中,我们如何确认来自amazon SNS的订阅请求HTTP

Java 在spring boot中,我们如何确认来自amazon SNS的订阅请求HTTP,java,amazon-web-services,spring-boot,amazon-sns,spring-messaging,Java,Amazon Web Services,Spring Boot,Amazon Sns,Spring Messaging,我们如何使用spring boot和spring cloud starter aws消息确认来自Amazon SNS的订阅请求 根据教程,我们需要将主题名称添加到控制器级别的@RequestMapping注释中 然后在SNS订阅中,我们添加如下端点: =>但就我而言,订阅从未得到确认,我不知道为什么 下面是我正在使用的一段代码: @Controller @RequestMapping("/topic_name-sns") public class SNSEndpointCon

我们如何使用spring boot和spring cloud starter aws消息确认来自Amazon SNS的订阅请求

根据教程,我们需要将主题名称添加到控制器级别的
@RequestMapping
注释中

然后在SNS订阅中,我们添加如下端点:

=>但就我而言,订阅从未得到确认,我不知道为什么

下面是我正在使用的一段代码:

@Controller
@RequestMapping("/topic_name-sns")
public class SNSEndpointController {

    private static final Logger logger = LoggerFactory.getLogger(SNSEndpointController.class);

    @NotificationMessageMapping
    public void receiveNotification(@NotificationMessage String message, @NotificationSubject String subject) {
        logger.info("Received message: {}, having subject: {}", message, subject);
    }

    @NotificationUnsubscribeConfirmationMapping
    public void confirmSubscriptionMessage(NotificationStatus notificationStatus) {
        logger.info("Unsubscribed from Topic");
        notificationStatus.confirmSubscription();
    }

    @NotificationSubscriptionMapping
    public void confirmUnsubscribeMessage(NotificationStatus notificationStatus) {
        logger.info("Subscribed to Topic");
        notificationStatus.confirmSubscription();
    }
}

使用Spring框架和SNS服务,请考虑在AWS教程中讨论的<强>官方AWS SDK,用于java V2<强> >


如前所述,您可以在Spring项目中轻松使用AWS SDK for Java API,无需在AWS API上使用第三方API。通过这样做,您将获得AWS SDK团队的支持。如果继续使用第三方API,则AWS SDK团队不支持您。

最后我发现了问题。这与权限有关,我的ECS任务没有权限确认订阅,这就是订阅从未被确认的原因