Zenodo: Unterstützung von "HTTP/1.1 Byte Range Request" beim Dateiabruf

Erstellt am 9. Sept. 2018  ·  10Kommentare  ·  Quelle: zenodo/zenodo

Ich habe eine Feature-Anfrage auf zenodo - kann der zenodo-Server HTTP/1.1-Byte-Range-Request https://tools.ietf.org/html/rfc7233 unterstützen ?

Die Zenodo-Plattform ist bereits unglaublich, und Ihre Unterstützung der Byte-Range-Anfrage wird den Wert der hinterlegten Daten weiter steigern, da einige Anwendungen auf die Byte-Range-Anfrage angewiesen sind, insbesondere beim Umgang mit großen Dateien.

Ich möchte ein Beispiel zur Funktionsweise der Bytebereichsanforderung hinzufügen, um meinen Standpunkt klar zu machen. Beispielsweise unterstützt github (raw.githubusercontent.com) die Bytebereichsanforderung wie folgt:

###
### The entire part of the README file is retrieved, and processed locally
###
$ curl  https://raw.githubusercontent.com/zenodo/zenodo/master/README.rst |head -5 | tail -1
    Zenodo is free software; you can redistribute it

###
### Only the specified bytes specified in the file is retrieved, which does not require local processing
###
$ curl -H "range: bytes=72-125"  https://raw.githubusercontent.com/zenodo/zenodo/master/README.rst 
    Zenodo is free software; you can redistribute it

Die Byte-Range-Anfrage wird jedoch in zenodo.org ignoriert

###
### the entire part of the file is retrieved
###
$ curl   https://zenodo.org/record/1407145/files/DOI_Test.txt
This is a test of the Zenodo DOI functionality for GitLab. 

###
### Only small bytes are requested, but the entire part is retrieved
###
$ curl -H "range: bytes=6-7"  https://zenodo.org/record/1407145/files/DOI_Test.txt
This is a test of the Zenodo DOI functionality for GitLab.
Enhancement Needs investigation Accepted

Hilfreichster Kommentar

Ich wollte nur mein :+1: hinzufügen, um zu sagen, dass das Aktivieren von Bereichsanfragen für Geodatenformate sehr nützlich wäre. Insbesondere Cloud Optimized GeoTIFF würde davon sehr profitieren. Das Zulassen von Bereichsanfragen könnte die von zenodo benötigte Bandbreite wirklich reduzieren.

Alle 10 Kommentare

Ich unterstütze das. Es wäre zB sehr sinnvoll, mit tabix direkt auf zuzugreifen . Es scheint eine Konfigurationsänderung in der zenodo Webserver-Einstellung 'max_ranges' auf eine positive Zahl zu erfordern.

Gibt es einen technischen Grund, das nicht zu tun?

Unser Dateispeicher-Back-End ist derzeit nicht für HTTP-Bereichsanfragen optimiert (d. h. die Aktivierung dieser Funktion würde möglicherweise zu erheblichen Verlangsamungen der Datei-Upload-/Download-API führen). Natürlich gibt es Leute, die daran arbeiten, es möglich zu machen, obwohl wir keine genaue ETA dafür geben können ...

Ich wollte nur mein :+1: hinzufügen, um zu sagen, dass das Aktivieren von Bereichsanfragen für Geodatenformate sehr nützlich wäre. Insbesondere Cloud Optimized GeoTIFF würde davon sehr profitieren. Das Zulassen von Bereichsanfragen könnte die von zenodo benötigte Bandbreite wirklich reduzieren.

Unser Dateispeicher-Back-End ist derzeit nicht für HTTP-Bereichsanfragen optimiert (d. h. die Aktivierung dieser Funktion würde möglicherweise zu erheblichen Verlangsamungen der Datei-Upload-/Download-API führen). Natürlich gibt es Leute, die daran arbeiten, es möglich zu machen, obwohl wir keine genaue ETA dafür geben können ...

Viele Leute können keine großen genetischen Dateien herunterladen (mehrere GB). z.B,
https://github.com/zenodo/zenodo/issues/460#issuecomment -546623751

Einige müssen es viele Male wiederholen, und das verschwendet tatsächlich Ihre Bandbreite...

Wichtig für unser Projekt ist auch, dass wir Cloud-Optimized GeoTIFFs (siehe zB https://zenodo.org/record/4483227) direkt aus Zenodo verwenden können. Figshare funktioniert anscheinend mit COG's, zenodo nicht? Wir haben ein Tutorial für Benutzer geschrieben, wie man mit COG-Dateien kleine Datenmengen erhält .

Könnten Sie das bitte unterstützen?

Wir brauchen es, um große Bilddateien (im Zarr-Format) stückweise bereitzustellen, sodass wir die Dateien sofort im Browser visualisieren können. Es wird dem Browser nicht möglich sein, die Datei, zB 10GB, herunterzuladen und anzuzeigen.

Beachten Sie nur den Wert für den Anwendungsfall Zarr. Vielen Dank für Ihre Arbeit an Zenodo!

Für Zarr könnten wir zenodo hypothetisch heute ohne Änderungen zum Laufen bringen. Zenodo unterstützt keine Verzeichnisse, aber wenn wir einen normalen Zarr-Verzeichnisspeicher über ein Sonderzeichen einer Art flacher Hierarchie zuordnen könnten, könnten wir es zum Laufen bringen. Wenn das Sonderzeichen beispielsweise __

.zgroup
foo__.zarray
foo__.zattrs
foo__0.0
foo__0.1

usw.

Könnten Sie bitte hier ein Problem ansprechen ( https://github.com/zarr-developers/zarr-specs/issues )?

@rabernat Ich fürchte, das wird nicht skaliert, da Zenodo nur maximal 100 Dateien zulässt.

Die maximale Dateigröße pro Datensatz beträgt 50 GB (maximal 100 Dateien). Ein einmaliges 100-GB-Kontingent kann von Fall zu Fall angefordert und gewährt werden.

Quelle: https://www.openaire.eu/technical-requirements

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen