我尝试使用 python 标记 AWS 中的各种对象。据我所知,使用 boto 的某些服务是不可能的。因此,我决定看一看boto3。我已经堆积在 RDS 上。基于documentation add_tags_to_resource 方法需要资源 ARN。我看不到获取它的方法。
为了解决上述问题,我考虑过自己创建 ARN。毕竟没那么难 - RDS Tagging documentation .但是还有一个问题。在我的脚本中,我不能保证知道帐号,所以我想知道如何获得帐号来自己创建 ARN。
请您参考如下方法:
I wonder how can I get account number
不幸的是,它并不那么容易找到。但是你可以有一些技巧:
如果您有权访问某些 API 调用,您可以获得安全组或 AMI 并检查 OwnerId。
>>> import boto3
>>> client = boto3.client('ec2')
>>> client.describe_security_groups()['SecurityGroups'][0]['OwnerId']
'1234567890'
此技巧只有在您可以保证 SG 或 AMI 是由您要查找的帐户创建的情况下才有效。
或
使用 API 调用 IAM 并解析您自己的角色或用户的 ARN
>>> client = boto3.client('iam')
>>> client.get_user()['User']['Arn'].split(':')[4]
