Example usage for com.amazonaws.services.sns AmazonSNS subscribe

List of usage examples for com.amazonaws.services.sns AmazonSNS subscribe

Introduction

In this page you can find the example usage for com.amazonaws.services.sns AmazonSNS subscribe.

Prototype

SubscribeResult subscribe(SubscribeRequest subscribeRequest);

Source Link

Document

Prepares to subscribe an endpoint by sending the endpoint a confirmation message.

Usage

From source file:com.easarrive.aws.plugins.common.service.impl.SNSService.java

License:Open Source License

/**
 * {@inheritDoc}//from w w  w. ja v  a2 s . c  om
 */
@Override
public SubscribeResult subscribingTopic(AmazonSNS client, SNSSubscribingTopicRequest subscribingTopicRequest) {
    if (subscribingTopicRequest == null) {
        return null;
    }
    SubscribeRequest subscribeRequest = new SubscribeRequest(subscribingTopicRequest.getTopicArn(),
            subscribingTopicRequest.getProtocol(), subscribingTopicRequest.getEndpoint());
    SubscribeResult result = client.subscribe(subscribeRequest);

    return result;
}

From source file:net.smartcosmos.plugin.service.aws.notification.AwsNotificationService.java

License:Apache License

@Override
public String subscribe(INotificationEndpoint notificationEndpoint) {
    String subscriptionArn;//  ww w .j av  a  2s  .c o  m

    Preconditions.checkArgument((notificationEndpoint != null), "Notification endpoint must not be null");

    Preconditions.checkArgument((notificationEndpoint.getTopicArn() != null),
            "Notification Topic ARN must not be null");

    AmazonSNS sns = new AmazonSNSClient(credentials);
    Region usEast1 = Region.getRegion(Regions.US_EAST_1);
    sns.setRegion(usEast1);

    try {
        SubscribeRequest request = new SubscribeRequest(notificationEndpoint.getTopicArn(), "https",
                notificationEndpoint.getNotificationEndpointUrl());

        SubscribeResult result = sns.subscribe(request);

        subscriptionArn = result.getSubscriptionArn();

        //
        // Event
        //
        INotificationResultObject<IAccount> nro = new NotificationResultObject<>(EntityReferenceType.Account,
                notificationEndpoint.getAccount(), result.getSubscriptionArn());
        IEventService eventService = context.getServiceFactory()
                .getEventService(notificationEndpoint.getAccount());
        eventService.recordEvent(EventType.NotificationSubscribe, notificationEndpoint.getAccount(), null, nro);

    } finally {
        sns.shutdown();
    }

    return subscriptionArn;
}