【问题标题】:How to upload HDF5 file directly to S3 bucket in Python如何在 Python 中将 HDF5 文件直接上传到 S3 存储桶
【发布时间】:2019-05-16 06:11:34
【问题描述】:

我想将使用 h5py 创建的 HDF5 文件上传到 S3 存储桶,而不使用 boto3 在本地保存。

这个solution 使用pickle.dumps 和pickle.loads 以及我找到的其他解决方案,将文件存储在我想避免的本地。

【问题讨论】:

  • pickle.dump 将其转储为文件,但您可以使用 pickle.dumps 将其转储为字节。因此,您可以将该字节上传到 S3。
  • 谢谢,但是读取上传的文件,需要使用pickle.loads,对吗?我想将文件作为 HDF5 文件上传,以便可以将其作为 HDF5 文件读取,而无需 pickle.loads

标签: python amazon-s3 boto3 hdf5


【解决方案1】:

您可以使用io.BytesIO()put_object,如此处6 所示。希望这可以帮助。即使在这种情况下,您也必须在本地“存储”数据(尽管“在内存中”)。您也可以创建一个tempfile.TemporaryFile,然后使用put_object 上传您的文件。我认为您不能 到 S3 存储桶,因为本地数据在上传到存储桶时会被丢弃。

【讨论】:

  • put_object(h5bytestream, ContentType=x) 对应的 x 是多少?链接的示例使用ContentType='image/png',但我不确定如何找到合适的 MIME 类型描述符
猜你喜欢
  • 2020-10-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-24
  • 2019-10-23
  • 2018-04-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多