管理作业

本页面介绍如何管理作业。如需创建作业,请参阅创建作业。如需执行作业,请参阅执行作业

Cloud Run 作业的容器映像摘要和标记

如何更新作业来运行代码的最新版本取决于您使用标记还是摘要指定容器映像。

创建作业时,您可以使用标记(例如 gcr.io/my-project/my-image:tag)或确切摘要(例如 gcr.io/my-project/my-image@sha256:41f34ab970ee...)来指定容器映像。如果您未指定任一项,则使用 :latest 标记。

如果您指定了带有标记的容器映像,则 Cloud Run 会在执行作业时将映像解析为特定的摘要。这意味着,您下次执行作业时,无需明确更新作业即可获取容器的最新版本。

如果您希望作业每次执行时使用特定的容器摘要,可以使用确切的摘要指定容器映像。在这种情况下,如果您希望作业获取您所做的代码更改,则必须明确更新作业来使用其他摘要:

gcloud run jobs update JOB_NAME --image IMAGE_URL

替换

  • JOB_NAME 替换为小写名称,且不带下划线
  • IMAGE_URL 替换为对容器映像的引用(例如 us-docker.pkg.dev/cloudrun/container/job:latest)。

无论您如何指定容器映像,执行的所有任务都始终使用相同的容器映像摘要。

查看项目中的作业

您可以使用 gcloud 命令行查看项目中的作业列表:

控制台

如需查看作业,请执行以下操作:

  1. 转到 Cloud Run 作业页面

  2. (可选)按下拉菜单中的某个条件过滤作业,例如您可以按作业名称、执行时间、区域等条件进行过滤。

命令行

  1. 如需列出项目中的所有作业,请运行以下命令:

    gcloud run jobs list
  2. 如需按区域过滤作业,请运行以下命令:

    gcloud run jobs list --region REGION

    REGION 替换为您要按照其进行过滤的区域,例如 us-central1

如需了解优化返回列表的其他方法(包括使用过滤条件),请参阅作业列表

客户端库

如需通过代码查看项目中的作业,请使用以下客户端库:

REST API

如需查看项目中的作业列表,请向 Cloud Run Admin API jobs 端点发送 GET HTTP 请求。

例如,使用 curl

curl -H "Content-Type: application/json" \
  -H "Authorization: Bearer ACCESS_TOKEN" \
  -X GET \
  -d '' \
  https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/jobs

您需要在其中:

  • ACCESS_TOKEN 替换为具有查看作业的 IAM 权限的账号的有效访问令牌。例如,如果您已登录 gcloud,则可以使用 gcloud auth print-access-token 检索访问令牌。在 Cloud Run 容器实例中,您可以使用容器实例元数据服务器检索访问令牌。
  • REGION 替换为作业的 Google Cloud 区域。
  • PROJECT-ID 替换为 Google Cloud 项目 ID。

查看作业详情

使用 gcloud 命令行可查看有关作业的更多详细信息。

控制台

如需查看特定作业执行的详细信息,请执行以下操作:

  1. 转到 Cloud Run 作业页面

  2. 找到相关作业。

  3. 点击该作业以显示作业详情页面。

  4. 请留意历史记录配置日志YAML 标签页。

    • 历史记录标签页显示有关作业执行中任务的信息。
    • 日志显示日志信息。
    • 配置显示有关作业、容器、安全性、连接等的信息。
    • YAML 以 YAML 格式显示作业的配置。

命令行

如需查看有关作业的详细信息,请执行以下操作:

使用以下命令:

gcloud run jobs describe  JOB_NAME

JOB_NAME 替换为作业的名称。

客户端库

如需通过代码查看作业的相关详细信息,请使用以下客户端库:

REST API

如需查看作业的相关详细信息,请向 Cloud Run Admin API jobs 端点发送 GET HTTP 请求。

例如,使用 curl

curl -H "Content-Type: application/json" \
  -H "Authorization: Bearer ACCESS_TOKEN" \
  -X GET \
  -d '' \
  https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/jobs/JOB-NAME

您需要在其中:

  • ACCESS_TOKEN 替换为具有查看作业详情的 IAM 权限的账号的有效访问令牌。例如,如果您已登录 gcloud,则可以使用 gcloud auth print-access-token 检索访问令牌。在 Cloud Run 容器实例中,您可以使用容器实例元数据服务器检索访问令牌。
  • JOB-NAME 替换为作业的名称。
  • REGION 替换为作业的 Google Cloud 区域。
  • PROJECT-ID 替换为 Google Cloud 项目 ID。

删除作业

仅当作业当前没有作业执行在运行时,才能删除该作业。

虽然已删除的作业不会再出现在作业列表中,但其日志将继续在日志剩余的保留期限内在 Cloud Logging 中可用,并且监控数据将继续在 Cloud Monitoring 中可用。

控制台

要删除任务,请执行以下操作:

  1. 转到 Cloud Run 作业页面

  2. 选择作业。

  3. 点击删除

命令行

要删除任务,请执行以下操作:

  1. 使用以下命令:

    gcloud run jobs delete JOB_NAME

    JOB_NAME 替换为作业的名称。

  2. 如果系统提示您确认,请回复 y。成功后,系统会显示一条成功消息。

客户端库

如需通过代码删除作业,请使用以下客户端库:

REST API

如需删除作业,请向 Cloud Run Admin API jobs 端点发送 DELETE HTTP 请求。

例如,使用 curl

curl -H "Content-Type: application/json" \
  -H "Authorization: Bearer ACCESS_TOKEN" \
  -X DELETE \
  -d '' \
  https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/jobs/JOB-NAME

您需要在其中:

  • ACCESS_TOKEN 替换为具有删除作业的 IAM 权限的账号的有效访问令牌。例如,如果您已登录 gcloud,则可以使用 gcloud auth print-access-token 检索访问令牌。在 Cloud Run 容器实例中,您可以使用容器实例元数据服务器检索访问令牌。
  • JOB-NAME 替换为作业的名称。
  • REGION 替换为作业的 Google Cloud 区域。
  • PROJECT-ID 替换为 Google Cloud 项目 ID。