Как подписать очередь SQS на тему SNS в Java - PullRequest
0 голосов
/ 08 февраля 2019

Когда я создаю новую очередь и подписываюсь на тему в Java, сообщение не приходит.То же самое через веб-консоль AWS работает нормально.

Полагаю, мне нужно как-то подтвердить подписку, но методу sns.confirmSubscription нужен токен - где его взять?

Это мой код Java:

String queueURL = sqs.createQueue("my-queue").getQueueUrl();

sns.subscribe(myTopicARN, "sqs", queueURL);

sns.publish(myTopicARN, "{\"payload\":\"test\"}");

sqs.receiveMessage(queueURL).getMessages()
        .forEach(System.out::println);  // nothing

Что я делаю не так?

1 Ответ

0 голосов
/ 08 февраля 2019

Проверьте это: https://aws.amazon.com/blogs/developer/subscribing-queues-to-topics/

Вы должны подписаться так:

Topics.subscribeQueue(sns, sqs, myTopicARN, queueURL);

Этот удобный метод создает политику для подписки, позволяющую теме отправлять сообщения в очередь.,

...