def get_hook(self) -> OSSHook: """Create and return an OSSHook""" if self.hook: return self.hook self.hook = OSSHook(oss_conn_id=self.oss_conn_id, region=self.region) return self.hook
def __init__(self, base_log_folder, oss_log_folder, filename_template): self.log.info("Using oss_task_handler for remote logging...") super().__init__(base_log_folder, filename_template) (self.bucket_name, self.base_folder) = OSSHook.parse_oss_url(oss_log_folder) self.log_relative_path = '' self._hook = None self.closed = False self.upload_on_close = True
def hook(self): remote_conn_id = conf.get('logging', 'REMOTE_LOG_CONN_ID') self.log.info("remote_conn_id: %s", remote_conn_id) try: return OSSHook(oss_conn_id=remote_conn_id) except Exception as e: self.log.error(e, exc_info=True) self.log.error( 'Could not create an OSSHook with connection id "%s". ' 'Please make sure that airflow[oss] is installed and ' 'the OSS connection exists.', remote_conn_id, )
def execute(self, context): oss_hook = OSSHook(oss_conn_id=self.oss_conn_id, region=self.region) oss_hook.delete_bucket(bucket_name=self.bucket_name)
def execute(self, context): oss_hook = OSSHook(oss_conn_id=self.oss_conn_id, region=self.region) oss_hook.delete_objects(bucket_name=self.bucket_name, key=self.keys)
def execute(self, context): oss_hook = OSSHook(oss_conn_id=self.oss_conn_id, region=self.region) oss_hook.download_file(bucket_name=self.bucket_name, key=self.key, local_file=self.file)
def execute(self, context: 'Context'): oss_hook = OSSHook(oss_conn_id=self.oss_conn_id, region=self.region) oss_hook.create_bucket(bucket_name=self.bucket_name)
def execute(self, context: 'Context'): oss_hook = OSSHook(oss_conn_id=self.oss_conn_id, region=self.region) oss_hook.upload_local_file(bucket_name=self.bucket_name, key=self.key, file=self.file)