AWS SDK Version 2 for .NET
API Reference

AWS services or capabilities described in AWS Documentation may vary by region/location. Click Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

.NET Framework 3.5
 
Prepares to subscribe an endpoint by sending the endpoint a confirmation message. To actually create a subscription, the endpoint owner must call the ConfirmSubscription action with the token from the confirmation message. Confirmation tokens are valid for three days.

Namespace: Amazon.SimpleNotificationService
Assembly: AWSSDK.dll
Version: (assembly version)

Syntax

C#
public abstract SubscribeResponse Subscribe(
         SubscribeRequest request
)

Parameters

request
Type: Amazon.SimpleNotificationService.Model.SubscribeRequest

Container for the necessary parameters to execute the Subscribe service method.

Return Value
Type: Amazon.SimpleNotificationService.Model.SubscribeResponse
The response from the Subscribe service method, as returned by SimpleNotificationService.

Exceptions

ExceptionCondition
AuthorizationErrorException Indicates that the user has been denied access to the requested resource.
InternalErrorException Indicates an internal service error.
InvalidParameterException Indicates that a request parameter does not comply with the associated constraints.
NotFoundException Indicates that the requested resource does not exist.
SubscriptionLimitExceededException Indicates that the customer already owns the maximum allowed number of subscriptions.

Examples

This example shows how to create, subscribe to, and publish a topic.

Create, subscribe to, and publish topic example

var snsClient = new AmazonSimpleNotificationServiceClient();

var topicRequest = new CreateTopicRequest
{
  Name = "CodingTestResults"
};

var topicResponse = snsClient.CreateTopic(topicRequest);

var topicAttrRequest = new SetTopicAttributesRequest
{
  TopicArn = topicResponse.TopicArn,
  AttributeName = "DisplayName",
  AttributeValue = "Coding Test Results"
};

snsClient.SetTopicAttributes(topicAttrRequest);

snsClient.Subscribe(new SubscribeRequest
{
  Endpoint = "johndoe@example.com",
  Protocol = "email",
  TopicArn = topicResponse.TopicArn
});

// Wait for up to 2 minutes for the user to confirm the subscription.
DateTime latest = DateTime.Now + TimeSpan.FromMinutes(2);

while (DateTime.Now < latest)
{
  var subsRequest = new ListSubscriptionsByTopicRequest
  {
    TopicArn = topicResponse.TopicArn
  };

  var subs = snsClient.ListSubscriptionsByTopic(subsRequest).Subscriptions;

  var sub = subs[0];

  if (!string.Equals(sub.SubscriptionArn,
    "PendingConfirmation", StringComparison.Ordinal))
  {
    break;
  }

  // Wait 15 seconds before trying again.
  System.Threading.Thread.Sleep(TimeSpan.FromSeconds(15));
}

snsClient.Publish(new PublishRequest
{
  Subject = "Coding Test Results for " +
    DateTime.Today.ToShortDateString(),
  Message = "All of today's coding tests passed.",
  TopicArn = topicResponse.TopicArn
});
      

Version Information

.NET Framework:
Supported in: 4.5, 4.0, 3.5