def execute(self, context: Dict): hook = DataFusionHook( gcp_conn_id=self.gcp_conn_id, delegate_to=self.delegate_to, api_version=self.api_version, impersonation_chain=self.impersonation_chain, ) self.log.info("Restarting Data Fusion instance: %s", self.instance_name) operation = hook.restart_instance( instance_name=self.instance_name, location=self.location, project_id=self.project_id, ) hook.wait_for_operation(operation) self.log.info("Instance %s restarted successfully", self.instance_name)
def execute(self, context: Dict): hook = DataFusionHook( gcp_conn_id=self.gcp_conn_id, delegate_to=self.delegate_to, api_version=self.api_version, ) self.log.info("Updating Data Fusion instance: %s", self.instance_name) operation = hook.patch_instance( instance_name=self.instance_name, instance=self.instance, update_mask=self.update_mask, location=self.location, project_id=self.project_id, ) hook.wait_for_operation(operation) self.log.info("Instance %s updated successfully", self.instance_name)
def execute(self, context: Dict): hook = DataFusionHook( gcp_conn_id=self.gcp_conn_id, delegate_to=self.delegate_to, api_version=self.api_version, ) self.log.info("Creating Data Fusion instance: %s", self.instance_name) try: operation = hook.create_instance( instance_name=self.instance_name, instance=self.instance, location=self.location, project_id=self.project_id, ) instance = hook.wait_for_operation(operation) self.log.info("Instance %s created successfully", self.instance_name) except HttpError as err: if err.resp.status not in (409, '409'): raise self.log.info("Instance %s already exists", self.instance_name) instance = hook.get_instance(instance_name=self.instance_name, location=self.location, project_id=self.project_id) # Wait for instance to be ready for time_to_wait in exponential_sleep_generator(initial=10, maximum=120): if instance['state'] != 'CREATING': break sleep(time_to_wait) instance = hook.get_instance(instance_name=self.instance_name, location=self.location, project_id=self.project_id) return instance
def execute(self, context: Dict): hook = DataFusionHook( gcp_conn_id=self.gcp_conn_id, delegate_to=self.delegate_to, api_version=self.api_version, ) self.log.info("Creating Data Fusion instace: %s", self.instance_name) try: operation = hook.create_instance( instance_name=self.instance_name, instance=self.instance, location=self.location, project_id=self.project_id, ) instance = hook.wait_for_operation(operation) self.log.info("Instance %s created successfully", self.instance_name) except HttpError as err: if err.resp.status != 409: raise self.log.info("Instance %s already exists", self.instance_name) instance = hook.get_instance( instance_name=self.instance_name, location=self.location, project_id=self.project_id ) return instance
def execute(self, context: 'Context') -> None: hook = DataFusionHook( gcp_conn_id=self.gcp_conn_id, delegate_to=self.delegate_to, api_version=self.api_version, impersonation_chain=self.impersonation_chain, ) self.log.info("Restarting Data Fusion instance: %s", self.instance_name) operation = hook.restart_instance( instance_name=self.instance_name, location=self.location, project_id=self.project_id, ) instance = hook.wait_for_operation(operation) self.log.info("Instance %s restarted successfully", self.instance_name) project_id = self.project_id or DataFusionPipelineLinkHelper.get_project_id( instance) DataFusionInstanceLink.persist(context=context, task_instance=self, project_id=project_id)