Получить список пользователей IAM с помощью java aws sdk

Хотите получить список всех пользователей IAM, использующих sdk aws java. Используемый нами класс — 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;
     }

person user3351750    schedule 07.12.2015    source источник


Ответы (1)


Вам нужно использовать

ListUsersResult listUsers(ListUsersRequest listUsersRequest)
                          throws AmazonServiceException,
                                 AmazonClientException

чтобы использовать функцию маркера.
Вы можете установить маркер в ListUsersRequest. Вам нужно получить маркер из результатов (ListUsersResult) предыдущего вызова listusers. ListUsersResult имеет метод getMarker, который можно использовать для получения маркера, который будет использоваться для следующего вызова. Затем используйте объект ListUsesrsRequest. установите маркер со значением, полученным от getMarker, а затем вызовите это список пользователей. Делайте это в цикле, пока метод isTruncated в ListUsersResults не укажет, что больше нет возвращаемых элементов. Если вы не установите maxitem, по умолчанию будет возвращено 100 элементов в соответствии с документацией. Вы можете установить в своем ListUsersRequest другое значение в зависимости от того, сколько вы хотите отобразить на странице.

person phoenix    schedule 07.12.2015