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.
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)
public virtual SubscribeResponse Subscribe( SubscribeRequest request )
Container for the necessary parameters to execute the Subscribe 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. |
NotFoundException | Indicates that the requested resource does not exist. |
SubscriptionLimitExceededException | Indicates that the customer already owns the maximum allowed number of subscriptions. |
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