本文档介绍了如何查看 Batch 作业和任务。
准备工作
- 如果您之前未使用过 Batch,请查看开始使用 Batch 并完成项目和用户的前提条件,以启用 Batch。
-
如需获得查看作业和任务所需的权限,请让管理员向您授予项目的 Batch Job Viewer (
roles/batch.jobsViewer
) 或 Batch Job Editor (roles/batch.jobsEditor
) IAM 角色。 如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
查看您的作业
如需查看作业,请选择以下方法之一:
查看作业列表
您可以使用Google Cloud 控制台、gcloud CLI、Batch API、Go、Java、Node.js、Python 或 C++ 查看当前项目中的作业列表。
控制台
gcloud
查看所有作业
如需使用 gcloud CLI 查看当前项目中的作业列表,请使用 gcloud batch jobs list
命令。
gcloud batch jobs list
查看过滤后的作业列表
您可以选择添加一个或多个标志,以查看过滤后的作业列表:
如需仅查看特定位置的作业,请添加
--location
标志。如需仅查看符合过滤条件表达式的作业,请指定
--filter
标志。
例如,使用以下命令:
gcloud batch jobs list \
--location=LOCATION \
--filter="FILTER_EXPRESSION"
替换以下内容:
LOCATION
:一个或多个作业所在的位置。FILTER_EXPRESSION
:用于定义要列出的作业的过滤条件表达式。过滤表达式必须定义一个或多个以零个或多个布尔运算符(AND
、OR
和NOT
)分隔的属性-值对。例如,请参阅以下过滤表达式:
根据作业状态进行过滤:如需仅查看处于特定状态的作业,请使用以下过滤条件表达式:
status.state="JOB_STATE"
将
JOB_STATE
替换为作业状态,例如FAILED
。基于标签进行过滤:假设您的项目已定义以下自定义标签:
为了在您查看 Cloud Billing 报告时指明研究团队创建的作业及其资源,您的部分作业及其资源会有一个
team
标签,该标签设置为research
。为了指示对时间敏感的工作负载,某些作业具有
deadline
标签,该标签设置为各种值。为了指示开发团队已成功测试的可运行对象,某些可运行对象具有设置为
true
的tested
标签。
然后,您可以指定以下过滤条件表达式:
(allocationPolicy.labels.team=research) AND ((labels.deadline:*) OR (runnables.labels.tested=true))
此过滤条件表达式仅列出满足以下所有条件的作业:
来自研究团队的作业,其作业分配政策的
team
标签设置为research
。满足以下至少一项条件的作业:
对时间敏感的作业,即作业上设置了
deadline
标签且该标签的值设置为任意值。至少有一个可运行对象已成功测试的作业,即至少有一个可运行对象的
tested
标签设置为true
的作业。
API
查看所有作业
如需使用 Batch API 查看当前项目中特定位置的作业列表,请向 jobs.list
方法发出 GET
请求。
GET https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/jobs
替换以下内容:
查看过滤后的作业列表
(可选)您可以指定 filter
查询参数,以查看根据过滤条件表达式过滤后的作业列表。
例如,发出以下 GET
请求:
GET https://batch.googleapis.com/v1/projects/example-project/locations/us-central1/jobs?filter=FILTER_EXPRESSION
将 FILTER_EXPRESSION
替换为使用网址编码的过滤条件表达式。过滤表达式必须定义一个或多个由零个或多个布尔运算符(AND
、OR
和 NOT
)分隔的属性-值对。
例如,请参阅以下过滤表达式:
根据作业状态进行过滤:如需仅查看处于特定状态的作业,请使用以下过滤条件表达式:
status.state="JOB_STATE"
将
JOB_STATE
替换为作业状态,例如FAILED
。基于标签进行过滤:假设您的项目已定义以下自定义标签:
为了在您查看 Cloud Billing 报告时指明研究团队创建的作业及其资源,您的部分作业及其资源会有一个
team
标签,该标签设置为research
。为了指示对时间敏感的工作负载,某些作业具有
deadline
标签,该标签设置为各种值。为了指示开发团队已成功测试的可运行对象,某些可运行对象具有设置为
true
的tested
标签。
然后,您可以指定以下过滤条件表达式:
(allocationPolicy.labels.team%3Dresearch)%20AND%20((labels.deadline%3A*)%20OR%20(runnables.labels.tested%3Dtrue))
此过滤条件表达式仅列出满足以下所有条件的作业:
来自研究团队的作业,其作业分配政策的
team
标签设置为research
。满足以下至少一项条件的作业:
对时间敏感的作业,即作业上设置了
deadline
标签且该标签的值设置为任意值。至少有一个可运行对象已成功测试的作业,即至少有一个可运行对象的
tested
标签设置为true
的作业。
Go
Go
如需了解详情,请参阅 Batch Go API 参考文档。
如需向 Batch 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Java
Java
如需了解详情,请参阅 Batch Java API 参考文档。
如需向 Batch 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
Node.js
如需了解详情,请参阅 Batch Node.js API 参考文档。
如需向 Batch 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
Python
如需了解详情,请参阅 Batch Python API 参考文档。
如需向 Batch 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
C++
C++
如需了解详情,请参阅 Batch C++ API 参考文档。
如需向 Batch 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
查看作业的详细信息
您可以使用Google Cloud 控制台、gcloud CLI、Batch API、Go、Java、Node.js、Python 或 C++ 查看当前项目中的作业详细信息。
控制台
如需使用Google Cloud 控制台查看当前项目中作业的详细信息,请按以下步骤操作:
在 Google Cloud 控制台中,前往作业列表页面。
在作业名称列中,点击作业的名称。
作业详情页面随即打开。
默认情况下,系统会打开详情标签页。如需了解详情,请点击其他标签页。
gcloud
如需使用 gcloud CLI 查看当前项目中作业的详细信息,请使用带有 --location
标志的 gcloud batch jobs describe
命令。
gcloud batch jobs describe JOB_NAME \
--location=LOCATION
替换以下内容:
JOB_NAME
:现有作业的名称。LOCATION
:作业所在的位置。
API
如需使用 Batch API 查看当前项目中作业的详细信息,请向 jobs.get
方法发出 GET
请求。
GET https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/jobs/JOB_NAME
替换以下内容:
Go
Go
如需了解详情,请参阅 Batch Go API 参考文档。
如需向 Batch 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Java
Java
如需了解详情,请参阅 Batch Java API 参考文档。
如需向 Batch 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
Node.js
如需了解详情,请参阅 Batch Node.js API 参考文档。
如需向 Batch 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
Python
如需了解详情,请参阅 Batch Python API 参考文档。
如需向 Batch 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
C++
C++
如需了解详情,请参阅 Batch C++ API 参考文档。
如需向 Batch 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
查看任务
如需查看某个作业的任务,请选择以下方法之一:
查看作业的任务列表
您可以使用Google Cloud 控制台、gcloud CLI、Batch API、Go、Java、Node.js、Python 或 C++ 查看作业或作业的任务组中的任务列表。
如果您想过滤作业中的任务列表或作业的任务组(例如,仅列出已成功完成运行的任务),则必须使用 gcloud CLI 或 Batch API。
控制台
如需使用Google Cloud 控制台查看作业的任务摘要,请查看作业的详细信息以打开作业详细信息页面。然后,参阅任务详情部分。
gcloud
如需使用 gcloud CLI 查看作业的任务组中的任务列表,请使用 gcloud batch tasks list
命令,并搭配以下标志:
gcloud batch tasks list \
--job=JOB_NAME \
--location=LOCATION
替换以下内容:
JOB_NAME
:现有作业的名称。LOCATION
:作业所在的位置。
(可选)您可以添加 --filter
标志,以查看作业的任务组中根据过滤条件表达式过滤后的任务列表。
例如,使用以下命令:
gcloud batch tasks list \
--job=example-job \
--location=us-central1 \
--filter="FILTER_EXPRESSION"
将 FILTER_EXPRESSION
替换为过滤条件表达式。
例如,您可以指定以下过滤表达式,以仅查看作业的任务组中正在运行或已成功完成运行的任务:
STATE=RUNNING OR STATE=SUCCEEDED
API
如需使用 Batch API 查看作业的任务组中的任务列表,请向 tasks.list
方法发送 GET
请求:
GET https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/jobs/JOB_NAME/taskGroups/TASK_GROUP_NAME/tasks
替换以下内容:
PROJECT_ID
:当前项目的项目 ID。LOCATION
:作业所在的位置。JOB_NAME
:现有作业的名称。TASK_GROUP_NAME
:您要查看详细信息的任务组的名称。该值必须设置为group0
。
(可选)您可以指定 filter
查询参数,以查看根据过滤条件表达式过滤后的作业任务组中的任务列表。
例如,发出以下 GET
请求:
GET https://batch.googleapis.com/v1/projects/example-project/locations/us-central1/jobs/example-job/taskGroups/group0/tasks?filter=FILTER_EXPRESSION
将 FILTER_EXPRESSION
替换为使用网址编码的过滤条件表达式。
例如,您可以指定以下过滤表达式,以仅查看作业的任务组中正在运行或已成功完成运行的任务:
STATE=RUNNING%20OR%20STATE=SUCCEEDED
请注意,网址编码的过滤条件表达式表示以下解码后的过滤条件表达式:
STATE=RUNNING OR STATE=SUCCEEDED
Go
Go
如需了解详情,请参阅 Batch Go API 参考文档。
如需向 Batch 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Java
Java
如需了解详情,请参阅 Batch Java API 参考文档。
如需向 Batch 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
Node.js
如需了解详情,请参阅 Batch Node.js API 参考文档。
如需向 Batch 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
Python
如需了解详情,请参阅 Batch Python API 参考文档。
如需向 Batch 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
C++
C++
如需了解详情,请参阅 Batch C++ API 参考文档。
如需向 Batch 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
查看任务的详细信息
您可以使用Google Cloud 控制台、gcloud CLI、Batch API、Go、Java、Node.js、Python 或 C++ 查看任务的详细信息。
控制台
如需使用Google Cloud 控制台查看任务的详细信息,请查看作业的详细信息以打开作业详细信息页面。然后,参阅任务详情部分。
gcloud
如需使用 gcloud CLI 查看任务的详细信息,请使用 gcloud batch tasks describe
命令,并添加以下标志:
gcloud batch tasks describe TASK_INDEX \
--location=LOCATION \
--job=JOB_NAME \
--task_group=TASK_GROUP_NAME
替换以下内容:
API
如需使用 Batch API 查看任务的详细信息,请向 tasks.get
方法发出 GET
请求:
GET https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/jobs/JOB_NAME/taskGroups/TASK_GROUP_NAME/tasks/TASK_INDEX
替换以下内容:
Go
Go
如需了解详情,请参阅 Batch Go API 参考文档。
如需向 Batch 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Java
Java
如需了解详情,请参阅 Batch Java API 参考文档。
如需向 Batch 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
Node.js
如需了解详情,请参阅 Batch Node.js API 参考文档。
如需向 Batch 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
Python
如需了解详情,请参阅 Batch Python API 参考文档。
如需向 Batch 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
C++
C++
如需了解详情,请参阅 Batch C++ API 参考文档。
如需向 Batch 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
后续步骤
了解如何排查问题。
了解如何监控和分析作业:
如果您为作业配置了日志,则可以使用日志分析作业。
如果您已配置状态通知,则可以使用 Pub/Sub 通知监控作业,并使用 BigQuery 分析通知。
了解如何管理作业: