本文档介绍了如何查看批处理作业和任务。
准备工作
- 如果您之前未使用过批处理功能,请参阅开始使用批处理,并完成适用于项目和用户的前提条件,以启用批处理功能。
-
如需获得查看作业和任务所需的权限,请让管理员向您授予项目的 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
标签,该标签会设置为各种值。为了指明开发团队已成功测试的运行程序,某些运行程序的
tested
标签会设为true
。
然后,您可以指定以下过滤表达式:
(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
标签,该标签会设置为各种值。为了指明开发团队已成功测试的运行程序,某些运行程序的
tested
标签会设为true
。
然后,您可以指定以下过滤表达式:
(allocationPolicy.labels.team%3Dresearch)%20AND%20((labels.deadline%3A*)%20OR%20(runnables.labels.tested%3Dtrue))
此过滤器表达式仅列出满足以下所有条件的作业:
来自研究团队的作业,其分配政策的
team
标签设置为research
。至少满足以下条件之一的作业:
具有
deadline
标签且设置为任何值的作业(这些作业具有时间敏感性)。至少包含一个已成功测试的可运行项的作业,即至少包含一个
tested
标签设置为true
的可运行项的作业。
Go
Go
如需了解详情,请参阅 批处理 Go API 参考文档。
如需向 Batch 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Java
Java
如需了解详情,请参阅 批处理 Java API 参考文档。
如需向 Batch 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
Node.js
如需了解详情,请参阅 批处理 Node.js API 参考文档。
如需向 Batch 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
Python
如需了解详情,请参阅 批处理 Python API 参考文档。
如需向 Batch 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
C++
C++
如需了解详情,请参阅 批处理 C++ API 参考文档。
如需向 Batch 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
查看作业的详细信息
您可以使用 Google Cloud 控制台、gcloud CLI、Batch API、Go、Java、Node.js、Python 或 C++ 查看当前项目中作业的详细信息。
控制台
如需使用 Google Cloud 控制台查看当前项目中作业的详细信息,请按以下步骤操作:
在 Google Cloud 控制台中,前往 Job list(作业列表)页面。
在作业名称列中,点击作业的名称。
作业详情页面随即打开。
详情标签页默认处于打开状态。如需了解详情,请点击其他标签页。
gcloud
如需使用 gcloud CLI 查看当前项目中作业的详细信息,请使用 gcloud batch jobs describe
命令并附加 --location
标志。
gcloud batch jobs describe JOB_NAME \
--location=LOCATION
替换以下内容:
JOB_NAME
:现有作业的名称。LOCATION
:作业的位置。
API
如需使用批处理 API 查看当前项目中作业的详细信息,请向 jobs.get
方法发出 GET
请求。
GET https://batch.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/jobs/JOB_NAME
替换以下内容:
Go
Go
如需了解详情,请参阅 批处理 Go API 参考文档。
如需向 Batch 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Java
Java
如需了解详情,请参阅 批处理 Java API 参考文档。
如需向 Batch 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
Node.js
如需了解详情,请参阅 批处理 Node.js API 参考文档。
如需向 Batch 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
Python
如需了解详情,请参阅 批处理 Python API 参考文档。
如需向 Batch 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
C++
C++
如需了解详情,请参阅 批处理 C++ API 参考文档。
如需向 Batch 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
查看任务
如需查看某个作业的任务,请选择以下方法之一:
查看作业的任务列表
您可以使用 Google Cloud 控制台、gcloud CLI、Batch API、Go、Java、Node.js、Python 或 C++ 查看作业或作业任务组中的任务列表。
如果您想过滤作业或作业的任务组中的任务列表(例如,仅列出已成功完成运行的任务),则必须使用 gcloud CLI 或批处理 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
如需使用批处理 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
如需了解详情,请参阅 批处理 Go API 参考文档。
如需向 Batch 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Java
Java
如需了解详情,请参阅 批处理 Java API 参考文档。
如需向 Batch 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
Node.js
如需了解详情,请参阅 批处理 Node.js API 参考文档。
如需向 Batch 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
Python
如需了解详情,请参阅 批处理 Python API 参考文档。
如需向 Batch 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
C++
C++
如需了解详情,请参阅 批处理 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
如需了解详情,请参阅 批处理 Go API 参考文档。
如需向 Batch 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Java
Java
如需了解详情,请参阅 批处理 Java API 参考文档。
如需向 Batch 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Node.js
Node.js
如需了解详情,请参阅 批处理 Node.js API 参考文档。
如需向 Batch 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
Python
如需了解详情,请参阅 批处理 Python API 参考文档。
如需向 Batch 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
C++
C++
如需了解详情,请参阅 批处理 C++ API 参考文档。
如需向 Batch 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
后续步骤
了解如何排查问题。
了解如何监控和分析作业:
如果您为作业配置了日志,则可以使用日志分析作业。
如果您已配置状态通知,则可以使用 Pub/Sub 通知监控作业并使用 BigQuery 分析通知。
了解如何管理作业: