如何描述rds快照的标签

How to describe tags for rds snapshots

是否可以描述 rds 快照的标签?

对于我使用的 ec2 实例:

aws ec2 describe-instances --filters Name=tag:Name,Values= --query 'Reservations[*].Instances[*].{InstanceId:InstanceId}'

但是对于rds快照我找不到任何正确的命令。

如果您查看 RDS 命令的 AWS CLI 文档,您会注意到(在 describe-db-snapshots 子命令部分):

--filters (list)

This parameter is not currently supported.

您将能够将不带过滤器的输出通过管道传输到自定义脚本,并在那里进行过滤。

遗憾的是,作为 rds:DescribeDbSnapshots API 命令的一部分,标签未包含在快照数据中。相反,您可以使用 rds:ListTagsForResource API 命令。作为命令的一部分,您将指定您感兴趣的快照的 ARN。

使用 AWS CLI,看起来像这样:

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

参考:http://docs.aws.amazon.com/cli/latest/reference/rds/list-tags-for-resource.html

评论后更新

由于describe-db-snapshots不支持筛选,您无法根据标签筛选结果。相反,您必须执行以下操作:

  1. 使用describe-db-snapshots获取完整的快照列表。
  2. 对于每个返回的快照,使用 list-tags-for-resource 获取标签。您可以使用 --query 参数来限制标签​​的结果。
  3. 有条件地,根据 list-tags-for-resource 的结果,将您的快照从您关心的快照列表中包含或排除。