可以标记的 API Gateway 资源 - Amazon API Gateway

可以标记的 API Gateway 资源

可以在 Amazon API Gateway V2 API 中的以下 HTTP API 或 WebSocket API 资源上设置标签:

  • Api

  • DomainName

  • Stage

  • VpcLink

此外,在 Amazon API Gateway V1 API 中可以在以下 REST API 资源上设置标签:

  • ApiKey

  • ClientCertificate

  • DomainName

  • RestApi

  • Stage

  • UsagePlan

  • VpcLink

不能直接对其他资源设置标签。但是,在 Amazon API Gateway V1 API 中,子资源继承对父资源设置的标签。例如:

  • 如果对 RestApi 资源设置标签,该标签会由 RestApi 的以下子资源继承以用于基于属性的访问控制

    • Authorizer

    • Deployment

    • Documentation

    • GatewayResponse

    • Integration

    • Method

    • Model

    • Resource

    • ResourcePolicy

    • Setting

    • Stage

  • 如果对 DomainName 设置标签,则此标签将由其下的任意 BasePathMapping 资源继承。

  • 如果对 UsagePlan 设置标签,则此标签将由其下的任意 UsagePlanKey 资源继承。

注意

标签继承仅适用于基于属性的访问控制。例如,您不能使用继承的标签来监控 AWS Cost Explorer 中的成本。要使用标签进行成本分配,我们建议您在子资源(如 Stage 资源)上创建标签。

当您调用某个资源的 GetTags 时,API Gateway 不会返回继承的标签。

Amazon API Gateway V1 API 中的标签继承

以前,只能对阶段设置标签。现在,您还可以对其他资源设置标签,Stage 可以通过两种方式接收标签:

  • 可以直接对 Stage 设置标签。

  • 阶段可以从其父 RestApi 继承标签。

如果某个阶段以两种方式收到标签,直接对阶段设置的标签优先。例如,假设一个阶段从其父 REST API 继承以下标签:

{ 'foo': 'bar', 'x':'y' }

假设它也直接对此阶段设置了以下标签:

{ 'foo': 'bar2', 'hello': 'world' }

净结果是阶段将具有以下标签(具有以下值):

{ 'foo': 'bar2', 'hello': 'world' 'x':'y' }

标签限制和使用约定

以下限制和使用约定适用于将标签与 API Gateway 资源一起使用:

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

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

  • 最大标签键长度为 128 个 Unicode 字符 (采用 UTF-8 格式)。

  • 最大标签值长度为 256 个 Unicode 字符 (采用 UTF-8 格式)。

  • 键和值允许使用的字符包括可用 UTF-8 格式表示的字母、数字和空格,以及以下字符:. : + = @ _ / -(连字符)。Amazon EC2 资源允许任何字符。

  • 标签键和值区分大小写。最佳实践是,决定利用标签的策略并在所有资源类型中一致地实施该策略。例如,决定是使用 Costcentercostcenter 还是 CostCenter,以及是否对所有标签使用相同的约定。避免将类似的标签用于不一致的案例处理。

  • 对标签禁止使用 aws: 前缀;它是为使用 AWS 而保留的。您无法编辑或删除带此前缀的标签键或值。具有此前缀的标签不计入每个资源的标签数限制。