

# 在 Lambda 函数上使用标签
<a name="configuration-tags"></a>

可以通过为函数添加标签来组织和管理资源。标签是与资源关联的自由格式键值对，在 AWS 服务中受支持。有关标签用例的更多信息，请参阅《Tagging AWS Resources and Tag Editor Guide》**中的 [Common tagging strategies](https://docs.aws.amazon.com//tag-editor/latest/userguide/best-practices-and-strats.html#tag-strategies)。

标签应用在函数级别，而不是应用于版本或别名。标签不会包含在您发布版本时 AWS Lambda 创建快照的版本特定配置的快照中。可以使用 Lambda API 来查看和更新标签。在 Lambda 控制台中管理特定函数时，还可以查看和更新标签。

**Topics**
+ [使用标签所需的权限](#fxn-tags-required-permissions)
+ [通过 Lambda 控制台使用标签](#using-tags-with-the-console)
+ [通过 AWS CLI 使用标签](#configuration-tags-cli)

## 使用标签所需的权限
<a name="fxn-tags-required-permissions"></a>

要允许 AWS Identity and Access Management（IAM）身份（用户、组或角色）读取资源或为其设置标签，请授予该身份相应的权限：
+ **lambda:ListTags** – 当资源有标签时，将此权限授予需要在其上调用 `ListTags` 的任何人。对于带标签的函数，`GetFunction` 也需要此权限。
+ **lambda:TagResource** – 将此权限授予需要调用 `TagResource` 或执行在创建时授予标记的操作的任何人。

或者，也可以考虑授予 **lambda:UntagResource** 权限以允许 `UntagResource` 调用该资源。

有关更多信息，请参阅 [Lambda 的基于身份的 IAM policy](access-control-identity-based.md)。

## 通过 Lambda 控制台使用标签
<a name="using-tags-with-the-console"></a>

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

**要在创建函数时添加标签**

1. 打开 Lamba 控制台的 [Functions page](https://console.aws.amazon.com/lambda/home#/functions)（函数页面）。

1. 选择 **Create function**（创建函数）。

1. 选择 **Author from scratch**（从头开始编写）或 **Container image**（容器映像）。

1. 在**基本信息**下，设置您的函数。有关配置函数的更多信息，请参阅 [配置 AWS Lambda 函数](lambda-functions.md)。

1. 展开 **Advanced settings**（高级设置），然后选择 **Enable tags**（启用标签）。

1. 选择 **Add new tag**（添加新标签），然后输入 **Key**（键）和可选 **Value**（值）。要添加更多标签，请重复此步骤。

1. 选择**创建函数**。

**要将标签添加到现有函数**

1. 打开 Lamba 控制台的[函数](https://console.aws.amazon.com/lambda/home#/functions)页面。

1. 选择一个函数的名称。

1. 选择 **Configuration**（配置），然后选择 **Tags**（标签）。

1. 在**标签**下，选择**管理标签**。

1. 选择 **Add new tag**（添加新标签），然后输入 **Key**（键）和可选 **Value**（值）。要添加更多标签，请重复此步骤。

1. 选择**保存**。

**使用标签过滤函数**

1. 打开 Lamba 控制台的[函数](https://console.aws.amazon.com/lambda/home#/functions)页面。

1. 选择搜索框以查看函数属性和标签键列表。

1. 选择一个标签键以查看当前 AWS 区域中正在使用的值的列表。

1. 选择**使用：“tag-name”**以查看所有使用此键标记的函数，或者选择一个**运算符**进一步按值筛选。

1. 选择标签值以按标签键和值的组合进行筛选。

搜索栏还支持搜索标签键。输入 `tag` 以仅查看标签键列表，或输入键的名称以在列表中查找它。

## 通过 AWS CLI 使用标签
<a name="configuration-tags-cli"></a>

可以使用 Lambda API 在现有 Lambda 资源（包括函数）上添加和删除标签。还可以在创建函数时添加标签，这样就可以在资源的整个生命周期中对其进行标记。

### 使用 Lambda 标签 API 更新标签
<a name="tags-fxn-api-config"></a>

可以通过 [TagResource](https://docs.aws.amazon.com/lambda/latest/api/API_TagResource.html) 和 [UntagResource](https://docs.aws.amazon.com/lambda/latest/api/API_UntagResource.html) API 操作，添加和删除受支持 Lambda 资源的标签。

可以使用 AWS CLI 调用这些操作。要向现有资源添加标签，请使用 `tag-resource` 命令。此示例添加了两个标签，一个带有键 *Department*，另一个带有键 *CostCenter*。

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

要删除标签，请使用 `untag-resource` 命令。此示例删除了键为 *Department* 的标签。

```
aws lambda untag-resource --resource arn:aws:lambda:us-east-1:123456789012:resource-type:resource-identifier \
--tag-keys Department
```

### 在创建函数时添加标签
<a name="creating-tags-when-you-create-a-function-cli"></a>

要使用标签创建新的 Lambda 函数，请使用 [CreateFunction](https://docs.aws.amazon.com//lambda/latest/api/API_CreateFunction.html) API 操作。指定 `Tags` 参数。您可以使用 `create-function` CLI 命令和 --tags 选项调用此操作。在将标签参数与 `CreateFunction` 一起使用之前，请确保您的角色拥有标记资源的权限以及此操作所需的常规权限。有关标记权限的更多信息，请参阅 [使用标签所需的权限](#fxn-tags-required-permissions)。此示例添加了两个标签，一个带有键 *Department*，另一个带有键 *CostCenter*。

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

### 查看函数上的标签
<a name="viewing-tags-on-a-function-cli"></a>

要查看应用于特定 Lambda 资源的标签，请使用 `ListTags` API 操作。有关更多信息，请参阅 [ListTags](https://docs.aws.amazon.com/lambda/latest/api/API_ListTags.html)。

可以提供 ARN（Amazon 资源名称），以使用 `list-tags` AWS CLI 命令调用此操作。

```
aws lambda list-tags --resource arn:aws:lambda:us-east-1:123456789012:resource-type:resource-identifier
```

可以通过 [GetFunction](https://docs.aws.amazon.com/lambda/latest/api/API_GetFunction.html) API 操作来查看应用于特定资源的标签。类似的功能不适用于其他资源类型。

可以使用 `get-function` CLI 命令调用此操作：

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

### 按标签筛选资源
<a name="tags-fxn-filtering"></a>

您可以使用 AWS Resource Groups Tagging API [GetResources](https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/API_GetResources.html) API 操作按标签筛选资源。`GetResources` 操作最多可接收 10 个筛选条件，每个筛选条件包含一个标签键和最多 10 个标签值。提供具有 `ResourceType` 的 `GetResources`，可按特定资源类型进行筛选。

可以使用 `get-resources` AWS CLI 命令调用此操作。有关使用 `get-resources` 的示例，请参阅《AWS CLI Command Reference》**中的 [get-resources](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/resourcegroupstaggingapi/get-resources.html#examples)。