通过java aws sdk获取IAM用户列表

时间:2015-12-07 09:03:59

标签: java amazon-web-services aws-sdk amazon-iam

想要获得使用sdk aws java的所有IAM用户的列表。我们使用的类是AmazonIdentityManagementClient,使用的方法是listuser()。 API doc建议传递参数MaxItem和Marker。方法不识别参数。任何人都可以建议如何在这里做分页。

    AmazonIdentityManagementClient amazonidentitymanagmentclient = new AmazonIdentityManagementClient();

    ListUsersResult listuserresult = new ListUsersResult();

 try {

       listuserresult=amazonidentitymanagmentclient.listUsers();

       List<User> listuser = new ArrayList<User>();

       listuser = listuserresult.getUsers() //need to pass maxitems,marker here
     }


     } catch (Exception e) {
         return null;
     }

1 个答案:

答案 0 :(得分:2)

您需要使用

ListUsersResult listUsers(ListUsersRequest listUsersRequest)
                          throws AmazonServiceException,
                                 AmazonClientException

使用标记功能。
您可以在 ListUsersRequest 中设置标记。您需要从上一次调用listusers的结果( ListUsersResult )中获取标记。 ListUsersResult有一个方法 getMarker ,可用于获取用于下一次调用的标记。然后使用对象ListUsesrsRequest。使用从getMarker获取的值设置标记,然后调用此 listusers 。在循环中执行此操作,直到ListUsersResults中的isTruncated方法指示不再返回任何元素。如果您没有设置maxitem,默认情况下它将根据文档返回100个项目。您可以根据要在页面中显示的内容将ListUsersRequest中的值设置为不同的值。