Я хочу писать из записной книжки sagemaker jupyter в мое ведро S3. Нашел решение, которое сработало у меня некоторое время, но теперь не работает (не уверен, что это связано с недавними обновлениями пакетов?)
import io
import boto3
pickle_buffer = io.BytesIO()
s3_resource = boto3.resource('s3')
df.to_pickle(pickle_buffer, compression=None)
s3_resource.Object(bucket, key).put(Body=pickle_buffer.getvalue())
Это вызывает ошибку в этой части строки: ----> 8 pickle_buffer.getvalue ())
ValueError: I/O operation on closed file.
Кто-нибудь знает, почему буфер закрыт? Он должен оставаться открытым ....
Кажется, даже моя проблема не зависит от AWS: Здесь происходит та же ошибка:
import io
pickle_buffer = io.BytesIO()
df.to_pickle(pickle_buffer, compression=None)
pickle_buffer.getvalue()
Спасибо, Оливер