Sasha Mikhailov
01/14/2021, 10:12 AM@task(log_stdout=True)
def print_context():
print('print context from task:', prefect.context.get('db_env'))
DB_ENV = Parameter("database to connect to", default='local')
prefect.context['db_env'] = DB_ENV # ← doesn't work in cloud
with Flow('testing_context') as flow:
print_context(upstream_tasks = [DB_ENV])
flow.run()
then I register the flow in a docker storage and push it to the cloud.
And it doesn't work when I run the flow via cloud ui: it shows None instead of parameter.Spencer
01/14/2021, 1:31 PMZanie
prefect.context.parameters
import prefect
from prefect import task, Flow, Parameter
@task(log_stdout=True)
def display():
print(prefect.context.get("parameters"))
with Flow("with-parameters") as flow:
foo = Parameter("foo", default=1)
bar = Parameter("bar", default=2)
flow.add_task(foo)
flow.add_task(bar)
display()
flow.run()
Sasha Mikhailov
01/15/2021, 7:16 AMZanie