def _latest_prefix_on_s3(self): prefixes = list( akagi.get_resource('s3').Bucket(self._bucket_name).objects.filter( Prefix=self._unload_root_prefix)) if len(prefixes) > 0: return prefixes[-1].key else: None
def data_files_for_s3_prefix(bucket_name, prefix, file_format='csv'): return [ DataFile.s3(bucket_name, obj.key, file_format) for obj in akagi.get_resource('s3').Bucket(bucket_name).objects.filter( Prefix=prefix) ]
def _exists_on_s3(self): for _ in akagi.get_resource('s3').Bucket(self._bucket_name)\ .objects.filter(Prefix=self._unload_root_prefix).limit(1): return True return False
def _body(self): out_io = BytesIO() akagi.get_resource('s3').Object(self._bucket_name, self._key).download_fileobj(out_io) out_io.seek(0) return out_io