In get_task_run_results it says to ensure you have...
# prefect-community
r
In get_task_run_results it says to ensure you have read access to the child flow’s Result. If that is on S3 then can you give me a worked example of what that would look like? I am using Prefect 1.2.2 and on kubernetes
k
you shouldn’t need to define the result again. it should just be
Copy code
with Flow(..) as flow:
    flow_run_id = create_flow_run(...)
    wait_for_flow_run(flow_run_id)
    get_task_run_result(flow_run_id, task_slug)
because the result is already defined on the task level in that sub flow
More like if you use S3 result, then the parent flow here needs to be running on compute that has AWS credentials as well, which presumably the child flow did also to write the result there
r
Thank you. But somehow it is not working. How do I get the parent Flow aware of the AWS_CREDENTIALS I have defined in my config.toml under [context.secrets]? The error I get is botocore.exceptions.ClientError: An error occurred (403) when calling the HeadObject operation: Forbidden
k
Are you on Cloud? You could maybe store the secret there instead of the
config.toml
What is the RunConfig of the parent flow? That error seems like there is a key but no permissions right? Do you have different sets of keys?
r
I am on Prefect core, so not on cloud. The run_config is for KubernetesRun. I also tried passing the aws keys as env to the run_config but that didn't work either. Not sure what the issue is. I am able to see in the Minio browser that the result are being stored there. Just cannot read them when called from a parent flow.