【问题标题】:For a Glue job in a Glue workflow - given the Glue run id, how to access Glue Workflow runid?对于 Glue 工作流程中的 Glue 作业 - 给定 Glue 运行 ID,如何访问 Glue 工作流程 runid?
【发布时间】:2021-05-18 02:48:44
【问题描述】:

一个 AWS Glue 工作流有多个链接的 AWS Glue 作业。

如何获取给定 AWS Glue 作业运行 ID 的工作流 ID?

我无法在 aws-cli 中找到 api。

请注意,我正在尝试使用外部 Python 代码分析作业运行指标。

【问题讨论】:

  • 您是否尝试过使用工作流程中粘合作业中的作业名称来访问它?
  • 在我的场景中 - 我正在尝试使用胶水之外的 Python 代码分析作业执行情况。所以我在 Glue Job 的起点运行 id。
  • 您无法直接获取工作流运行 ID,但您可以执行 boto3.amazonaws.com/v1/documentation/api/latest/reference/… 然后在此响应中过滤作业运行 ID。如果您没有工作流程名称,请执行 batch_get_workflows 传递您拥有的所有工作流程,然后从此响应中查找作业运行 ID
  • @PrabhakarReddy 顺便说一下,batch_get_workflows 要求您知道工作流的名称。我认为您可以实现此目的的方法是使用get_workflow 然后过滤最后一次运行,即RunId。然后使用RunId 使用get_workflow_run 可视化运行并确保包含图形,以便查看所有节点和运行ID:boto3.amazonaws.com/v1/documentation/api/latest/reference/…
  • @Eman 在一个工作流的情况下是正确的,但如果他们不知道要查询哪个工作流怎么办。在这种情况下,您需要获取所有工作流响应,然后过滤作业运行 ID。

标签: python aws-cli aws-glue aws-glue-workflow


【解决方案1】:

您可以使用此代码获取 runID

import boto3
from awsglue.utils import getResolvedOptions
glue_client = boto3.client("glue")
args = getResolvedOptions(sys.argv, ['JOB_NAME','WORKFLOW_NAME', 'WORKFLOW_RUN_ID'])
runID = args['WORKFLOW_RUN_ID']

【讨论】:

    猜你喜欢
    • 2019-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-27
    • 2018-08-05
    • 1970-01-01
    相关资源
    最近更新 更多