Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions,
see Getting Started with Amazon Web Services in China
(PDF).
This page shows how you can use the Amazon Web Services Management Console, an Amazon SDK, and the Amazon CLI to configure tags for an Amazon SNS
topic.
Do not add personally identifiable information (PII) or other confidential or
sensitive information in tags. Tags are accessible to other Amazon Web Services, including
billing. Tags are not intended to be used for private or sensitive data.
Sign in to the Amazon SNS console.
-
On the navigation panel, choose Topics.
-
On the Topics page, choose a topic and then choose
Edit.
-
Expand the Tags section.
The tags added to the topic are listed.
-
Modify topic tags:
-
To add a tag, choose Add tag and enter a
Key and Value
(optional).
-
To remove a tag, choose Remove tag next to a
key-value pair.
-
Choose Save changes.
Adding tags to a topic using an Amazon
SDK
To use an Amazon SDK, you must configure it with your credentials. For more
information, see The shared config and credentials
files in the Amazon SDKs and Tools Reference Guide.
The following code examples show how to use TagResource
.
- CLI
-
- Amazon CLI
-
To add a tag to a topic
The following tag-resource
example adds a metadata tag to the specified Amazon SNS topic.
aws sns tag-resource \
--resource-arn arn:aws:sns:us-west-2:123456789012:MyTopic
\
--tags Key=Team,Value=Alpha
This command produces no output.
- Java
-
- SDK for Java 2.x
-
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.sns.SnsClient;
import software.amazon.awssdk.services.sns.model.SnsException;
import software.amazon.awssdk.services.sns.model.Tag;
import software.amazon.awssdk.services.sns.model.TagResourceRequest;
import java.util.ArrayList;
import java.util.List;
/**
* Before running this Java V2 code example, set up your development
* environment, including your credentials.
*
* For more information, see the following documentation topic:
*
* https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/get-started.html
*/
public class AddTags {
public static void main(String[] args) {
final String usage = """
Usage: <topicArn>
Where:
topicArn - The ARN of the topic to which tags are added.
""";
if (args.length != 1) {
System.out.println(usage);
System.exit(1);
}
String topicArn = args[0];
SnsClient snsClient = SnsClient.builder()
.region(Region.US_EAST_1)
.build();
addTopicTags(snsClient, topicArn);
snsClient.close();
}
public static void addTopicTags(SnsClient snsClient, String topicArn) {
try {
Tag tag = Tag.builder()
.key("Team")
.value("Development")
.build();
Tag tag2 = Tag.builder()
.key("Environment")
.value("Gamma")
.build();
List<Tag> tagList = new ArrayList<>();
tagList.add(tag);
tagList.add(tag2);
TagResourceRequest tagResourceRequest = TagResourceRequest.builder()
.resourceArn(topicArn)
.tags(tagList)
.build();
snsClient.tagResource(tagResourceRequest);
System.out.println("Tags have been added to " + topicArn);
} catch (SnsException e) {
System.err.println(e.awsErrorDetails().errorMessage());
System.exit(1);
}
}
}
- Kotlin
-
- SDK for Kotlin
-
suspend fun addTopicTags(topicArn: String) {
val tag =
Tag {
key = "Team"
value = "Development"
}
val tag2 =
Tag {
key = "Environment"
value = "Gamma"
}
val tagList = mutableListOf<Tag>()
tagList.add(tag)
tagList.add(tag2)
val request =
TagResourceRequest {
resourceArn = topicArn
tags = tagList
}
SnsClient { region = "us-east-1" }.use { snsClient ->
snsClient.tagResource(request)
println("Tags have been added to $topicArn")
}
}
To manage tags using the Amazon SNS API, use the following API actions:
API actions that support ABAC
The following is a list of API actions that support attribute-based access control
(ABAC). For more details about ABAC, see What is
ABAC for Amazon? in the IAM User Guide.