使用管理资源操作请求 AWS Cloud Control API - 云控制 API

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

使用管理资源操作请求 AWS Cloud Control API

由于资源操作是异步操作,因此诸如 create-resourceupdate-resource 之类的资源请求会返回一个 ProgressEvent 对象,其中包含有关资源创建或更新请求的当前状态的信息。

例如,资源创建请求最初可能会返回以下 ProgressEvent 对象。

{ "ProgressEvent": { "EventTime": "2021-08-09T18:17:15.219Z", "TypeName": "AWS::Logs::LogGroup", "OperationStatus": "IN_PROGRESS", "Operation": "CREATE", "Identifier": "LogGroupResourceExample", "RequestToken": "5f40c577-3534-4b20-9599-0b0123456789" } }

ProgressEvent 对象中返回的信息包括一个请求令牌,您以后可以使用该令牌跟踪或取消资源操作请求。

注意

资源操作请求将在七天后过期。

列出活动资源操作请求

使用list-resource-requests命令返回 AWS 账户 和的活动资源操作请求列表 AWS 区域。您可以按请求类型和状态来筛选此列表。

资源操作请求将在七天后过期。

以下示例将返回活动资源操作请求,但它会筛选出仍在进行的任何资源创建请求。

$ aws cloudcontrol list-resource-requests --resource-request-status-filter \ Operations=CREATE,OperationStatuses=IN_PROGRESS

针对每项资源操作返回的信息均包括一个请求令牌,您以后可以使用该令牌跟踪或取消资源操作请求。

{ "ResourceRequestStatusSummaries": [ { "EventTime": "2021-08-09T18:17:16.591Z", "TypeName": "AWS::Logs::LogGroup", "OperationStatus": "SUCCESS", "Operation": "CREATE", "Identifier": "LogGroupResourceExample", "RequestToken": "5f40c577-3534-4b20-9599-0b0123456789" } ] }

跟踪资源操作请求的进度

使用 get-resource-request-status 命令可以跟踪资源操作请求的进度。此命令获取初始资源操作请求期间生成的 ProgressEvent 对象中包含的请求令牌。(您还可以使用 list-resource-requests 命令检索资源操作请求的请求令牌。) 该 get-resource-request-status 命令将返回一个更新的 ProgressEvent 对象,其中包含有关当前请求状态的信息。

请参阅以下示例。

$ aws cloudcontrol get-resource-request-status \ --request-token 5f40c577-3534-4b20-9599-0b0123456789

取消资源操作请求

使用 cancel-resource-request 命令可取消当前正在进行的资源操作请求。由于您一次只能对给定资源执行一项操作,因此在某些情况下,您可能需要取消当前的资源操作以使该资源可用,以便可以对其执行另一项操作。

取消资源请求并不能保证 Cloud Control API 可以立即取消所有资源操作。相反,Cloud Control API 将停止进一步调用资源事件处理程序。对 Cloud Control 的单个资源操作请求实际上API可能包括对置备资源的底层服务的多次调用。因此,取消资源操作请求可能会使请求部分完成,从而导致只对资源应用部分请求的更改。Cloud Control API 不会将资源回滚到之前的状态。

只能取消状态为 PENDINGIN_PROGRESS 的资源操作请求。

注意

尽管调用会CancelResourceRequest取消 Cloud Control 执行的操作API,但它不会终止任何可能已经在下游服务上启动的异步操作。