``` @task(name="Create Task Definition") def crea...
# prefect-server
w
Copy code
@task(name="Create Task Definition")
def create_task(task_info:List):
    """Build and upload task defintion file to S3 from docker image and tag job parameters  

    Args:
        task_info (List): [A list that contains the repository and tag strings]

    Returns:
        None
    """

    fs = s3fs.S3FileSystem(use_ssl=False)

    bucket_path = 'prefect/task_definitions/'
    
    task_definition = json.load(fs.open(f'{bucket_path}/model_template.json', 'rb'))
    
    task_definition = task_definition['containerDefinitions'][0]['image_name'] = task_info[0]
    
    json.dump(task_definition, fs.open(f'{bucket_path}/{task_info[0]}_model_scoring.json','w'))
    
    return task_definition

with Flow(name="ECS Task Defintion to Run Config") as flow:

    task_definition = create_task(task_info)

    run_config = ECSRun(task_definition=task_definition, 
                    run_task_kwargs=dict(cluster="Innovation-Garage-AI-Cluster"))

flow.run_config = run_config