Zenodo: Apakah ada batasan Ukuran file untuk mengunggah dengan REST API?

Dibuat pada 21 Apr 2019  ·  3Komentar  ·  Sumber: zenodo/zenodo

Saya mencoba mengunggah file berukuran besar 1-2GB ke dalam kotak pasir Zendo. Saya terus mendapatkan kesalahan EPIPE ketika saya mengirimkan permintaan saya.

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)

Kesalahan yang saya dapatkan adalah sebagai berikut

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

Apakah ini karena batas ukuran yang dikenakan pada unggahan?

Komentar yang paling membantu

Memang ada batasan ukuran API lama, yang mendukung hingga 100MB per file. API baru mendukung hingga 50GB per file dan Anda dapat melihat cara menggunakannya di tautan berikut:

API ini tidak sepenuhnya stabil, jadi mungkin akan sedikit berubah di masa mendatang. Segera setelah kami mengembangkan versi stabil, kami akan memperbarui dokumentasi di sini: http://developers.zenodo.org/#deposition -files

Beri tahu saya jika Anda membutuhkan bantuan lebih lanjut.

Semua 3 komentar

Memang ada batasan ukuran API lama, yang mendukung hingga 100MB per file. API baru mendukung hingga 50GB per file dan Anda dapat melihat cara menggunakannya di tautan berikut:

API ini tidak sepenuhnya stabil, jadi mungkin akan sedikit berubah di masa mendatang. Segera setelah kami mengembangkan versi stabil, kami akan memperbarui dokumentasi di sini: http://developers.zenodo.org/#deposition -files

Beri tahu saya jika Anda membutuhkan bantuan lebih lanjut.

Terima kasih atas jawabannya @frankois. Saya akan memeriksa API baru.

Saya agak bingung ketika membaca tentang _new_ dan _old_ API: Saya tidak dapat menemukannya.

Saya baru saja menemukan Zenodo dan ini adalah satu-satunya dokumentasi yang saya temukan. Tapi itu tidak mengatakan itu merujuk ke _new_ atau _old_ API:
https://developers.zenodo.org

Jadi saya belum jelas apakah versi _old_ dan _new_ tetap bekerja pada saat yang sama, memiliki akses url yang berbeda ... atau hanya ada satu akses API, jadi aplikasi python yang ada mungkin berhenti bekerja karena perubahan dan fungsionalitas baru.
Tolong @frankois bisakah Anda mengklarifikasi ini?

Apakah ada changelog yang diterbitkan di suatu tempat, sehingga kami dapat mengetahui kapan setiap fitur API baru dirilis?
Maksud saya: jika saya menemukan skrip python di suatu tempat, bagaimana saya bisa tahu (berdasarkan tanggalnya) jika itu ditulis untuk API lama atau baru?


Lebih khusus lagi, saya mencoba menggunakan antarmuka Python ini
https://github.com/SiLeBAT/zenodo-python

Tetapi, seperti yang saya laporkan di sana , unggahan saya gagal karena file dalam repositori rusak.
Saya menduga ini mungkin terkait dengan perubahan dalam API yang disebutkan oleh @frankois .
Bisa tolong beberapa ahli meninjau baris ini dalam kode mereka :

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

Dan bandingkan dengan tautan di atas yang disediakan oleh @frankois , di mana @slint mengatakan :
"_Kami meneruskan objek file (fp) secara langsung ke permintaan sebagai 'data' untuk unggahan streaming_".
Jadi, saya kira baris di atas merujuk ke _API_ lama, dan mungkin harus dikoreksi menjadi seperti ini?

data = open(file_path, 'rb')

Apakah halaman ini membantu?
0 / 5 - 0 peringkat