D'autres exemples de AWS SDK sont disponibles dans le référentiel AWS Doc SDK Examples GitHub .
Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Utilisation ListUsageTotals avec un AWS SDK
L'exemple de code suivant montre comment utiliserListUsageTotals.
Les exemples d’actions sont des extraits de code de programmes de plus grande envergure et doivent être exécutés en contexte. Vous pouvez voir cette action en contexte dans l’exemple de code suivant :
- Java
-
- SDK pour Java 2.x
-
/**
* Asynchronously lists Inspector2 usage totals using a paginator.
*
* @param accountIds optional list of account IDs
* @param maxResults maximum results per page
* @return CompletableFuture completed with formatted summary text
*/
public CompletableFuture<String> listUsageTotalsAsync(
List<String> accountIds,
int maxResults) {
logger.info("Starting usage totals paginator…");
ListUsageTotalsRequest.Builder builder = ListUsageTotalsRequest.builder()
.maxResults(maxResults);
if (accountIds != null && !accountIds.isEmpty()) {
builder.accountIds(accountIds);
}
ListUsageTotalsRequest request = builder.build();
ListUsageTotalsPublisher paginator = getAsyncClient().listUsageTotalsPaginator(request);
StringBuilder summaryBuilder = new StringBuilder();
return paginator.subscribe(response -> {
if (response.totals() != null && !response.totals().isEmpty()) {
response.totals().forEach(total -> {
if (total.usage() != null) {
total.usage().forEach(usage -> {
logger.info("Usage: {} = {}", usage.typeAsString(), usage.total());
summaryBuilder.append(usage.typeAsString())
.append(": ")
.append(usage.total())
.append("\n");
});
}
});
} else {
logger.info("Page contained no usage totals.");
}
}).thenRun(() -> logger.info("Successfully listed usage totals."))
.thenApply(v -> {
String summary = summaryBuilder.toString();
return summary.isEmpty() ? "No usage totals found." : summary;
}).exceptionally(ex -> {
Throwable cause = ex.getCause() != null ? ex.getCause() : ex;
if (cause instanceof ValidationException ve) {
throw new CompletionException(
"Validation error listing usage totals: %s".formatted(ve.getMessage()),
ve
);
}
throw new CompletionException("Failed to list usage totals", cause);
});
}