为 Amazon Pinpoint 资源添加标签 - Amazon Pinpoint

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

为 Amazon Pinpoint 资源添加标签

标签 是可用来定义和关联 AWS 资源(包括某些类型的 Amazon Pinpoint 资源)的一种标记。标签可帮助您以不同方式(例如按用途、所有者、环境或其他标准)对资源进行分类和管理。例如,您可以使用标签来应用策略或自动化,或用于标识要满足某些合规性要求的资源。您可以向以下类型的 Amazon Pinpoint 资源添加标签:

  • 活动

  • 消息模板

  • 项目(应用程序)

  • 客户细分

一个资源最多可以有 50 个标签。

管理标签

每个标签都包含您定义的一个标签键和一个可选的标签值标签键 是一种常见的标签,充当更具体的标签值的类别。标签值 充当标签键的描述符。

一个标签键可以包含多达 128 个字符。一个标签值可以包含多达 256 个字符。字符可以是 Unicode 字母、数字、空格或以下任一个符号:_ . : / = + -。以下附加限制适用于标签:

  • 标签键和值区分大小写。

  • 对于每个关联的资源,每个标签键都必须是唯一的,并且只能有一个值。

  • aws: 前缀保留给 AWS 使用;您不能在您定义的任何标签键或值中使用它。此外,您无法编辑或删除使用此前缀的标签键或值。使用此前缀的标签不计入每个资源 50 个标签的限额。

  • 您无法仅根据其标签更新或删除资源。您还必须指定 Amazon 资源名称 (ARN) 或资源 ID,具体取决于您使用的操作。

  • 您可以将标签与公共资源或共享资源相关联。但是,标签仅适用于您的 AWS 账户,不适用于共享资源的任何其他账户。此外,标签仅适用于位于您的 AWS 账户的指定 AWS 区域中的资源。

要在 Amazon Pinpoint 资源中添加、显示、更新和删除标签键和值,您可以使用 AWS Command Line Interface (AWS CLI)、Amazon Pinpoint API、AWS Resource Groups Tagging API 或 AWS SDK。要管理位于您的 AWS 账户的特定 AWS 区域中的所有 AWS 资源(包括 Amazon Pinpoint 资源)的标签键和值,请使用 AWS Resource Groups Tagging API.。

在 IAM 策略中使用标签

开始实施标签后,您可以对 AWS Identity and Access Management (IAM) 策略和 API 操作应用基于标签的资源级权限。这包括支持在创建资源时为资源添加标签的操作。通过这种方式使用标签,您可以更全面地控制 AWS 账户中的哪些组和用户拥有创建和标记资源的权限,以及哪些组和用户拥有创建、更新和删除标签的权限。

例如,您可以创建一个策略,允许用户只要其名称是 Amazon Pinpoint 资源的 Owner 标签中的值,就可以完全访问这些资源:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ModifyResourceIfOwner", "Effect": "Allow", "Action": "mobiletargeting:*", "Resource": "*", "Condition": { "StringEqualsIgnoreCase": { "aws:ResourceTag/Owner": "${aws:username}" } } } ] }

如果您定义基于标签的资源级权限,该权限立即生效。这意味着,您的资源一经创建就很安全,而且您可以快速开始将标签用于新资源。您还可以使用资源级权限来控制哪些标签键和值可以与新的和现有资源关联。有关更多信息,请参阅《AWS IAM 用户指南》中的使用标签控制访问

向资源添加标签

以下示例展示了如何使用 AWS CLIAmazon Pinpoint REST API 向 Amazon Pinpoint 资源添加标签。您也可以使用任何支持的 AWS SDK 为资源添加标签。

要在单次操作中将一个标签添加到多个 Amazon Pinpoint 资源,请使用 AWS CLI 或 AWS Resource Groups Tagging API 的资源组标记操作。

使用 API 添加标签

要使用 Amazon Pinpoint REST API 创建新资源并为它添加标签,请向相应的资源 URI 发送 POST 请求。在请求的正文中,请包括 tags 参数和值。以下示例显示如何在创建新项目时指定标签。

POST /v1/apps HTTP/1.1 Host: pinpoint.us-east-1.amazonaws.com Content-Type: application/x-www-form-urlencoded Accept: application/json Cache-Control: no-cache { "Name":"MyProject", "tags":{ "key1":"value1" } }

要向现有资源添加标签,请向标签 URI 发送 POST 请求。在 URI 中包含资源的 Amazon 资源名称(ARN)。ARN 应采用 URL 编码。在请求的正文中,请包含 tags 参数和值,如以下示例所示。

POST /v1/tags/resource-arn HTTP/1.1 Host: pinpoint.us-east-1.amazonaws.com Content-Type: application/json Accept: application/json Cache-Control: no-cache { "tags":{ "key1":"value1" } }

使用 AWS CLI 添加标签

要使用 AWS CLI 创建新资源并为它添加标签,请使用资源的相应 create 命令。包括 tags 参数和值。以下示例显示在创建新项目时如何指定标签。

Linux, macOS, or Unix
$ aws pinpoint create-app \ --create-application-request '{ "Name":"MyProject", "tags": { "key1":"value1", "key2":"value2" } }'
Windows Command prompt
C:\> aws pinpoint create-app ^ --create-application-request Name=MyProject,tags={key1=value1,key2=value2}

在上述示例中,执行以下操作:

  • MyProject 替换为要赋予项目的名称。

  • key1key2 替换为要添加到资源中的标签的键。

  • value1value2 替换为要为相应键添加的标签的值。

有关可用来创建 Amazon Pinpoint 资源的命令的信息,请参阅 AWS CLI 命令参考

要向现有资源添加标签,请使用 tag-resource 命令并为必需参数指定相应的值:

Linux, macOS, or Unix
$ aws pinpoint tag-resource \ --resource-arn resource-arn \ --tags-model '{ "tags": { "key1":"value1", "key2":"value2" } }'
Windows Command Prompt
C:\> aws pinpoint tag-resource ^ --resource-arn resource-arn ^ --tags-model tags={key1=value1,key2=value2}

在上述示例中,执行以下操作:

  • resource-arn 替换为您要向其中添加标签的资源的 Amazon 资源名称 (ARN)。

  • key1key2 替换为要添加到资源中的标签的键。

  • value1value2 替换为要为相应键添加的标签的值。

显示资源的标签

以下示例演示如何使用 AWS CLIAmazon Pinpoint REST API 显示与 Amazon Pinpoint 资源关联的所有标签(键和值)的列表。您也可以使用任何支持的 AWS SDK 来显示与资源关联的标签。

使用 API 显示标签

要使用 Amazon Pinpoint REST API 显示与特定资源关联的所有标签,请将 GET 请求发送到标签 URI,并且在 URI 中包括资源的 Amazon 资源名称 (ARN)。ARN 应采用 URL 编码。例如,以下请求会检索与指定活动 (resource-arn) 关联的所有标签:

GET /v1/tags/resource-arn HTTP/1.1 Host: pinpoint.us-east-1.amazonaws.com Content-Type: application/json Accept: application/json Cache-Control: no-cache

该请求的 JSON 响应包括一个 tags 对象。tags 对象列出与活动关联的所有标签键和值。

要显示与同一类型的多个资源关联的所有标签,请将 GET 请求发送到该类型资源的相应 URI。例如,以下请求检索有关指定项目 (application-id) 中的所有活动的信息:

GET /v1/apps/application-id/campaigns HTTP/1.1 Host: pinpoint.us-east-1.amazonaws.com Content-Type: application/json Accept: application/json Cache-Control: no-cache

该请求的 JSON 响应列出项目中的所有活动。每个活动的 tags 对象列出与活动关联的所有标签键和值。

使用 AWS CLI 显示标签

要使用 AWS CLI 显示与特定资源关联的标签列表,请运行 list-tags-for-resource 命令并为 resource-arn 参数指定资源的 Amazon 资源名称 (ARN,如以下示例所示:

Linux, macOS, or Unix
$ aws pinpoint list-tags-for-resource \ --resource-arn resource-arn
Windows Command Prompt
C:\> aws pinpoint list-tags-for-resource ^ --resource-arn resource-arn

要显示具有标签的所有 Amazon Pinpoint 资源以及与那些资源关联的所有标签的列表,请使用 AWS Resource Groups Tagging API 的 get-resources 命令。将 resource-type-filters 参数设置为 mobiletargeting,如以下示例所示。

Linux, macOS, or Unix
$ aws resourcegroupstaggingapi get-resources \ --resource-type-filters "mobiletargeting"
Windows Command Prompt
C:\> aws resourcegroupstaggingapi get-resources ^ --resource-type-filters "mobiletargeting"

该命令的输出是具有标签的所有 Amazon Pinpoint 资源的 ARN 列表。该列表包括与每个资源关联的所有标签键和值。

更新资源的标签

有几种方法可以更新(覆盖)Amazon Pinpoint 资源的标签。更新标签的最佳方式取决于以下情况:

  • 您要为其更新标签的资源的类型。

  • 您是要更新一个资源的标签还是同时更新多个资源的标签。

  • 您是要更新标签键、标签值还是两者。

要同时更新一个 Amazon Pinpoint 项目或多个资源的标签,可以使用 AWS CLI 或 AWS Resource Groups Tagging API 的资源组标记操作。Amazon Pinpoint API 目前不为这两项任务提供直接支持。

要更新一个资源的一个标签,您可以使用 Amazon Pinpoint API 删除当前标签添加新标签

从资源中删除标签

以下示例展示了如何使用 AWS CLIAmazon Pinpoint REST API 从 Amazon Pinpoint 资源中删除标签(包括键和值)。您也可以使用任何支持的 AWS SDK 从资源删除标签。

要在单次操作中从多个 Amazon Pinpoint 资源删除标签,请使用 AWS CLI 或 AWS Resource Groups Tagging API 的资源组标记操作。要仅从资源中删除特定标签值(而不是标签键),您可以更新资源的标签

使用 API 删除标签

要使用 Amazon Pinpoint REST API 从资源中删除标签,请向标签 URI 发送 DELETE 请求。在此 URI 中,包含要从中删除标签的资源的 Amazon 资源名称 (ARN),后跟 tagKeys 参数和要删除的标签。例如:

https://endpoint/v1/tags/resource-arn?tagKeys=key

其中:

  • endpoint 是托管资源的 AWS 区域的 Amazon Pinpoint 端点。

  • resource-arn 是您要从中删除标签的资源的 ARN。

  • key 是您要从资源中删除的标签。

所有参数都应是 URL 编码的。

要从一个资源中删除多个标签键及其关联值,请为每个要删除的附加标签附上 tagKeys 参数,并用和号 (&) 分隔它们。例如:

https://endpoint/v1/tags/resource-arn?tagKeys=key1&tagKeys=key2

所有参数都应是 URL 编码的。

使用 AWS CLI 删除标签

要使用 AWS CLI 从资源中删除标签,请运行 untag-resource 命令。命令中包含 tag-keys 参数,如以下示例所示。

Linux, macOS, or Unix
$ aws pinpoint untag-resource \ --resource-arn resource-arn \ --tag-keys key1 key2
Windows Command Prompt
C:\> aws pinpoint untag-resource ^ --resource-arn resource-arn ^ --tag-keys key1 key2

在前面的示例中,进行以下更改:

  • resource-arn 替换为要从中移除标签的资源的 ARN。

  • key1key2 替换为要从资源中删除的标签的键。

有关您可用来管理 Amazon Pinpoint 资源的 CLI 命令的更多信息,请参阅 AWS CLI 命令参考的 Amazon Pinpoint 部分。

有关 Amazon Pinpoint API 中的资源的更多信息,包括受支持的 HTTP(S) 方法、参数和架构,请参阅 Amazon Pinpoint API 参考