Marcação de recursos do AWS Device Farm - AWS Device Farm

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Marcação de recursos do AWS Device Farm

O AWS Device Farm funciona com a API de marcação de grupos de recursos AWS. Essa API permite gerenciar recursos na conta da AWS com tags. É possível adicionar tags a recursos, como projetos e execuções de teste.

É possível usar tags para:

  • Organizar sua conta da AWS para reproduzir sua própria estrutura de custo. Para isso, inscreva-se para obter sua conta da AWS com os valores de chave de tags incluídos. Então, para ver o custo de recursos combinados, organize suas informações de faturamento de acordo com recursos com os mesmos valores de chave de tags. Por exemplo, você pode marcar vários recursos com um nome de aplicativo, e depois organizar suas informações de faturamento para ver o custo total daquele aplicativo em vários serviços. Para obter mais informações, consulte Alocação de custos e uso de tags em Gerenciamento de faturamento e custos da AWS.

  • Controlar o acesso usando políticas do IAM. Para fazer isso, crie uma política que permita o acesso a um recurso ou conjunto de recursos usando uma condição de valor de tag.

  • Identificar e gerenciar execuções que tenham determinadas propriedades como tags, assim como a ramificação usada para testes.

Para obter mais informações sobre recursos de tags, consulte o whitepaper das Melhores práticas de marcação .

Marcar recursos

A API de marcação de grupo de recursos da AWS permite adicionar, remover ou modificar tags em recursos. Para obter mais informações, consulte a Referência de API de marcação de grupo de recursos da AWS.

Para marcar um recurso, use a operação TagResources no endpoint resourcegroupstaggingapi. Essa operação utiliza uma lista de ARNs de serviços compatíveis e uma lista de pares de chave-valor. O valor é opcional. Uma string vazia indica que não deve haver nenhum valor para essa tag. O exemplo de python a seguir marca uma série de ARNs de projeto com a tag build-config com o valor 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"})

Não é obrigatório fornecer um valor para a tag. Para definir uma tag sem valor, use uma string vazia ("") ao especificar um valor. Uma tag pode ter apenas um valor. Qualquer valor anterior da tag associado a um recurso será substituído pelo novo valor.

Pesquisa de recursos por tag

Para pesquisar recursos por suas tags, use a operação GetResources no endpoint resourcegrouptaggingapi. Essa operação usa uma série de filtros, nenhum dos quais é necessário, e retorna os recursos que correspondem aos critérios fornecidos. Sem filtros, todos os recursos marcados são retornados. A operação GetResources permite filtrar recursos com base em

  • Valor da tag

  • Tipo de recurso (por exemplo, devicefarm:run)

Para obter mais informações, consulte a Referência de API de marcação de grupo de recursos da AWS.

O exemplo a seguir procura as sessões de teste do navegador de desktop do Device Farm (devicefarm:testgrid-session resources) com a tag stack que tem o valor production:

import boto3 client = boto3.client('resourcegroupstaggingapi') sessions = client.get_resources(ResourceTypeFilters=['devicefarm:testgrid-session'], TagFilters=[ {"Key":"stack","Values":["production"]} ])

Remover tags de recursos

Para remover uma tag, use a operação UntagResources, especificando uma lista de recursos e as tags a serem removidas:

import boto3 client = boto3.client('resourcegroupstaggingapi') client.UntagResources(ResourceARNList=["arn:aws:devicefarm:us-west-2:111122223333:project:123e4567-e89b-12d3-a456-426655440000"], TagKeys=["RunCI"])