Прочитать файл h5 с помощью AWS S3 s3fs/boto3
Я пытаюсь прочитать файл h5 из AWS S3. Я получаю следующие ошибки, используя s3fs/boto3. Вы можете помочь? Спасибо!
import s3fs
fs = s3fs.S3FileSystem(anon=False, key='key', secret='secret')
with fs.open('file', mode='rb') as f:
h5 = pd.read_hdf(f)
Ошибка типа: ожидаемый объект str, bytes или os.PathLike, а не S3File
fs = s3fs.S3FileSystem(anon=False, key='key', secret='secret')
with fs.open('file', mode='rb') as f:
hf = h5py.File(f)
Ошибка типа: ожидаемый объект str, bytes или os.PathLike, а не S3File
client = boto3.client('s3',aws_access_key_id='key',aws_secret_access_key='secret')
result = client.get_object(Bucket='bucket', Key='file')
with h5py.File(result['Body'], 'r') as f:
data = f
TypeError: ожидаемый объект str, bytes или os.PathLike, а не StreamingBody
0 ответов
Ваша версия h5py должна работать, но вам понадобится h5py версии 2.9. См. "Файловые объекты" здесь: http://docs.h5py.org/en/stable/high/file.html.