Uso de ViewBilling con un SDK de AWS o la CLI - Ejemplos de código de AWS SDK

Hay más ejemplos de AWS SDK disponibles en el repositorio de GitHub de ejemplos de AWS SDK de documentos.

Uso de ViewBilling con un SDK de AWS o la CLI

Los siguientes ejemplos de código muestran cómo utilizar ViewBilling.

Los ejemplos de acciones son extractos de código de programas más grandes y deben ejecutarse en contexto. Puede ver esta acción en contexto en el siguiente ejemplo de código:

.NET
SDK para .NET
nota

Hay más en GitHub. Busque el ejemplo completo y aprenda a configurar y ejecutar en el Repositorio de ejemplos de código de AWS.

/// <summary> /// View billing records for the account between a start and end date. /// </summary> /// <param name="startDate">The start date for billing results.</param> /// <param name="endDate">The end date for billing results.</param> /// <returns>A collection of billing records.</returns> public async Task<List<BillingRecord>> ViewBilling(DateTime startDate, DateTime endDate) { var results = new List<BillingRecord>(); var paginateBilling = _amazonRoute53Domains.Paginators.ViewBilling( new ViewBillingRequest() { Start = startDate, End = endDate }); // Get the entire list using the paginator. await foreach (var billingRecords in paginateBilling.BillingRecords) { results.Add(billingRecords); } return results; }
  • Para obtener información sobre la API, consulte ViewBilling en la Referencia de la API de AWS SDK para .NET.

CLI
AWS CLI

Cómo obtener la información de facturación de los cargos por registro de dominio de la cuenta actual de AWS

El siguiente comando view-billing devuelve todos los registros de facturación relacionados con el dominio de la cuenta actual durante el período comprendido entre el 1 de enero de 2018 (1514764800 en horario Unix) y la medianoche del 31 de diciembre de 2019 (1577836800 en horario Unix).

Este comando solo se ejecuta en la región us-east-1. Si su región predeterminada está configurada en us-east-1, puede omitir el parámetro region.

aws route53domains view-billing \ --region us-east-1 \ --start-time 1514764800 \ --end-time 1577836800

Salida:

{ "BillingRecords": [ { "DomainName": "example.com", "Operation": "RENEW_DOMAIN", "InvoiceId": "149962827", "BillDate": 1536618063.181, "Price": 12.0 }, { "DomainName": "example.com", "Operation": "RENEW_DOMAIN", "InvoiceId": "290913289", "BillDate": 1568162630.884, "Price": 12.0 } ] }

Para obtener más información, consulte ViewBilling en la Referencia de la API de Amazon Route 53.

  • Para obtener información sobre la API, consulte ViewBilling en la Referencia de comandos de la AWS CLI.

Java
SDK para Java 2.x
nota

Hay más en GitHub. Busque el ejemplo completo y aprenda a configurar y ejecutar en el Repositorio de ejemplos de código de AWS.

public static void listBillingRecords(Route53DomainsClient route53DomainsClient) { try { Date currentDate = new Date(); LocalDateTime localDateTime = currentDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime(); ZoneOffset zoneOffset = ZoneOffset.of("+01:00"); LocalDateTime localDateTime2 = localDateTime.minusYears(1); Instant myStartTime = localDateTime2.toInstant(zoneOffset); Instant myEndTime = localDateTime.toInstant(zoneOffset); ViewBillingRequest viewBillingRequest = ViewBillingRequest.builder() .start(myStartTime) .end(myEndTime) .build(); ViewBillingIterable listRes = route53DomainsClient.viewBillingPaginator(viewBillingRequest); listRes.stream() .flatMap(r -> r.billingRecords().stream()) .forEach(content -> System.out.println(" Bill Date:: " + content.billDate() + " Operation: " + content.operationAsString() + " Price: " + content.price())); } catch (Route53Exception e) { System.err.println(e.getMessage()); System.exit(1); } }
  • Para obtener información sobre la API, consulte ViewBilling en la Referencia de la API de AWS SDK for Java 2.x.

Kotlin
SDK para Kotlin
nota

Hay más en GitHub. Busque el ejemplo completo y aprenda a configurar y ejecutar en el Repositorio de ejemplos de código de AWS.

suspend fun listBillingRecords() { val currentDate = Date() val localDateTime = currentDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime() val zoneOffset = ZoneOffset.of("+01:00") val localDateTime2 = localDateTime.minusYears(1) val myStartTime = localDateTime2.toInstant(zoneOffset) val myEndTime = localDateTime.toInstant(zoneOffset) val timeStart: Instant? = myStartTime?.let { Instant(it) } val timeEnd: Instant? = myEndTime?.let { Instant(it) } val viewBillingRequest = ViewBillingRequest { start = timeStart end = timeEnd } Route53DomainsClient.fromEnvironment { region = "us-east-1" }.use { route53DomainsClient -> route53DomainsClient .viewBillingPaginated(viewBillingRequest) .transform { it.billingRecords?.forEach { obj -> emit(obj) } } .collect { billing -> println("Bill Date: ${billing.billDate}") println("Operation: ${billing.operation}") println("Price: ${billing.price}") } } }
  • Para obtener información sobre la API, consulte ViewBilling en la Referencia de la API de un SDK de AWS para Kotlin.