Zenodo: 使用 REST API 上传是否有文件大小限制?

创建于 2019-04-21  ·  3评论  ·  资料来源: zenodo/zenodo

我正在尝试将一个 1-2GB 的大文件上传到 Zendo 沙箱。 提交请求时,我不断收到 EPIPE 错误。

data = {"filename":'test.tar'}
files ={'file' : ("test.tar",open('test.tar','rb'),{'Expires': '0'})}

r = requests.post('https://sandbox.zenodo.org/api/deposit/depositions/274851/files',
              params={'access_token': ACCESS_TOKEN},files=files,data=data)

我得到的错误如下

ConnectionError: ('Connection aborted.', error("(32, 'EPIPE')",))

这是由于上传的大小限制造成的吗?

最有用的评论

事实上,旧 API 有一个大小限制,每个文件最多支持 100MB。 新 API 最多支持每个文件 50GB,您可以在以下链接中查看如何使用它:

这个 API 不是完全稳定的,所以它在未来可能会发生一些变化。 一旦我们开发出稳定版本,我们将在此处更新文档: http :

如果您需要进一步的帮助,请告诉我。

所有3条评论

事实上,旧 API 有一个大小限制,每个文件最多支持 100MB。 新 API 最多支持每个文件 50GB,您可以在以下链接中查看如何使用它:

这个 API 不是完全稳定的,所以它在未来可能会发生一些变化。 一旦我们开发出稳定版本,我们将在此处更新文档: http :

如果您需要进一步的帮助,请告诉我。

谢谢@frankois 的回复。 我会检查新的 API。

当我读到 _new_ 和 _old_ API 时,我有点困惑:我找不到它们。

我刚刚发现了 Zenodo,这是我找到的唯一文档。 但它并没有说它指的是 _new_ 或 _old_ API:
https://developers.zenodo.org

所以我不清楚 _old_ 和 _new_ 版本是否同时保持工作,具有不同的 url 访问权限……或者只有一个 API 访问权限,因此现有的 python 应用程序可能会由于更改和新功能而停止工作。
@frankois你能澄清一下吗?

某处是否有已发布的变更日志,以便我们知道每个新 API 功能的发布时间?
我的意思是:如果我在某处找到一个 python 脚本,我怎么知道(通过它的日期)它是为旧 API 还是新 API 编写的?


更具体地说,我试图将这个Python 接口用于 Zenodo API:https://github.com/SiLeBAT/zenodo-python

但是,正如我在那里报告的那样,我的上传失败了,因为存储库中的文件已损坏。
我怀疑这可能与@frankois提到的 API 中的这一变化有关。
可以请一些专家在他们的代码中审查

data = {'file': open(file_path, 'rb')}

并与@frankois提供@slint
“_我们直接通过文件对象(fp)来请求作为流上传的‘数据’_”。
所以,我猜上面那行是指 _old API_,也许应该更正为这样的?

data = open(file_path, 'rb')

此页面是否有帮助?
0 / 5 - 0 等级