

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用 管理資源操作請求 AWS 雲端控制 API
<a name="resource-operations-manage-requests"></a>

由於資源操作是非同步的，因此 `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` 物件中傳回的資訊包含一個請求字符，然後您可以使用它來追蹤或取消資源操作請求。

**注意**  
資源操作請求會在七天後過期。

## 列出作用中資源操作請求
<a name="resource-operations-manage-requests-list"></a>

使用 `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"
        }
    ]
}
```

## 追蹤資源操作請求的進度
<a name="resource-operations-manage-requests-track"></a>

使用 `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
```



## 取消資源操作請求
<a name="resource-operations-manage-requests-cancel"></a>

使用 `cancel-resource-request`命令取消目前正在處理的資源操作請求。由於您一次只能對指定的資源執行單一操作，因此在某些情況下，您可能需要取消目前的資源操作，才能讓資源可用，以便對它執行另一個操作。

取消資源請求並不保證 Cloud Control API 可以立即取消所有資源操作。相反地，Cloud Control API 將停止對資源事件處理常式進行進一步呼叫。對 Cloud Control API 的單一資源操作請求實際上可能包含對佈建資源之基礎服務的多個呼叫。因此，取消資源操作請求可能會讓請求部分完成，導致只有部分請求的變更會套用至資源。Cloud Control API 不會將資源復原至先前的狀態。

只能`IN_PROGRESS`取消狀態為 `PENDING`或 的資源操作請求。

**注意**  
雖然呼叫會`CancelResourceRequest`取消 Cloud Control API 執行的操作，但不會終止可能已在下游服務上啟動的任何非同步操作。