def run_sql()

in lambda_run_redshift_script.py [0:0]


def run_sql(redshift_host, redshift_db, redshift_user, redshift_iam_role, script_s3_path, with_event=True,
            run_type='ASYNC'):
    cluster_identifier = redshift_host.split('.')[0]
    script = get_config_from_s3(script_s3_path).format(redshift_iam_role)

    res = boto3.client("redshift-data").execute_statement(Database=redshift_db, DbUser=redshift_user, Sql=script,
                                                          ClusterIdentifier=cluster_identifier, WithEvent=with_event)
    query_id = res["Id"]
    statuses = ["STARTED", "FAILED", "FINISHED"] if run_type == 'ASYNC' else ["FAILED", "FINISHED"]
    done = False
    while not done:
        status = sql_status(query_id)
        if status in statuses:
            print(query_id + ":" + status)
            break
    return query_id