Von OFS

bietet pluginorientierte Blobstore mit niedrigem Niveau
Jetzt downloaden

Von OFS Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • The Apache License 2.0
  • Name des Herausgebers:
  • Ben O'Steen, Friedrich Lindenberg and Rufus Pollock
  • Website des Verlags:
  • http://bitbucket.org/okfn/

Von OFS Stichworte


Von OFS Beschreibung

Bietet pluginorientierte Blobstore mit niedrigem Niveau OFS ist eine Eimer- / Objektspeicherbibliothek. Es bietet eine gemeinsame API zum Speichern von Bitstreams (+ ein Bit verwandter Metadaten) in 'Eimer- / Objekt-Speicher wie: * FileSystem (+ Pairtree) * S3-kompatibel: S3, Google Lagerung, Eucalytus, Archive.org * RIAK (Buggy) * 'Rest' Store (siehe Remote / Reststore.py - Implementierung unter http://bitbucket.org/pudo/repod/) * Fügen Sie hier ein Backend hinzu Verwenden der Bibliothek: * Abstraktion: Schreiben Sie einen gängigen Code, verwenden Sie jedoch unterschiedliche Speicherbützen * mehr als ein Dateisystem, weniger als eine Datenbank - Unterstützung für Metadaten sowie Bitstreams * Zusätzliche Funktionen: - Schenkung - Automatische Bestrebungen von Dateien zur Unterstützung des verteilten Dateisystems wie Struktur (geplant) Verwendung (lokale Version - hängt von 'pairtree' und 'SimpleJson'): >>> von OFS.LOCAL-Import vons >>> O = OFS () (äquivalent zu 'O = OFS (CAORY_DIR = "Daten", URI_BASE = "Urne: uuid:", hashing_type = "md5") ')') # Beanspruchung eines Eimers - dadurch wird der Eimer der Liste der vorhandenen >>> uuid_id = o.claim_a_bucket () >>> uuid_id '4AAAA43C hinzugefügt DF5BA44E2AD25ACDBD1CF2F70 '# Wählen Sie einen Eimer-Namen - wenn es existiert, wird stattdessen ein neuer UUID geformt und zurückgegeben >>> bucket_id = o.claim_a_bucket ("foo") >>> bucket_id' foo '>>> bucket_id = o.claim_a_bucket ("Foo") >>> Bucket_ID '1bf93208521545879E79c13614cd12f0' # speichern eine Datei: >>> o.put_stream (Bucket_ID, "foo.txt", offen ("foo ....)) {'_label': 'foo. TXT ',' _Content_length ': 10,' _Checksum ':' MD5: 10FEDA25F8DA2E2EBFBE646EA351224 ',' _last_modified ':' 2010-08-02t11: 37: 21 ',' _creation_date ':' 2010-08-02t11: 37: 21 ' } # oder: >>> o.put_stream (Bucket_ID, "foo.txt", "assidaisdiasjdiajsidjasidji") {'_label': 'foo.txt', '_content_length': 10, '_checksum': 'MD5: 10FEDA25F8DA2E2EBFBE646EA351224', '_last_modified': '2010-08-02t11: 37: 21', '_creation_date': '2010-08-02t11: 37: 21'} # Hinzufügen einer Datei mit einigen Parametern: >>> o.pet_stream (Bucket_ID, " foooo "," assidaisdiasjdiajsidjasidji ", params = {" original_uri ":" http: // .... "}) {'_label': 'foooo', 'original_uri': 'http: // ....', '_last_modified': '2010-08-02t11: 39:11 ',' _checksum ':' md5: 3d690d7e0f4479c5a7038b8a4572d0fE ',' _creation_date ':' 2010-08-02t11: 39: 11 ',' _content_length ': 26} # Holen Sie sich die zugrunde liegende URL auf eine Ressource >>> o .GET_URL (BANDET_ID, "FOO") "Datei: //oft/ofs_store/pairtree_root/1b/f9/32/......./obj/foo" "http: // ..." "FTP: // ..." # hinzufügen zu vorhandenen Metadaten: >>> o.update_metadata (Bucket_ID, "foooo", {'foo': 'bar'}) {' _Label ':' foooo ',' original_uri ':' http: // .... ',' _last_modified ':' 2010-08-02t11: 39: 11 ',' _checksum ':' md5: 3d690d7e0f4479c5a7038b8a4572d0fE ',' _creation_date ':' 2010-08-02t11: 39: 11 ',' _content_length ': 26,' foo ':' bar '} # Entfernen Sie die Tasten >>> o.remove_metadata_keys (Bucket_ID, "foooo", ) {'_label': 'foooo', 'original_uri': 'http: // ....', '_last_modified': '2010-08-02t11: 39: 11', '_checksum': 'MD5: 3D690D7E0F4479C5A7038B8A4572D0FE', '_creation_date': '2010-08-02t11: 39: 11', '_content_length': 26} # Löschen Sie BLOB >>> o.exists (Bucket_ID, "Foooo") TRUE >>> od EL_STREAM (Bucket_ID, "Foooo") >>> O.Exists (Bucket_ID, "Foooo") false # Itererieren Sie sich durch IDs für Eimer gehalten: >>> für Artikel in O.list_Buckets (): ... Artikel drucken ... 447536AA0F1B411089D12399738de8E 4A726B0A3397480A2A26D34FA0D494D 4AAA43CDF5BA44E2AD25ACDBD1CF2F70 .... ETC-Anforderungen: · Python


Von OFS Zugehörige Software