本頁面說明如何在 Certificate Manager 中查看及管理長時間執行的作業。
在 Certificate Manager 中,如果建立、更新或刪除資源等變更要求未立即失敗,API 就會傳回長時間執行的作業 (LRO)。這些作業會追蹤需要較長時間完成的處理工作狀態。根據預設,除非您指定 --async 旗標,否則 gcloud 異動指令會等待作業完成。
您可以使用 projects.locations.operations 集合檢查作業狀態。
所需權限
如要管理目標專案中長時間執行的作業,您必須具備與要執行的工作相對應的權限:
certificatemanager.operations.get:擷取特定作業的詳細資料。certificatemanager.operations.list:列出指定位置的所有作業。certificatemanager.operations.delete:刪除已完成的作業資源 (僅限 API)。
如要進一步瞭解角色和權限,請參閱「角色和權限」。
取得長時間執行作業的詳細資料
當您發出呼叫來啟動作業 (例如建立憑證) 時,回應會包含作業名稱,格式如下:projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID。
如要確認作業是否完成,請要求提供目標作業的詳細資料。如果回應包含 "done": false 或不含 "done" 欄位,代表作業仍在進行中。再次檢查狀態,直到回應顯示 "done": true。
gcloud
如要說明長時間執行的作業,請使用 certificate-manager
operations describe 指令:
gcloud certificate-manager operations describe OPERATION_ID \
--location="LOCATION"
更改下列內容:
OPERATION_ID:作業 ID。LOCATION:目標 Google Cloud 位置。預設位置為global。
API
如要取得長時間執行的作業的詳細資料,請向 projects.locations.operations.get 方法傳送 GET 要求:
GET https://certificatemanager.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID
更改下列內容:
PROJECT_ID: Google Cloud 專案 ID。LOCATION:目標 Google Cloud 位置。預設位置為global。OPERATION_ID:作業 ID。
列出長時間執行的作業
您可以列出作業,找出作業 ID 並監控專案中的有效修改。
gcloud
如要列出特定位置中的作業,請使用 certificate-manager
operations list 指令:
gcloud certificate-manager operations list \
--location="LOCATION"
更改下列內容:
LOCATION:目標 Google Cloud 位置。預設位置為global。
API
如要列出特定位置的作業,請向 projects.locations.operations.list 方法發出 GET 要求:
GET https://certificatemanager.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations
更改下列內容:
PROJECT_ID: Google Cloud 專案 ID。LOCATION:目標 Google Cloud 位置。預設位置為global。
刪除已完成的長時間執行作業
如果不再需要結果,可以刪除已完成的作業資源。刪除已完成的操作只會移除操作記錄,不會取消或復原操作所做的變更。
您無法使用 gcloud 指令刪除作業。請改用 REST API。
API
如要刪除已完成的作業,請向 projects.locations.operations.delete 方法傳送 DELETE 要求:
DELETE https://certificatemanager.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID
更改下列內容:
PROJECT_ID: Google Cloud 專案 ID。LOCATION:目標 Google Cloud 位置。預設位置為global。OPERATION_ID:作業 ID。
資料保留政策
Certificate Manager 會根據下列規則 (依優先順序),自動保留及刪除已完成的 LRO:
- 不到 1 小時前:如果作業在不到 1 小時前完成,Certificate Manager 會保留該作業。
- 超過 1 週:如果作業在 1 週前完成,Certificate Manager 會刪除該作業。
- 上限:如果作業在 1 小時到 1 週前完成,Certificate Manager 會在每個專案中保留最多 5,000 項最近完成的作業,並刪除較早完成的作業。
以下舉例說明這些規則的套用方式:
- 如果專案有 10,000 項已完成的作業,且這些作業都是在 1 小時內完成,Certificate Manager 會保留所有 10,000 項作業。
- 如果專案有 1,000 項已完成作業,且這些作業都超過 1 週,Certificate Manager 會刪除所有 1,000 項作業。
- 如果專案有 10,000 項已完成作業,且作業時間都在 1 小時到 1 週之間,Certificate Manager 只會保留最近的 5,000 項作業。