Zenodo: Existe-t-il une limite de taille de fichier pour le téléchargement avec l'API REST ?

Créé le 21 avr. 2019  ·  3Commentaires  ·  Source: zenodo/zenodo

J'essaie de télécharger un gros fichier de 1 à 2 Go dans le bac à sable Zendo. Je reçois toujours une erreur EPIPE lorsque je soumets ma demande.

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)

L'erreur que j'obtiens est la suivante

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

Est-ce dû à une limite de taille imposée aux téléchargements ?

Commentaire le plus utile

En effet il existe une ancienne API de taille limite, qui supporte jusqu'à 100 Mo par fichier. La nouvelle API prend en charge jusqu'à 50 Go par fichier et vous pouvez voir comment l'utiliser sur les liens suivants :

Cette API n'est pas complètement stable, elle pourrait donc changer un peu à l'avenir. Dès que nous développerons une version stable, nous mettrons à jour la documentation ici : http://developers.zenodo.org/#deposition -files

Faites-moi savoir si vous avez besoin d'aide supplémentaire.

Tous les 3 commentaires

En effet il existe une ancienne API de taille limite, qui supporte jusqu'à 100 Mo par fichier. La nouvelle API prend en charge jusqu'à 50 Go par fichier et vous pouvez voir comment l'utiliser sur les liens suivants :

Cette API n'est pas complètement stable, elle pourrait donc changer un peu à l'avenir. Dès que nous développerons une version stable, nous mettrons à jour la documentation ici : http://developers.zenodo.org/#deposition -files

Faites-moi savoir si vous avez besoin d'aide supplémentaire.

Merci pour la réponse @frankois. Je vais vérifier la nouvelle API.

Je suis un peu confus quand je lis à propos des _nouvelles_ et des _anciennes_ API : je ne les trouve pas.

Je viens de découvrir Zenodo et c'est la seule documentation que j'ai trouvée. Mais il ne dit pas qu'il fait référence à la _nouvelle_ ou à l'_ancienne_ API :
https://developers.zenodo.org

Je ne sais donc pas si les versions _ancienne_ et _nouvelle_ continuent de fonctionner en même temps, avec un accès URL différent ...
S'il vous plaît @frankois pourriez-vous clarifier cela?

Existe-t-il un journal des modifications publié quelque part, afin que nous puissions savoir quand chaque nouvelle fonctionnalité d'API a été publiée ?
Je veux dire : si je trouve un script python quelque part, comment puis-je savoir (par sa date) s'il a été écrit pour l'ancienne ou la nouvelle API ?


Plus précisément, j'essayais d'utiliser cette interface Python vers l'API Zenodo :https://github.com/SiLeBAT/zenodo-python

Mais, comme je l'ai signalé ici , mes téléchargements échouent car les fichiers du référentiel sont corrompus.
Je soupçonne que cela pourrait être lié à ce changement dans l'API mentionné par @frankois .
Pourrait s'il vous plaît certains experts examiner cette ligne dans leur code :

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

Et comparez avec le lien ci - @frankois , où @slint dit :
"_Nous passons l'objet fichier (fp) directement à demander en tant que 'données' pour le téléchargement de flux_".
Donc, je suppose que la ligne ci-dessus fait référence à _old API_, et peut-être devrait-elle être corrigée par quelque chose comme ça ?

data = open(file_path, 'rb')

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

maurice-schleussinger picture maurice-schleussinger  ·  3Commentaires

davidanthoff picture davidanthoff  ·  5Commentaires

lnielsen picture lnielsen  ·  8Commentaires

minygd picture minygd  ·  8Commentaires

slint picture slint  ·  5Commentaires