Я пытаюсь получить сведения о ресурсе AWS, такие как (EC2, лямбда, ECS, SQS, SNS, ...), используя AWSResourceGroupsTaggingAPI
Вначале я пытался получить фильтр, чтобы получить только лямбда-функции, присутствующие всчет для попытки, в моей учетной записи песочницы у нас есть почти 200 функций
, используя приведенный ниже код, нам нужно получать лямбды 50 за раз, но мой код ведет себя по-разному, т.е. он приносит то же самое, т.е. первый наборуслуги в третий раз, потому что paginationtoken является пустым, я не знаю, почему он возвращает пустое значение, вместо этого он должен вернуть строку (если следующий набор данных присутствует) или null (если следующий набор данных отсутствует.
в настоящее время в третий раз япустая пагинация, взято так, что я выбираю первый набор из 50 лямбда-функций
AWSResourceGroupsTaggingAPI tagClient = AWSResourceGroupsTaggingAPIClientBuilder.standard().withRegion("us-east-1").build();
...
void listLambda() {
GetResourcesRequest getResourcesRequest = new GetResourcesRequest();
getResourcesRequest.setResourcesPerPage(50);
getResourcesRequest.setResourceTypeFilters(Arrays.asList("lambda"));
GetResourcesResult getResourcesResult = tagClient.getResources(getResourcesRequest);
List<ResourceTagMapping> reslist = getResourcesResult.getResourceTagMappingList();
fetchResource(getResourcesRequest, getResourcesResult, reslist);
}
...
private void fetchResource( GetResourcesRequest getResourcesRequest, GetResourcesResult getResourcesResult, List<ResourceTagMapping> reslist) {
for(ResourceTagMapping resourceTagMapping: reslist) {
System.out.println("Resource ARN : "+resourceTagMapping.getResourceARN());
System.out.println("Tags : "+resourceTagMapping.getTags().size());
}
if(!getResourcesResult.getPaginationToken().isEmpty() &&
getResourcesResult.getPaginationToken()!=null ) {
getResourcesRequest.setResourcesPerPage(50);
getResourcesRequest.setResourceTypeFilters(Arrays.asList("lambda"));
// getResourcesRequest.setPaginationToken(getResourcesResult.getPaginationToken());
getResourcesRequest.withPaginationToken(getResourcesResult.getPaginationToken());
getResourcesResult = tagClient.getResources(getResourcesRequest);
reslist = getResourcesResult.getResourceTagMappingList();
fetchResource( getResourcesRequest, getResourcesResult, reslist);
}
}
Заранее спасибо.