AWS Lambda
开发人员指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

标记 Lambda 函数

Lambda 函数可跨越不同区域覆盖多个应用程序。为了在跟踪每个函数调用的频率和成本时简化流程,您可以使用标签。标签是您附加到 AWS 资源的键/值对,以更好地组织这些资源。如果您具有同一类型的许多资源 (对于 AWS Lambda 而言是函数),标签特别有用。通过使用标签,拥有数百个 Lambda 函数的客户可以筛选包含相同标签的函数,从而轻松地访问和分析一组特定函数。标记 Lambda 函数的两个主要优势是:

  • 分组和筛选:通过应用标签,您可以使用 Lambda 控制台或 CLI 分离一组特定应用程序或结算部门中包含的 Lambda 函数。有关更多信息,请参阅筛选标记的 Lambda 函数

  • 成本分配:由于 Lambda 对标记的支持已与 AWS Billing 相集成,您可以将账单细分为多个动态类别,并将函数与特定成本中心相对应。例如,如果您利用“Department”键标记所有 Lambda 函数,可以按部门细分所有 AWS Lambda 成本。然后,您可以提供单个部门值,例如 "Department 1" 或 "Department 2",将函数调用成本指向相应的成本中心。成本分配是以详细账单报告的形式呈现的,便于您对 AWS 成本进行分类和跟踪。

为账单标记 Lambda 函数

您可以使用标签来管理 AWS 账单,使其反映您的成本结构。要执行此操作,您可以添加标签键,其值将包含在成本分配报告中。有关设置成本分配报告,在报告中将选定标签键作为行项目的更多信息,请参阅 AWS Account Billing 简介 中的月度成本分配报告

如需查看组合资源的成本,请按具有相同标签键值的函数组织您的账单信息。例如,您可以将特定的应用程序名称用作几个 Lambda 函数的标签,然后组织账单信息,以查看在数个服务中使用该应用程序的总成本。有关更多信息,请参阅 AWS 账单和成本管理用户指南 中的使用成本分配标签

在 AWS Lambda 中,函数是可以标记的唯一资源。无法标记别名或特定函数版本。对函数别名或版本的调用将作为对原始函数的调用进行计费。

使用控制台对 Lambda 函数应用标签

您可以在配置选项卡中的标签部分下面向函数添加标签。

要删除现有函数的标签,请打开函数,选择标签部分,然后选择键-值对旁的删除按钮。

使用 CLI 对 Lambda 函数应用标签

创建新 Lambda 函数时,可以使用 --tags 选项包含标签。

$ aws lambda create-function --function-name my-function --handler index.js --runtime nodejs8.10 \ --role role-arn \ --tags "DEPARTMENT=Department A"

要将标签添加到现有函数,请使用 tag-resource 命令。

$ aws lambda tag-resource \ --resource function arn \ --tags "DEPARTMENT=Department A"

要删除标签,请使用 untag-resource 命令。

$ aws lambda untag-resource --resource function arn \ --tagkeys DEPARTMENT

筛选标记的 Lambda 函数

使用标签将 Lambda 函数分组后,您即可利用 Lambda 控制台或 AWS CLI 提供的筛选功能,根据您的特定要求查看函数。

使用控制台筛选 Lambda 函数

Lambda 控制台中包含一个搜索字段,可以根据一组指定的函数属性(包括标签)筛选函数。假设您有两个函数,名为 MyFunctionMyFunction2,它们都有名为 Department标签键。要查看这些函数,请选择搜索字段,注意将自动筛选出包含标签键的列表:

选择 Department 键。Lambda 将返回包含该键的所有函数。

现在,假设 MyFunction 标签的键值为“Department A”,MyFunction2 的键值为“Department B”。您可以通过选择 Department 键的值将搜索范围缩小,在本例中为 Department A,如下所示。

这样仅返回 MyFunction

您还可以包含其他接受的函数属性,如说明函数名称运行时,进一步缩小搜索范围。

注意

每个 Lambda 函数最多支持 50 个标签。如果您删除 Lambda 函数,关联的标签也将被删除。

使用 CLI 筛选 Lambda 函数

如果您要查看应用于特定的 Lambda 函数的标签,可以使用以下任一 Lambda API 命令:

  • ListTags:由您提供 Lambda 函数 ARN(Amazon 资源名称),以查看与该函数关联的标签列表:

    $ aws lambda list-tags --resource function arn
  • GetFunction:由您提供 Lambda 函数的名称,以查看与该函数关联的标签列表:

    $ aws lambda get-function --function-name my-function

您还可以使用 AWS Tagging Service 的 GetResources API,根据标签筛选您的资源。GetResources API 最多可接收 10 个筛选条件,每个筛选条件包含一个标签键和最多 10 个标签值。提供具有 "ResourceType" 的 GetResources,可按特定资源类型进行筛选。有关 AWS Tagging Service 的更多信息,请参阅使用资源组

标签限制

以下限制适用于标签:

  • 每个资源的标签数上限 – 50

  • 最大密钥长度 – 128 个 Unicode 字符 (采用 UTF-8 格式)

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

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

  • 请勿在标签名称或值中使用 aws: 前缀,因为它专为 AWS 使用预留。您无法编辑或删除带此前缀的标签名称或值。具有此前缀的标签不计入每个资源的标签数限制。

  • 如果您的标记方案将在多个服务和资源中使用,请记得其他服务可能对允许使用的字符有限制。通常允许使用的字符包括:可用 UTF-8 格式表示的字母、空格和数字以及特殊字符 + - = . _ : / @。