如何在Prefect流函数中获取并打印自身的Flow Run ID?
获取并打印Flow Run ID的实现方法
你可以通过Prefect的运行上下文来获取当前Flow Run的ID,具体修改代码如下:
from prefect import flow from prefect.context import get_run_context @flow def my_favorite_function(myvar:str='1'): # 获取当前运行上下文 context = get_run_context() # 提取Flow Run ID flow_run_id = context.flow_run.id print(f'LOCALS: {locals()}') print(f'Flow Run ID: {flow_run_id}')
说明:
get_run_context()会返回当前Flow运行的上下文对象,其中包含的flow_run属性里,id字段就是你需要的Flow Run ID。- 拿到ID后,你可以直接打印输出,也可以将其传入外部流程使用。
运行后,Agent端的输出会包含类似这样的内容:
LOCALS: {'myvar': '1', 'context': <prefect.context.FlowRunContext object at 0x...>, 'flow_run_id': UUID('4f147b53-2db8-4762-9f51-f0031a8f7eb1')} Flow Run ID: 4f147b53-2db8-4762-9f51-f0031a8f7eb1
内容的提问来源于stack exchange,提问作者Bino Oetomo
相关产品推荐
相关产品推荐

