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.
Namespace: Amazon.SimpleNotificationService
Assembly: AWSSDK.dll
Version: (assembly version)
public abstract CreateTopicResponse CreateTopic( CreateTopicRequest request )
Container for the necessary parameters to execute the CreateTopic service method.
Exception | Condition |
---|---|
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. |
TopicLimitExceededException | Indicates that the customer already owns the maximum allowed number of topics. |
This example shows how to create, subscribe to, and publish a topic.
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 });
.NET Framework:
Supported in: 4.5, 4.0, 3.5