与 AWS SDK或ListOperations一起使用 CLI - AWS SDK代码示例

AWS 文档 AWS SDK示例 GitHub 存储库中还有更多SDK示例

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

与 AWS SDK或ListOperations一起使用 CLI

以下代码示例演示如何使用 ListOperations

操作示例是大型程序的代码摘录,必须在上下文中运行。在以下代码示例中,您可以查看此操作的上下文:

.NET
AWS SDK for .NET
注意

还有更多相关信息 GitHub。查找完整示例,学习如何在 AWS 代码示例存储库中进行设置和运行。

/// <summary> /// List operations for the account that are submitted after a specified date. /// </summary> /// <returns>A collection of operation summary records.</returns> public async Task<List<OperationSummary>> ListOperations(DateTime submittedSince) { var results = new List<OperationSummary>(); var paginateOperations = _amazonRoute53Domains.Paginators.ListOperations( new ListOperationsRequest() { SubmittedSince = submittedSince }); // Get the entire list using the paginator. await foreach (var operations in paginateOperations.Operations) { results.Add(operations); } return results; }
  • 有关API详细信息,请参阅 “AWS SDK for .NET API参考 ListOperations” 中的。

CLI
AWS CLI

列出返回操作 ID 的操作的状态

某些域注册操作是异步运行的,并在完成之前返回响应。这些操作会返回一个操作 ID,您可以借此获取其当前状态。以下 list-operations 命令列出了有关当前域注册操作的状态等摘要信息。

此命令仅在 us-east-1 区域运行。如果默认区域设置为 us-east-1,则可以忽略 region 参数。

aws route53domains list-operations --region us-east-1

输出:

{ "Operations": [ { "OperationId": "aab9822f-1da0-4bf3-8a15-fd4e0example", "Status": "SUCCESSFUL", "Type": "DOMAIN_LOCK", "SubmittedDate": 1455321739.986 }, { "OperationId": "c24379ed-76be-42f8-bdad-9379bexample", "Status": "SUCCESSFUL", "Type": "UPDATE_NAMESERVER", "SubmittedDate": 1468960475.109 }, { "OperationId": "f47e1297-ef9e-4c2b-ae1e-a5fcbexample", "Status": "SUCCESSFUL", "Type": "RENEW_DOMAIN", "SubmittedDate": 1473561835.943 }, { "OperationId": "75584f23-b15f-459e-aed7-dc6f5example", "Status": "SUCCESSFUL", "Type": "UPDATE_DOMAIN_CONTACT", "SubmittedDate": 1547501003.41 } ] }

输出包括所有返回操作 ID 的操作,以及您在使用当前 AWS 账户注册的所有域名上执行的操作。如果您只想获取在指定日期之后提交的操作,则可以包含submitted-since参数并以 Unix 格式和协调世界时 (UTC) 指定日期。以下命令获取 2020 年 1 月 1 日UTC上午 12:00 之后提交的所有操作的状态。

aws route53domains list-operations \ --submitted-since 1577836800
Java
SDK适用于 Java 2.x
注意

还有更多相关信息 GitHub。查找完整示例,学习如何在 AWS 代码示例存储库中进行设置和运行。

public static void listOperations(Route53DomainsClient route53DomainsClient) { try { Date currentDate = new Date(); LocalDateTime localDateTime = currentDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime(); ZoneOffset zoneOffset = ZoneOffset.of("+01:00"); localDateTime = localDateTime.minusYears(1); Instant myTime = localDateTime.toInstant(zoneOffset); ListOperationsRequest operationsRequest = ListOperationsRequest.builder() .submittedSince(myTime) .build(); ListOperationsIterable listRes = route53DomainsClient.listOperationsPaginator(operationsRequest); listRes.stream() .flatMap(r -> r.operations().stream()) .forEach(content -> System.out.println(" Operation Id: " + content.operationId() + " Status: " + content.statusAsString() + " Date: " + content.submittedDate())); } catch (Route53Exception e) { System.err.println(e.getMessage()); System.exit(1); } }
  • 有关API详细信息,请参阅 “AWS SDK for Java 2.x API参考 ListOperations” 中的。

Kotlin
SDK对于 Kotlin 来说
注意

还有更多相关信息 GitHub。查找完整示例,学习如何在 AWS 代码示例存储库中进行设置和运行。

suspend fun listOperations() { val currentDate = Date() var localDateTime = currentDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime() val zoneOffset = ZoneOffset.of("+01:00") localDateTime = localDateTime.minusYears(1) val myTime: java.time.Instant? = localDateTime.toInstant(zoneOffset) val time2: Instant? = myTime?.let { Instant(it) } val operationsRequest = ListOperationsRequest { submittedSince = time2 } Route53DomainsClient { region = "us-east-1" }.use { route53DomainsClient -> route53DomainsClient .listOperationsPaginated(operationsRequest) .transform { it.operations?.forEach { obj -> emit(obj) } } .collect { content -> println("Operation Id: ${content.operationId}") println("Status: ${content.status}") println("Date: ${content.submittedDate}") } } }
  • 有关API详细信息,请参阅ListOperations中的 Kotlin AWS SDK API 参考