在 API Gateway 中为 API 阶段设置标签 - Amazon API Gateway
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

在 API Gateway 中为 API 阶段设置标签

在 API Gateway 中,您可以将标签添加到 API 阶段、从阶段中删除标签或者查看标签。为此,你可以使用 API Gateway 控制台、 Amazon CLI/SDK 或 API Gateway REST API。

阶段还可以从其父 REST API 继承标签。有关更多信息,请参阅 Amazon API Gateway V1 API 中的标签继承

有关标记 API Gateway 资源的更多信息,请参阅 为 API Gateway 资源添加标签

使用 API Gateway 控制台为 API 阶段设置标签

以下过程将介绍如何为 API 阶段设置标签。

使用 API Gateway 控制台为 API 阶段设置标签
  1. 登录 API Gateway 控制台。

  2. 选择一个现有 API,或者创建包括资源、方法和对应集成的新 API。

  3. 选择阶段或者将 API 部署到新阶段。

  4. 在主导航窗格中,选择阶段

  5. 选择标签选项卡。您可能需要选择右箭头按钮以显示该选项卡。

  6. 选择管理标签

  7. 标签编辑器中,选择添加标签。在 Key (键) 字段中输入标签键(例如 Department),在 value (值) 字段中输入标签值(例如 Sales)。选择保存以保存标签。

  8. 如果需要,请重复第 5 步,将更多标签添加到 API 阶段。每个阶段的最大标签数是 50。

  9. 要从阶段中移除现有标签,请选择移除

  10. 如果先前已在 API Gateway 控制台中部署了 API,则需要重新进行部署,以使更改生效。

使用 API 阶段设置标签 Amazon CLI

你可以使用 create-stage 命令或 tag- Amazon CLI resource 命令为 API 阶段设置标签。您可以使用 untag-resource 命令从 API 阶段删除一个或多个标签

以下示例在创建test舞台时添加标签:

aws apigateway create-stage --rest-api-id abc1234 --stage-name test --description 'Testing stage' --deployment-id efg456 --tag Department=Sales

以下示例向prod舞台添加标签:

aws apigateway tag-resource --resource-arn arn:aws:apigateway:us-east-2::/restapis/abc123/stages/prod --tags Department=Sales

以下示例将Department=Sales标签从test舞台上移除:

aws apigateway untag-resource --resource-arn arn:aws:apigateway:us-east-2::/restapis/abc123/stages/test --tag-keys Department

使用 API Gateway REST API 为 API 阶段设置标签

您可以执行以下操作之一,使用 API Gateway REST API 为 API 阶段设置标签:

  • 调用 tags:tag 为 API 阶段添加标签。

  • 调用 tags:untag 以从 API 阶段中删除一个或多个标签。

  • 调用 stage:create 以将一个或多个标签添加到您正创建的 API 阶段。

您还可以调用 tags:get 以描述 API 阶段中的标签。

为 API 阶段添加标签

将 API (m5zr3vnks7) 部署到阶段 (test) 之后,通过调用 tags:tag 为阶段添加标签。所需的阶段 Amazon Resource Name (ARN) (arn:aws:apigateway:us-east-1::/restapis/m5zr3vnks7/stages/test) 必须为 URL 编码 (arn%3Aaws%3Aapigateway%3Aus-east-1%3A%3A%2Frestapis%2Fm5zr3vnks7%2Fstages%2Ftest)。

PUT /tags/arn%3Aaws%3Aapigateway%3Aus-east-1%3A%3A%2Frestapis%2Fm5zr3vnks7%2Fstages%2Ftest { "tags" : { "Department" : "Sales" } }

您还可以使用之前的请求,将现有标签更新为新值。

在调用 stage:create 创建阶段时,您可以将标签添加到阶段。

POST /restapis/<restapi_id>/stages { "stageName" : "test", "deploymentId" : "adr134", "description" : "test deployment", "cacheClusterEnabled" : "true", "cacheClusterSize" : "500", "variables" : { "sv1" : "val1" }, "documentationVersion" : "test", "tags" : { "Department" : "Sales", "Division" : "Retail" } }

取消 API 阶段的标签

要从阶段中删除 Department 标签,请调用 tags:untag

DELETE /tags/arn%3Aaws%3Aapigateway%3Aus-east-1%3A%3A%2Frestapis%2Fm5zr3vnks7%2Fstages%2Ftest?tagKeys=Department Host: apigateway.us-east-1.amazonaws.com Authorization: ...

要删除多个标签,请在查询表达式中使用逗号分隔的标签键列表,例如 ?tagKeys=Department,Division,…

描述 API 阶段的标签

要描述指定阶段上的现有标签,请调用 tags:get

GET /tags/arn%3Aaws%3Aapigateway%3Aus-east-1%3A%3A%2Frestapis%2Fm5zr3vnks7%2Fstages%2Ftags Host: apigateway.us-east-1.amazonaws.com Authorization: ...

成功响应的形式与下方类似:

200 OK { "_links": { "curies": { "href": "http://docs.aws.amazon.com/apigateway/latest/developerguide/restapi-tags-{rel}.html", "name": "tags", "templated": true }, "tags:tag": { "href": "/tags/arn%3Aaws%3Aapigateway%3Aus-east-1%3A%3A%2Frestapis%2Fm5zr3vnks7%2Fstages%2Ftags" }, "tags:untag": { "href": "/tags/arn%3Aaws%3Aapigateway%3Aus-east-1%3A%3A%2Frestapis%2Fm5zr3vnks7%2Fstages%2Ftags{?tagKeys}", "templated": true } }, "tags": { "Department": "Sales" } }