Python 如何从组件中获取Kubeflow管道运行名称?

Python 如何从组件中获取Kubeflow管道运行名称?,python,kubernetes,kubeflow,kubeflow-pipelines,Python,Kubernetes,Kubeflow,Kubeflow Pipelines,我在处理Kubeflow管道。我想从任务组件内部访问“运行名称”。例如,在下图中,运行名称为“我的第一次XGBoost运行”-如标题所示 例如,我知道可以通过将参数{{workflow.uid}}作为命令行参数来传递。我还尝试了{{workflow.name}},但没有给出正确的字符串。目前KFP不支持这种内省 您能描述一个需要这样做的场景吗?您可以使用{{workflow.annotations.pipelines.kubeflow.org/run\u name}argo变量来获取run\u

我在处理Kubeflow管道。我想从任务组件内部访问“运行名称”。例如,在下图中,运行名称为“我的第一次XGBoost运行”-如标题所示


例如,我知道可以通过将参数
{{workflow.uid}}
作为命令行参数来传递。我还尝试了
{{workflow.name}}
,但没有给出正确的字符串。

目前KFP不支持这种内省


您能描述一个需要这样做的场景吗?

您可以使用
{{workflow.annotations.pipelines.kubeflow.org/run\u name}
argo变量来获取run\u名称

比如说,

@func\u to\u container\u op
def虚拟(运行标识,运行名称)->str:
返回运行id、运行名称
@dsl.pipeline(
name='test_pipeline',
)
def测试_管道():
虚拟({workflow.labels.pipeline/runid}},{{{workflow.annotations.pipelines.kubeflow.org/run_name}}})

您会发现占位符将被替换为正确的run\u id和run\u name。

在任务中,我想将信息记录到外部数据库。拥有“运行名称”将允许用户更容易地知道哪个运行生成了哪个数据位。目前这是使用uid完成的。此外,运行名称中通常包含标识运行类型和在ect上运行的数据的信息。