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
 
Container for the parameters to the CreateTopic operation. Creates a topic to which notifications can be published. Users can create at most 3000 topics. For more information, see http://aws.amazon.com/sns. This action is idempotent, so if the requester already owns a topic with the specified name, that topic's ARN is returned without creating a new topic.

Inheritance Hierarchy

System.Object
  Amazon.Runtime.AmazonWebServiceRequest
    Amazon.SimpleNotificationService.AmazonSimpleNotificationServiceRequest
      Amazon.SimpleNotificationService.Model.CreateTopicRequest

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

Syntax

C#
public class CreateTopicRequest : AmazonSimpleNotificationServiceRequest
         IRequestEvents

The CreateTopicRequest type exposes the following members

Constructors

NameDescription
Public Method CreateTopicRequest() Empty constructor used to set properties independently even when a simple constructor is available
Public Method CreateTopicRequest(string) Instantiates CreateTopicRequest with the parameterized properties

Properties

NameTypeDescription
Public Property Name System.String Gets and sets the property Name.

The name of the topic you want to create.

Constraints: Topic names must be made up of only uppercase and lowercase ASCII letters, numbers, underscores, and hyphens, and must be between 1 and 256 characters long.

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

.NET for Windows Store apps:
Supported in: Windows 8.1, Windows 8

.NET for Windows Phone:
Supported in: Windows Phone 8.1, Windows Phone 8