翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS Device Farm リソースのタギング
AWS Device Farm は AWS Resource Groups Tagging API と連携します。この API を使用すると、タグで AWS アカウントのリソースを管理できます。プロジェクトやテスト実行などのリソースにタグを追加できます。
タグを使用して以下のことができます:
独自のコスト構造を反映するように AWS 請求情報を整理します。そのためには、AWS アカウントにサインアップして、タグキー値が含まれた AWS アカウント請求書を取得します。次に、結合したリソースのコストを見るには、同じタグキー値のリソースに従って請求書情報を整理します。例えば、複数のリソースにアプリケーション名のタグを付け、請求情報を整理することで、複数のサービスに渡るそのアプリケーションの合計コストを確認できます。詳細については、「AWS の請求情報とコスト管理」の「コスト配分とタギング」を参照してください。
-
IAM ポリシーを通じてアクセスをコントロールします。そのためには、タグ値条件を使用してリソースまたはリソースのセットへのアクセスを許可するポリシーを作成します。
-
タグとして特定プロパティ (テストに使用されたブランチなど) が設定された実行を識別および管理します。
リソースのタギングの詳細については、「タギングベストプラクティス
リソースのタギング
AWS Resource Group Tagging API を使用すると、リソースのタグを追加、削除、または変更できます。詳細については、「AWS Resource Group Tagging API リファレンス」を参照してください。
リソースにタグ付けするには、resourcegroupstaggingapi
エンドポイントから TagResources
オペレーションを使用します。このオペレーションでは、サポートされるサービスから ARN のリストとキー値ペアのリストを取得します。値はオプションです。空の文字列は、そのタグに値がないことを示します。例えば、以下の Python のサンプルタグでは、一連のプロジェクト ARN にタグ build-config
を付けて、値 release
を指定しています:
import boto3 client = boto3.client('resourcegroupstaggingapi') client.tag_resources(ResourceARNList=["arn:aws:devicefarm:us-west-2:111122223333:project:123e4567-e89b-12d3-a456-426655440000", "arn:aws:devicefarm:us-west-2:111122223333:project:123e4567-e89b-12d3-a456-426655441111", "arn:aws:devicefarm:us-west-2:111122223333:project:123e4567-e89b-12d3-a456-426655442222"] Tags={"build-config":"release", "git-commit":"8fe28cb"})
タグ値は必須ではありません。値のないタグを設定するには、値を指定するときに空の文字列 (""
) を使用します。タグは 1 つの値のみ保持できます。タグがリソースに対して保持する以前の値は、新しい値で上書きされます。
タグによるリソースの検索
タグによりリソースを検索するには、resourcegrouptaggingapi
エンドポイントから GetResources
オペレーションを使用します。このオペレーションは一連のフィルターを受け取りますが、いずれも必須ではなく、指定された条件に一致するリソースを返します。フィルタがない場合、すべてのタグ付きリソースが返されます。GetResources
オペレーションでは、以下の条件に基づいてリソースをフィルタリングできます。
-
タグ値
-
リソースタイプ (
devicefarm:run
など)
詳細については、「AWS Resource Group Tagging API リファレンス」を参照してください。
以下の例では、値が production
であるタグ stack
を使用して Device Farm デスクトップブラウザテストセッション (devicefarm:testgrid-session
リソース) を検索します:
import boto3 client = boto3.client('resourcegroupstaggingapi') sessions = client.get_resources(ResourceTypeFilters=['devicefarm:testgrid-session'], TagFilters=[ {"Key":"stack","Values":["production"]} ])
リソースからのタグの削除
タグを削除するには、削除するリソースとタグのリストを指定し、UntagResources
オペレーションを使用します:
import boto3 client = boto3.client('resourcegroupstaggingapi') client.UntagResources(ResourceARNList=["arn:aws:devicefarm:us-west-2:111122223333:project:123e4567-e89b-12d3-a456-426655440000"], TagKeys=["RunCI"])