查看 Compute Engine 作業


當您呼叫會變更資源的 Compute Engine API 時,Compute Engine 會在作業清單中新增項目。舉例來說,當您更新會變動 (變更) 資料的 VM,或是發生會變更 VM 狀態的主機事件時,系統就會建立作業。本頁說明如何使用 Google Cloud 控制台Google Cloud CLIREST,查看 Compute Engine 作業清單。

請注意,作業可能需要一段時間才能完成,因此您在查看時可能會發現作業尚未完成。如要查看未完成作業的最終狀態,不建議重複查看作業,而是應該等待作業完成

事前準備

  • 如果尚未設定驗證,請先完成設定。 「驗證」是指驗證身分的程序,確認您有權存取 Google Cloud 服務和 API。如要從本機開發環境執行程式碼或範例,請選取下列任一選項,向 Compute Engine 進行驗證:

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. 安裝 Google Cloud CLI。 安裝完成後,執行下列指令初始化 Google Cloud CLI:

      gcloud init

      如果您使用外部識別資訊提供者 (IdP),請先 使用聯合身分登入 gcloud CLI

    2. Set a default region and zone.

    REST

    如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。

      安裝 Google Cloud CLI。 安裝完成後,執行下列指令初始化 Google Cloud CLI:

      gcloud init

      如果您使用外部識別資訊提供者 (IdP),請先 使用聯合身分登入 gcloud CLI

    詳情請參閱 Google Cloud 驗證說明文件中的「Authenticate for using REST」。

作業保留期限

請注意,查詢作業完成後,系統會在一段時間後自動從資料庫中移除作業。

Compute Engine 會保留已完成的作業,保留時間至少為 1 小時,最長為 14 天。雖然專案通常會保留已完成的作業超過 1 小時,但不建議依賴額外的保留期限。

請注意,保留期限不適用於使用者透過 Operations.delete 方法刪除的作業。

查看作業

如要查看專案的作業清單,請按照下列步驟操作:

主控台

  1. 前往 Google Cloud 控制台的「Operations」頁面。

    前往「作業」

  2. 如要進一步瞭解作業,請按一下作業摘要。舉例來說,如要查看 my-instance VM 的遷移詳細資料,請按一下「Automatically migrate an instance」(自動遷移執行個體) 作業。

顯示即時遷移的「Operations」(作業) 頁面。 即時遷移詳細資料。

gcloud

如要使用 gcloud compute 查看專案的作業清單,請使用 operations list 子指令。

如要查看指定區域中的作業清單,請新增 --filter 旗標。

gcloud compute operations list --filter="zone:(ZONE)"

ZONE 替換為要查看作業清單的區域。舉例來說,如要查看 us-cental1-c 中的作業清單,請執行下列指令:

gcloud compute operations list --filter="zone:(us-central1-c)"

輸出結果會與下列內容相似:

NAME                            TYPE                                        TARGET                                HTTP_STATUS  STATUS  TIMESTAMP
systemevent-1543845145000...    compute.instances.migrateOnHostMaintenance  us-central1-c/instances/my-instance   200          DONE    2018-12-03T05:52:25.000-08:00

REST

您必須在全域地區區域層級指定作業的 API 要求。即時遷移、停止 VM 和自動重新啟動都是區域層級作業。

如果是區域作業,請向 zoneOperations.list 方法發出 GET 要求。

GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/operations

更改下列內容:

  • PROJECT_ID:這項要求的專案 ID
  • ZONE:這項要求的可用區

將要求主體保留空白。

以下是區域作業要求的輸出範例。在此輸出中,會顯示主機遷移的詳細資料。

{
 "kind": "compute#operation",
 "id": "3216798767364213712",
 "name": "systemevent-1543845145000-57c1e7574b840-a195b637-5ff74d9b",
 "zone": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-c",
 "operationType": "compute.instances.migrateOnHostMaintenance",
 "targetLink": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-c/instances/my-instance",
 "targetId": "3070988523247098025",
 "status": "DONE",
 "statusMessage": "Instance migrated during Compute Engine maintenance.",
 "user": "system",
 "progress": 100,
 "insertTime": "2018-12-03T05:52:25.000-08:00",
 "startTime": "2018-12-03T05:52:25.000-08:00",
 "endTime": "2018-12-03T05:52:25.000-08:00",
 "selfLink": "https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-c/operations/systemevent-1543845145000-57c1e7574b840-a195b637-5ff74d9b"
}