查看 Compute Engine 操作


当您调用更改资源的 Compute Engine API 时,Compute Engine 会向操作列表添加一个条目。例如,当更新更改(修改)数据的虚拟机时,或者发生改变虚拟机状态的主机事件时,系统会创建操作。本页面介绍如何使用 Google Cloud 控制台Google Cloud CLIREST 来查看 Compute Engine 操作的列表。

请注意,操作可能需要一些时间才能完成,因此您在查看时可能会发现未完成的操作。如果您要查看未完成操作的最终状态,建议不要重复查看操作,而应等待操作完成

准备工作

  • 设置身份验证(如果尚未设置)。身份验证是通过其进行身份验证以访问 Google Cloud 服务和 API 的过程。如需从本地开发环境运行代码或示例,您可以按如下方式向 Compute Engine 进行身份验证。

    选择标签页以了解您打算如何使用本页面上的示例:

    控制台

    当您使用 Google Cloud 控制台访问 Google Cloud 服务和 API 时,无需设置身份验证。

    gcloud

    1. 安装 Google Cloud CLI,然后通过运行以下命令初始化 Google Cloud CLI:

      gcloud init
    2. 设置默认区域和可用区

    REST

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

      安装 Google Cloud CLI,然后通过运行以下命令初始化 Google Cloud CLI:

      gcloud init

操作保留期限

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

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"
}