如何在CSV中列出所有AWS RDS实例及其标签



我是AWS CLI的新手,我正在尝试为我的项目的AWS RDS实例构建一个包含其标签的CSV服务器目录。

我已经成功地使用了EC2实例:

aws ec2 describe-isntances
--query 'Reservations[*].Instances[*].[PrivateIpAddress, InstanceType, [Tags[?Key=='Name'.Value] [0][0], [Tags[?Key=='ENV'.Value] [0][0] ]'
--output text | sed -E 's/s+/,/g' >> ec2list.csv

上面的命令为我提供了一个CSV,其中包含Ip地址、实例类型以及列出的标记的值。

然而,我目前正试图在RDS实例上这样做,但没有成功:

aws rds describe-db-isntances
--query 'DBInstances[*].[DBInstanceIdentifier, DBInstanceArn, [Tags[?Key=='Component'.Value] [0][0], [Tags[?Key=='Engine'.Value] [0][0] ]'
--output text | sed -E 's/s+/,/g' >> rdslist.csv

RDS命令只返回实例编号和标识符,但是标记值显示为none,即使它们确实有值。

需要对我的RDS查询进行哪些修改以显示标记值/这是否可能?由于

可能还需要一个命令https://docs.aws.amazon.com/AmazonRDS/latest/APIReference//API_ListTagsForResource.html.

你可以像下面的例子一样用shell脚本包装这两个脚本。

#!/bin/bash
ARNS=$(aws rds describe-db-instances --query "DBInstances[].DBInstanceArn" --output text)
for line in $ARNS; do
TAGS=$(aws rds list-tags-for-resource --resource-name "$line" --query "TagList[]")
echo $line $TAGS
done

意识到标签可以在我原来的查询中显示。它不像EC2实例那样使用标签,而是使用TagList。例如,

aws rds describe-db-isntances
--query 'DBInstances[*].[DBInstanceIdentifier, DBInstanceArn, [TagList[?Key=='Component'.Value] [0][0], [TagList[?Key=='Engine'.Value] [0][0] ]'
--output text | sed -E 's/s+/,/g' >> rdslist.csv

相关内容

  • 没有找到相关文章

最新更新