想要使用sdk-aws-java获取所有IAM用户的列表。我们使用的类是AmazonIdentityManagementClient,使用的方法是listuser()。API单据建议传递参数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;
}
您需要使用
ListUsersResult listUsers(ListUsersRequest listUsersRequest)
throws AmazonServiceException,
AmazonClientException
使用标记功能
您可以在ListUsersRequest中设置标记。您需要从listusers上一次调用的结果(ListUsersResult)中获取标记。ListUsersResult有一个方法getMarker,该方法可用于获取下一次调用所使用的标记。然后使用对象ListUsesrsRequest。使用从getMarker获得的值设置标记,然后调用此listusers。在一个循环中执行此操作,直到ListUsersResults中的isTruncated方法指示不再返回元素为止。如果你没有设置maxitem,默认情况下,它会根据文档返回100个项目。您可以根据要在页面中显示的内容,在ListUsersRequest中将其设置为不同的值。