Ada lebih banyak contoh AWS SDK yang tersedia di repo Contoh SDK AWS Doc. GitHub
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Gunakan ListUsageTotals dengan AWS SDK
Contoh kode berikut menunjukkan cara menggunakanListUsageTotals.
Contoh tindakan adalah kutipan kode dari program yang lebih besar dan harus dijalankan dalam konteks. Anda dapat melihat tindakan ini dalam konteks dalam contoh kode berikut:
- Java
-
- SDK untuk Java 2.x
-
Ada lebih banyak tentang GitHub. Temukan contoh lengkapnya dan pelajari cara mengatur dan menjalankannya di Repositori Contoh Kode AWS.
/**
* 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);
});
}