配置 Amazon SNS 主题标签 - Amazon Simple Notification Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

配置 Amazon SNS 主题标签

本页向您介绍如何使用 Amazon Web Services Management Console、Amazon SDK 和 Amazon CLI 为 Amazon SNS 主题配置标签。

重要

请勿在标签中添加个人身份信息(PII)或其他机密或敏感信息。标签可供许多其他亚马逊云科技访问,包括计费。标签不适合用于私有或敏感数据。

使用 Amazon Web Services Management Console 列出、添加和删除 Amazon SNS 主题的标签

  1. 登录 Amazon SNS 控制台

  2. 在导航面板上,选择主题

  3. 主题页面上,选择主题,然后选择编辑

  4. 展开标签部分。

    将列出添加到主题的标签。

  5. 修改主题标签:

    • 要添加标签,请选择 Add tag(添加标签),然后输入 Key(键)和 Value(值)(可选)。

    • 要删除标签,请选择键值对旁边的删除标签

  6. 选择保存更改

使用 Amazon SDK 将标签添加到主题

要使用 Amazon SDK,您必须使用您的凭证对其进行配置。有关更多信息,请参阅 Amazon 开发工具包和工具参考指南中的共享配置和凭证文件

以下代码示例演示如何使用 TagResource

CLI
Amazon CLI

为主题添加标签

以下 tag-resource 示例将元数据标签添加到指定 Amazon SNS 主题。

aws sns tag-resource \ --resource-arn arn:aws:sns:us-west-2:123456789012:MyTopic \ --tags Key=Team,Value=Alpha

此命令不生成任何输出。

  • 有关 API 详细信息,请参阅《Amazon CLI Command Reference》中的 TagResource

Java
适用于 Java 的 SDK 2.x
注意

查看 GitHub,了解更多信息。查找完整示例,学习如何在 Amazon 代码示例存储库中进行设置和运行。

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); } } }
  • 有关 API 详细信息,请参阅《Amazon SDK for Java 2.x API 参考》中的 TagResource

Kotlin
适用于 Kotlin 的 SDK
注意

查看 GitHub,了解更多信息。查找完整示例,学习如何在 Amazon 代码示例存储库中进行设置和运行。

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") } }
  • 有关 API 详细信息,请参阅《Amazon SDK for Kotlin API 参考》中的 TagResource

使用 Amazon SNS API 操作管理标签

要使用 Amazon SNS API 管理标签,请使用以下 API 操作:

支持 ABAC 的 API 操作

以下是支持基于属性的访问控制 (ABAC) 的 API 操作列表。有关 ABAC 的更多详细信息,请参阅 IAM 用户指南中的什么是 Amazon 的 ABAC?