问题
I'm doing some experimentation with Kubeflow Pipelines and I'm interested in retrieving the run id to save along with some metadata about the pipeline execution. Is there any way I can do so from a component like a ContainerOp
?
回答1:
I tried to do this using the Python's DSL but seems that isn't possible right now.
The only option that I found is to use the method that they used in this sample code. You basically declare a string containing {{workflow.uid}}
. It will be replaced with the actual value during execution time.
You can also do this in order to get the pod name, it would be {{pod.name}}
.
回答2:
You can use kfp.dsl.EXECUTION_ID_PLACEHOLDER
and kfp.dsl.RUN_ID_PLACEHOLDER
as arguments for your component. At runtime they will be replaced with the actual values.
回答3:
Your component's container will has an environment variable called HOSTNAME
that is set to its unique pod name, from which you derive all necessary metadata.
来源:https://stackoverflow.com/questions/57047579/how-to-get-the-id-of-the-run-from-within-a-component