Amazon Simple Notification Service
API Reference (API Version 2010-03-31)
AWS services or capabilities described in AWS documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with AWS services in China.

SetTopicAttributes

Allows a topic owner to set an attribute of the topic to a new value.

Request Parameters

For information about the parameters that are common to all actions, see Common Parameters.

AttributeName

A map of attributes with their corresponding values.

The following lists the names, descriptions, and values of the special request parameters that the SetTopicAttributes action uses:

  • DeliveryPolicy – The policy that defines how Amazon SNS retries failed deliveries to HTTP/S endpoints.

  • DisplayName – The display name to use for a topic with SMS subscriptions.

  • Policy – The policy that defines who can access your topic. By default, only the topic owner can publish or subscribe to the topic.

The following attribute applies only to server-side-encryption:

  • KmsMasterKeyId - The ID of an AWS-managed customer master key (CMK) for Amazon SNS or a custom CMK. For more information, see Key Terms. For more examples, see KeyId in the AWS Key Management Service API Reference.

Type: String

Required: Yes

AttributeValue

The new value for the attribute.

Type: String

Required: No

TopicArn

The ARN of the topic to modify.

Type: String

Required: Yes

Errors

For information about the errors that are common to all actions, see Common Errors.

AuthorizationError

Indicates that the user has been denied access to the requested resource.

HTTP Status Code: 403

InternalError

Indicates an internal service error.

HTTP Status Code: 500

InvalidParameter

Indicates that a request parameter does not comply with the associated constraints.

HTTP Status Code: 400

InvalidSecurity

The credential signature isn't valid. You must use an HTTPS endpoint and sign your request using Signature Version 4.

HTTP Status Code: 403

NotFound

Indicates that the requested resource does not exist.

HTTP Status Code: 404

Examples

The structure of AUTHPARAMS depends on the signature of the API request. For more information, see Examples of Signed Signature Version 4 Requests in the Amazon Web Services General Reference.

Example

The following example sets the DisplayName attribute to MyTopicName.

Sample Request

https://sns.us-east-2.amazonaws.com/?Action=SetTopicAttributes &TopicArn=arn%3Aaws%3Asns%3Aus-east-2%3A123456789012%3AMy-Topic &AttributeName=DisplayName &AttributeValue=MyTopicName &Version=2010-03-31 &AUTHPARAMS

Sample Response

<SetTopicAttributesResponse xmlns="https://sns.amazonaws.com/doc/2010-03-31/"> <ResponseMetadata> <RequestId>a8763b99-33a7-11df-a9b7-05d48da6f042</RequestId> </ResponseMetadata> </SetTopicAttributesResponse>

Example

The following example sets the delivery policy to 5 retries.

The JSON format for AttributeValue is as follows:

"http": { "defaultHealthyRetryPolicy": { "minDelayTarget": <int>, "maxDelayTarget": <int>, "numRetries": <int>, "numMaxDelayRetries": <int>, "backoffFunction": "<linear|arithmetic|geometric|exponential>" }, "disableSubscriptionOverrides": <boolean>, "defaultThrottlePolicy": { "maxReceivesPerSecond": <int> } }

Sample Request

https://sns.us-east-2.amazonaws.com/?Action=SetTopicAttributes &TopicArn=arn%3Aaws%3Asns%3Aus-east-2%3A123456789012%3AMy-Topic &AttributeName=DeliveryPolicy &AttributeValue={"http":{"defaultHealthyRetryPolicy":{"numRetries":5}}} &Version=2010-03-31 &AUTHPARAMS

Sample Response

<SetTopicAttributesResponse xmlns="https://sns.amazonaws.com/doc/2010-03-31/"> <ResponseMetadata> <RequestId>a8763b99-33a7-11df-a9b7-05d48da6f042</RequestId> </ResponseMetadata> </SetTopicAttributesResponse>

See Also

For more information about using this API in one of the language-specific AWS SDKs, see the following: