查看 Compute Engine 操作


当您调用更改资源的 Compute Engine API 时,Compute Engine 会向操作列表添加一个条目。例如,当更新更改(修改)数据的虚拟机时,或者发生改变虚拟机状态的主机事件时,系统会创建操作。本页面介绍如何使用 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. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. REST

      如需在本地开发环境中使用本页面上的 REST API 示例,请使用您提供给 gcloud CLI 的凭据。

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      如需了解详情,请参阅 Google Cloud 身份验证文档中的使用 REST 时进行身份验证

操作保留期限

在查询操作时,请注意已完成的操作会在一定时间后自动从数据库中移除。

Compute Engine 会在保留期限内保留已完成的操作,而保留期限最短为 1 小时,最长可多达 14 天。虽然项目通常会观察到已完成操作的保留期限长于 1 小时的最小值,但建议不要依赖于额外的保留期限。

请注意,保留期限不适用于用户通过 Operations.delete 方法删除的操作。

查看操作

如要查看您项目的操作列表,请执行以下步骤:

控制台

  1. 在 Google Cloud 控制台中,转到操作页面。

    转到运营

  2. 如需详细了解某个操作,请点击操作摘要。例如,如需查看 my-instance 虚拟机的迁移详细信息,请点击自动迁移实例操作。

显示实时迁移的操作页面。 实时迁移详情。

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 请求必须在全球区域地区级别指定。实时迁移、虚拟机停止和自动重启都是地区级别的操作。

对于区域操作,请向 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"
}