

# イベントソースマッピングでのタグの使用
<a name="tags-esm"></a>

イベントソースマッピングにタグを付けて、リソースを整理および管理できます。タグは、AWS のサービス間でサポートされているリソースに関連付けられた自由形式のキーと値のペアです。タグのユースケースの詳細については、「*タグ付け AWS リソースとタグエディタガイド*」の「[一般的なタグ付け戦略](https://docs.aws.amazon.com//tag-editor/latest/userguide/best-practices-and-strats.html#tag-strategies)」を参照してください。

イベントソースマッピングは、独自のタグを持つことができる関数に関連付けられています。イベントソースマッピングは、関数からタグを自動的に継承しません。AWS Lambda API を使用して、タグを表示および更新できます。Lambda コンソールで特定のイベントソースマッピングを管理しながら、Amazon SQS のプロビジョンドモードを使用しているものを含め、タグの表示と更新を行うこともできます。

## タグの操作に必要なアクセス許可
<a name="esm-tags-required-permissions"></a>

AWS Identity and Access Management (IAM) ID (ユーザー、グループ、ロール) がリソースのタグを読み取るまたは設定できるようにするには、以下の対応するアクセス許可を付与します。
+ **lambda:ListTags** – リソースがタグ付けされている場合は、そのリソースで `ListTags` を呼び出す必要があるすべてのユーザーに対し、このアクセス許可を付与します。タグ付き関数の場合、このアクセス許可は `GetFunction` にも必要です。
+ **lambda:TagResource** – 作成時に `TagResource` を呼び出すかタグを実行する必要があるすべてのユーザーにこのアクセス許可を付与します。

必要に応じて、**Lambda:UntagResource** アクセス許可も付与して、リソースへの `UntagResource` 呼び出しを許可することを検討してください。

詳細については、「[Lambda のアイデンティティベースの IAM ポリシー](access-control-identity-based.md)」を参照してください。

## Lambda コンソールでのタグの使用
<a name="tags-esm-console"></a>

Lambda コンソールを使用して、Amazon SQS のプロビジョンドモードで設定されているものを含め、タグを持つイベントソースマッピングを作成し、既存のイベントソースマッピングにタグを追加して、イベントソースマッピングをタグでフィルタリングできます。

Lambda コンソールを使用してサポートされているストリームおよびキューベースのサービスのトリガーを追加すると、Lambda は自動的にイベントソースマッピングを作成します。これらのイベントソースの詳細については、「[Lambda がストリームおよびキューベースのイベントソースからのレコードを処理する方法](invocation-eventsourcemapping.md)」を参照してください。コンソールでイベントソースマッピングを作成するには、次の前提条件が必要です。
+  関数。
+ 影響を受けるサービスのイベントソース。

タグは、トリガーの作成や更新に使用するのと同じユーザーインターフェイスの一部として追加できます。

**イベントソースマッピングの作成時にタグを追加するには**

1. Lambda コンソールの [[関数]](https://console.aws.amazon.com/lambda/home#/functions) ページを開きます。

1. 関数の名前を選択します。

1. **[関数の概要]** で **[トリガーを追加]** をクリックします。

1. **[トリガーの設定]** のドロップダウンリストで、イベントソースの取得元となるサービスの名前を選択します。

1. イベントソースのコア設定を指定します。イベントソースの設定の詳細については、「[他の AWS サービスからのイベントを使用した Lambda の呼び出し](lambda-services.md)」の関連サービスのセクションを参照してください。

1. **[イベントソースマッピング設定]** で、**[追加設定]** を選択します。

1. **[タグ]** で **[新しいタグを追加]** を選択します。

1. **[キー]** フィールドにタグキーを入力します。タグ付け制限の詳細については、「*タグ付け AWS リソースとタグエディタユーザーガイド*」の「[タグの命名制限と要件](https://docs.aws.amazon.com//tag-editor/latest/userguide/best-practices-and-strats.html#id_tags_naming_best_practices)」を参照してください。

1. **[Add]** (追加) を選択します。

**既存のイベントソースマッピングにタグを追加するには**

1. Lambda コンソールの [[イベントソースマッピング]](https://console.aws.amazon.com/lambda/home#/event-source-mappings) を開きます。

1. リソースリストから、**[関数]** と **[イベントソース ARN]** に対応するイベントソースマッピングの **UUID** を選択します。

1. **[一般設定]** ペインの下のタブリストから、**[タグ]** を選択します。

1. [**Manage tags (タグの管理)**] を選択します。

1. **新しいタグを追加**を選択します。

1. **[キー]** フィールドにタグキーを入力します。タグ付け制限の詳細については、「*タグ付け AWS リソースとタグエディタユーザーガイド*」の「[タグの命名制限と要件](https://docs.aws.amazon.com//tag-editor/latest/userguide/best-practices-and-strats.html#id_tags_naming_best_practices)」を参照してください。

1. **[保存]** を選択します。

**タグでイベントソースマッピングをフィルタリングするには**

1. Lambda コンソールの [[イベントソースマッピング]](https://console.aws.amazon.com/lambda/home#/event-source-mappings) を開きます。

1. 検索ボックスを選択します。

1. ドロップダウンリストで、**[タグ]** の小見出しの下からタグキーを選択します。

1. **[使用: "tag-name"]** を選択して、このキーでタグ付けされたすべてのイベントソースマッピングを表示するか、**[演算子]** を選択して、値でさらにフィルタリングします。

1. タグキーと値の組み合わせでフィルタリングするタグ値を選択します。

検索ボックスは、タグキーの検索もサポートしています。キーの名前を入力し、リスト内で見つけます。

## AWS CLIでのタグの使用
<a name="tags-esm-cli"></a>

Lambda API を使用して、イベントソースマッピングを含む既存の Lambda リソースにタグを追加および削除できます。イベントソースマッピングの作成時にタグを追加することもできます。これにより、ライフサイクル全体を通じてリソースにタグを付けることができます。

### Lambda タグ API を使用したタグの更新
<a name="tags-esm-api-config"></a>

サポートされている Lambda リソースのタグを追加または削除するには、[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 オペレーションを使用します。

これらの操作は AWS CLI を使用して呼び出すことができます。既存のリソースにタグを追加するには、`tag-resource` コマンドを使用します。この例では、2 つのタグを追加します。1 つはキー *Department* を持つタグで、もう 1 つはキー *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="tags-esm-on-create"></a>

タグを使用して新しい Lambda イベントソースマッピングを作成するには、[CreateEventSourceMapping](https://docs.aws.amazon.com/lambda/latest/api/API_CreateEventSourceMapping.html) API オペレーションを使用します。`Tags` パラメータを指定します。このオペレーションは、`create-event-source-mapping` AWS CLI コマンドと `--tags` オプションを使用して呼び出すことができます。CLI コマンドの詳細については、「*AWS CLI コマンドリファレンス*」の「[create-event-source-mapping](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/lambda/create-event-source-mapping.html)」を参照してください。

`CreateEventSourceMapping` で `Tags` パラメータを使用する前に、このオペレーションに必要な通常のアクセス許可と共に、リソースにタグを付けるアクセス許可をロールが有していることを確認してください。タグ付けのアクセス許可の詳細については、「[タグの操作に必要なアクセス許可](#esm-tags-required-permissions)」を参照してください。

### Lambda タグ API を使用したタグの表示
<a name="tags-esm-api-view"></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
```

### タグによるリソースのフィルタリング
<a name="tags-esm-filtering"></a>

AWS Resource Groups Tagging API [GetResources](https://docs.aws.amazon.com/resourcegroupstagging/latest/APIReference/API_GetResources.html) API オペレーションを使用すると、リソースをタグでフィルタリングできます。この `GetResources` オペレーションは、それぞれにタグキーと最大 10 個のタグ値が含まれているフィルタを、最大 10 個まで受け取ります。特定のリソースタイプでフィルタリングするには、`GetResources` で `ResourceType` を指定します。

このオペレーションは、`get-resources` AWS CLI コマンドを使用して呼び出すことができます。`get-resources` の使用例については、「*AWS CLI コマンドリファレンス*」の「[get-resources](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/resourcegroupstaggingapi/get-resources.html#examples)」を参照してください。