2016-09-08 53 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的信息。 –