What I want to do today
Create a SNS, send and receive messages.
Just go to Amazon SNS -> Topics -> Create topic and set a name for the topic:
In the next screen I create a subscription with Protocol Email and my email address. Immediately I got an email with a link to subscribe to the topic. After Confirmation I can check in the Subsriptions view that the status has changed to "Confirmed".
There is a Amazon SNS -> Topics -> MyFirstTestTopic -> Publish message function in the AWS Console to publish a message to topic, which is a good way to test the service.
I continue with my test project from my last post.
List SNS Topics
SnsClient snsClient = SnsClient.builder().region(Region.EU_CENTRAL_1).build(); ListTopicsRequest request = ListTopicsRequest.builder().build(); ListTopicsResponse result = snsClient.listTopics(request); System.out.println("Status was " + result.sdkHttpResponse().statusCode() + "\n\nTopics\n\n" + result.topics());
Lists all topics of my AWS account.
Publish message to topic
SnsClient snsClient = SnsClient.builder().region(Region.EU_CENTRAL_1).build(); String topicArn = "arn:aws:sns:eu-central-1:175335015168:MyFirstTestTopic"; String message = "This is a test (c)DerIngo"; PublishRequest request = PublishRequest.builder().message(message).topicArn(topicArn).build(); PublishResponse result = snsClient.publish(request); System.out.println(result.messageId() + " Message sent. Status was " + result.sdkHttpResponse().statusCode());
Test email received, it works, YAY!