def run_sm_autopilot()

in code/workflow/implementations/autopilot/bp_automl_stage.py [0:0]


    def run_sm_autopilot(self, automl_config, context, wf_state) :
        
        if not context or not wf_state :
            raise Exception("SageMaker Autopilot automl module requires context and wf_state parameters")
        
        try :
            job_def = self.dsml.describe_auto_ml_job(AutoMLJobName=automl_config["JobName"])
        except :
            
            # DT: 03/10/2020 workaround DataWrangler bug P45265671
            unique_s3_prefix = automl_config["Input"][0]["DataSource"]["S3DataSource"]["S3Uri"]
            fixed_data_path = self.fix_datawrangler_data_path(self.s3, unique_s3_prefix)
            automl_config["Input"][0]["DataSource"]["S3DataSource"]["S3Uri"] = fixed_data_path
            
            self.dsml.create_auto_ml_job(AutoMLJobName = automl_config["JobName"],
                                        InputDataConfig = automl_config["Input"],
                                        OutputDataConfig = automl_config["Output"],
                                        AutoMLJobConfig = automl_config["JobProperties"],
                                        ProblemType = automl_config["Problem"],
                                        AutoMLJobObjective = automl_config["Objective"],
                                        RoleArn = automl_config["IamRole"])
    
        results = self.monitor_status(automl_config["JobName"], context, self.dsml)
        results["qualified"] = self.model_is_qualified(wf_state, results)
        
        passed_config = wf_state["config"]["Payload"]
        passed_config["model-config"]["job-results"] = results
        passed_config["automl-config"]["data_uri"] = job_def["InputDataConfig"][0]["DataSource"]["S3DataSource"]["S3Uri"]
        
        return passed_config