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:
The following attribute applies only to FIFO topics:
-
ContentBasedDeduplication
– Enables content-based deduplication for FIFO topics.-
By default,
ContentBasedDeduplication
is set tofalse
. If you create a FIFO topic and this attribute isfalse
, you must specify a value for theMessageDeduplicationId
parameter for the Publish action. -
When you set
ContentBasedDeduplication
totrue
, Amazon SNS uses a SHA-256 hash to generate theMessageDeduplicationId
using the body of the message (but not the attributes of the message).(Optional) To override the generated value, you can specify a value for the
MessageDeduplicationId
parameter for thePublish
action.
-
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 the complete Signature Version 4 signing process (Python) in the
AWS 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: