Thread
#prefect-community
    r

    Russell Brooks

    3 months ago
    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
    Kevin Kho

    Kevin Kho

    3 months ago
    you shouldn’t need to define the result again. it should just be
    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

    Russell Brooks

    3 months ago
    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
    Kevin Kho

    Kevin Kho

    3 months ago
    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

    Russell Brooks

    3 months ago
    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.