本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用管理资源操作请求 AWS Cloud Control API
由于资源操作是异步操作,因此诸如 create-resource
和 update-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 不会将资源回滚到之前的状态。
只能取消状态为 PENDING
或 IN_PROGRESS
的资源操作请求。
注意
尽管调用会CancelResourceRequest
取消 Cloud Control 执行的操作API,但它不会终止任何可能已经在下游服务上启动的异步操作。