本文档介绍了如何查看 Batch 作业和任务的状态事件。状态事件提供了一个历史记录,您可以使用该记录来分析作业,并且通常包含可用于问题排查的实用错误消息。
每个作业及其每个任务都有状态事件,这些事件在作业运行时由 Batch 自动创建。 每个状态事件都描述了状态变化以及达到该状态的原因的详细信息。 如需了解作业和任务状态,请参阅 作业生命周期。 您还可以选择将作业配置为具有自定义状态事件,这些事件描述了可运行对象的进度。 如需详细了解自定义状态事件,请参阅 配置自定义状态事件。
准备工作
- 如果您之前未使用过 Batch,请查看 Batch 使用入门 ,并通过完成 项目和用户的前提条件来启用 Batch。
-
如需获得查看作业和任务所需的权限,请让管理员向您授予项目的 Batch 作业查看者 (
roles/batch.jobsViewer) 或 Batch 作业编辑器 (roles/batch.jobsEditor) IAM 角色。如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
查看状态事件
不同的状态事件可能会显示在作业级
(statusEvents[] 作业的字段)
和任务级
(statusEvents[] 每个任务的字段)。
以下说明介绍了如何使用
Google Cloud 控制台、gcloud CLI 和 Batch API 查看状态事件。
如需使用客户端库语言,请按照相应步骤
查看作业的详细信息或
查看任务的详细信息
,然后查看相应的 statusEvents[] 字段。
查看作业的状态事件
控制台
Google Cloud如需使用 Google Cloud 控制台查看当前项目中作业的状态事件,请按以下步骤操作:
在 Google Cloud 控制台中,前往作业列表页面。
在作业名称 列中,点击作业的名称。
作业详情 页面随即打开。
默认情况下,详情 标签页处于打开状态。
点击事件 标签页。
gcloud
如需使用
gcloud CLI 查看作业的状态事件,请使用
gcloud batch jobs describe 命令,
然后查看 statusEvents[] 字段。
gcloud batch jobs describe JOB_NAME \
--location=LOCATION
替换以下内容:
JOB_NAME:现有作业的名称。LOCATION:作业所在的位置 。
API
如需使用
Batch API 查看作业的状态事件,请向
jobs.get 方法发出 GET 请求,
然后查看 statusEvents[] 字段。
GET https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/jobs/JOB_NAME
替换以下内容:
查看任务的状态事件
gcloud
如需使用 gcloud CLI 查看任务的状态事件,请使用
gcloud batch tasks describe 命令,
然后查看 statusEvents[] 字段。
gcloud batch tasks describe TASK_INDEX \
--location=LOCATION \
--job=JOB_NAME \
--task_group=TASK_GROUP_NAME
替换以下内容:
TASK_INDEX:您要查看其详细信息的任务的索引。在任务组中,第一个任务的任务索引从 0 开始,并且每增加一个任务,索引就会递增 1。例如,包含四个任务的任务组的索引为0、1、2和3。JOB_NAME:现有作业的名称。TASK_GROUP_NAME:包含您要查看其详细信息的任务的任务组的名称。该值必须 设置为group0。
API
如需使用 Batch API 查看任务的状态事件,
请向 tasks.get 方法发出 GET 请求,
然后查看 statusEvents[] 字段。
GET https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/jobs/JOB_NAME/taskGroups/TASK_GROUP_NAME/tasks/TASK_INDEX
替换以下内容:
后续步骤
如需了解 Batch 中描述错误的状态事件,请参阅 问题排查。
如果您需要作业的更详细的历史记录(例如可运行对象开始和结束时的状态事件 ), 请配置自定义状态事件。
了解如何 使用日志分析作业。