2016-09-08 51 views
0

我需要使用API​​获取特定于标记的所有资源。 AWS Config控制台中提供了类似的选项,但我无法在API中找到,其中资源清单页面可以指定标记并获取特定于该标记的所有资源。API中的标记为AWS资源

+0

嗨,我打不通EC2值说明标签为所有EC2资源,但不适合RDS资源。 – kesav

+0

请让我知道是否有任何API我可以找到所有资源的特定标记 – kesav

回答

0

没有单一命令来获取所有资源。

每种服务都有自己的方式来按标签列出资源。某些服务(如EC2)支持基于标记值列出所有资源。

例如,使用describe-tags有标签过滤:

aws ec2 describe-tags --region us-east-1 \ 
    --filters Name=tag:Name,Values=Test 

但结果仅限于EC2资源。

其他服务(如RDS)不支持基于标记值列出资源。相反,您需要检索所有资源,然后检索这些资源的标签,然后过滤自己。

aws rds describe-db-instances --region us-east-1 \ 
    --query 'DBInstances[*].DBInstanceIdentifier' 

然后为每个资源,你需要调用list-tags-for-resource获得标签:

aws rds list-tags-for-resource --region us-east-1 \ 
    --resource-name arn:aws:rds:us-east-1:<account number>:db:<db instance id> 

最后,你将需要:为

  1. 使用的每个服务的方法每种资源类型列出资源,并在您关心的每个区域重复此操作。

例子:

* us-east-1 
    * EC2 
    * describe-tags 
    * RDS 
    * describe-db-instances 
     * list-tags-for-resource 
    * describe-db-snapshots 
     * list-tags-for-resource 
* us-west-1 
    * EC2 
    * describe-tags 
    * RDS 
    * describe-db-instances 
     * list-tags-for-resource 
    * describe-db-snapshots 
     * list-tags-for-resource 

...等

+0

我能够获得所有资源,在EC2(VPC,卷,快照,子网,安全组等)下使用“ aws ec2 describe-tags“命令,但对于RDS,我需要一个类似的命令来获取特定标记的所有资源。请让我知道是否有任何选项可以获取RDS资源值。 – kesav

+0

我忘了'describe-tags'。我已经更新了我的答案。我也澄清了有关RDS的信息。 –