Пример #1
0
    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
Пример #2
0
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)
    ]
Пример #3
0
    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
Пример #4
0
    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