在 Amazon Lambda 函数上使用标签 - Amazon Lambda
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

在 Amazon Lambda 函数上使用标签

您可以通过为 Lambda 函数添加标签,按拥有者、项目或部门组织函数。标签是各类 Amazon 服务均支持的自由格式键-值对,用于筛选资源和向账单报告添加详细信息。

通过 Lambda 控制台使用标签

您可以使用控制台创建具有标签的函数、向现有函数添加标签以及按添加的标签筛选函数。

为函数添加标签

要在创建函数时添加标签

  1. 打开 Lamba 控制台的 Functions page(函数页面)。

  2. 选择 Create function(创建函数)。

  3. 选择 Author from scratch(从头开始编写)或 Container image(容器镜像)。

  4. Basic information(基本信息)中,执行以下操作:

    1. 对于 Function name(函数名称),输入函数名称。函数名称的长度限制为 64 个字符。

    2. 对于Runtime(运行时),请选择函数使用的语言版本。

    3. (可选)对于架构,选择要用于函数的指令集架构。默认架构为 x86_64。为您的函数构建部署包时,请确保它与此指令集架构兼容。

  5. 展开 Advanced settings(高级设置),然后选择 Enable tags(启用标签)。

  6. 输入一个 Key(键)和可选的 Value(值)。要添加更多标签,请选择 Add new tag(添加新标签),然后重复此步骤。

  7. 选择 Create function(创建函数)。

要将标签添加到现有函数

  1. 为使用该函数的人员授予 IAM 身份(用户、组或角色)的适当权限:

    • lambda:ListTags - 当函数有标签时,将此权限授予需要查看该函数的任何人。

    • lambda:TagResource - 将此权限授予需要向函数添加标签的任何人。

    有关更多信息,请参阅Lambda 的基于身份的 IAM 策略:

  2. 打开 Lamba 控制台的 Functions page(函数页面)。

  3. 选择函数。

  4. 选择 Configuration(配置),然后选择 Tags(标签)。

  5. Tags(标签)下,选择 Manage tags(管理标签)。

  6. 输入密钥和值。要添加其他标签,请选择 Add new tag(添加新标签)。

    确保您使用的任何标签符合标签要求

    
              在 Lambda 控制台中为函数添加标签。
  7. 选择保存

按标签筛选函数

您可以使用 Lambda 控制台或 Amazon Resource Groups API 根据标签的存在与否或者标签值来筛选函数。

标签应用在函数级别,而不是应用于版本或别名。标签不会包含在发布版本时为版本特定配置创建的快照中。

使用标签过滤函数

  1. 请确保您拥有所需的权限:

    • lambda:ListTags 授予查看具有该标签的函数的权限。

    • lambda:TagResource 授予权限以向函数添加标签

  2. 打开 Lamba 控制台的 Functions page(函数页面)。

  3. 在搜索栏中单击可查看函数属性和标签键的列表。

    
              函数搜索栏中的标签。
  4. 选择一个标签键可查看当前区域中正在使用的值的列表。

  5. 选择一个值以查看具有该值的函数,或者选择 (all values)(所有值)查看具有含有此键的标签的所有函数。

    
              按标签值筛选

搜索栏还支持搜索标签键。输入 tag 以仅查看标签键列表,或者开始输入键名称,以在列表中查找该键。

借助 Amazon Billing and Cost Management,您可以使用标签来自定义账单报告并创建成本分配报告。有关更多信息,请参阅 Amazon 账单和成本管理用户指南中的月度成本分配报告使用成本分配标签

通过 Amazon Command Line Interface 使用标签

您可以使用 Amazon CLI 创建具有标签的函数、向现有函数添加标签以及按添加的标签筛选函数。

使用标签所需的权限

为使用该函数的人员授予 IAM 身份(用户、组或角色)的适当权限:

  • lambda:ListTags - 当函数有标签时,将此权限授予任何需要在其上调用 GetFunctionListTags 的任何人。

  • lambda:TagResource - 将此权限授予需要调用 CreateFunctionTagResource 的任何人。

有关更多信息,请参阅Lambda 的基于身份的 IAM 策略

在创建函数时创建标签

确保您使用的任何标签符合标签要求

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

aws lambda create-function --function-name my-function --handler index.js --runtime nodejs12.x \ --role arn:aws:iam::123456789012:role/lambda-role \ --tags Department=Marketing,CostCenter=1234ABCD

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

aws lambda tag-resource \ --resource arn:aws:lambda:us-east-2:123456789012:function:my-function \ --tags Department=Marketing,CostCenter=1234ABCD

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

aws lambda untag-resource --resource function arn \ --tag-keys Department

查看函数上的标签

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

  • ListTags – 由您提供 Lambda 函数 ARN (Amazon Resource Name),以查看与该函数关联的标签列表:

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

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

按标签筛选函数

您可以使用 Amazon Resource Groups Tagging API GetResources 按标签筛选资源。GetResources API 最多可接收 10 个筛选条件,每个筛选条件包含一个标签键和最多 10 个标签值。提供具有 “ResourceType” 的 GetResources,可按特定资源类型进行筛选。

有关 Amazon Resource Groups 服务的更多信息,请参阅 Amazon 资源组和标签用户指南中的什么是资源组

标签的要求

以下要求适用于标签:

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

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

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

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

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

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