gpt4 book ai didi

python - 使用 boto (AWS Python),如何获取 IAM 用户列表?

转载 作者:行者123 更新时间:2023-12-01 05:24:07 28 4
gpt4 key购买 nike

新手问题。我希望能够执行以下操作:

import boto
from boto.iam.connection import IAMConnection
cfn = IAMConnection()
cfn.get_all_users()
for user in userList:
print user.user_id

连接工作正常,但最后一行返回错误“'unicode'对象没有属性'user_id'”。

我做了一个 type(userList) ,它报告的类型为 ,它似乎没有(?)被记录。使用普通的 JSON 解析似乎也不起作用。

来自another source ,看起来好像意图是像这样的操作的结果应该被“Python化”。

无论如何,我对 boto 还很陌生,所以我认为有一些简单的方法可以做到这一点,但我只是没有偶然发现。

谢谢!

最佳答案

对于一些较旧的 AWS 服务,boto 从服务获取 XML 响应并将它们转换为漂亮的 Python 对象。对于其他人来说,它获取 XML 响应并将其直接音译为 native Python 数据结构。 boto.iam 模块属于后一种形式。因此,get_all_users() 返回的实际数据如下所示:

{u'list_users_response':
{u'response_metadata': {u'request_id': u'8d694cbd-93ec-11e3-8276-993b3edf6dba'},
u'list_users_result': {u'users':
[{u'path': u'/', u'create_date': u'2014-01-21T17:19:45Z', u'user_id':
u'<userid>', u'arn': u'<arn>', u'user_name': u'foo'},
{...next user...}
]
}
}

所以,你想要的所有数据都在那里,只是有点难找到。返回的 boto.jsonresponse.Element 对象确实给您带来了一些帮助。你实际上可以做这样的事情:

data = cfn.get_all_users()
for user in data.user:
print(user['user_name'])

但在大多数情况下,您只需深入研究返回的数据即可找到您要查找的内容。

关于python - 使用 boto (AWS Python),如何获取 IAM 用户列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21718279/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com