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 4.5
 
Container for the parameters to the SetTopicAttributes operation. Allows a topic owner to set an attribute of the topic to a new value.

Inheritance Hierarchy

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

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

Syntax

C#
public class SetTopicAttributesRequest : AmazonSimpleNotificationServiceRequest
         IRequestEvents

The SetTopicAttributesRequest type exposes the following members

Constructors

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

Properties

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

The name of the attribute you want to set. Only a subset of the topic's attributes are mutable.

Valid values: Policy | DisplayName | DeliveryPolicy

Public Property AttributeValue System.String Gets and sets the property AttributeValue.

The new value for the attribute.

Public Property TopicArn System.String Gets and sets the property TopicArn.

The ARN of the topic to modify.

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