Van

biedt plug-in-georiënteerde blobstore op laag niveau
Download nu

Van Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • The Apache License 2.0
  • Naam uitgever:
  • Ben O'Steen, Friedrich Lindenberg and Rufus Pollock
  • Uitgever website:
  • http://bitbucket.org/okfn/

Van Tags


Van Beschrijving

Biedt plug-in-georiënteerde blobstore op laag niveau OFS is een Bucket / Object Storage-bibliotheek.it biedt een gemeenschappelijke API voor het opslaan van Bitstreams (+ een beetje verwante metadata) in 'Bucket / Object'-winkels, zoals: * Filesystem (+ Pairtree) * S3-compatibel: S3, Google Opslag, Eucalytus, Archive.org * Riak (buggy) * 'Rest' Store (zie Afstandsbediening / reststore.py - implementatie op http://bitbucket.org/pudo/repod/) * Een backdift toevoegen Herewhy Gebruik de bibliotheek: * Abstractie: Schrijf een gemeenschappelijke code, maar gebruik verschillende opslagbackds * Meer dan een bestandssysteem, minder dan een database - ondersteuning voor metadata, ook Bitstreams * Extra functies: - Shardening - Automatisch scharrijden van bestanden om gedistribueerd bestandssysteem zoals structuur (gepland) voorbeeld te ondersteunen Gebruik (Local-versie - hangt af van 'Pairtree' en 'SimpleJson'): >>> Van SS.Local import van >>> O = OFS () (equivalent aan 'O = van (opslag_dir = "data", uri_base = "URN: UUID:", HASHING_TYPE = "MD5") ') # Claim een bucket - dit voegt de bucket toe aan de lijst van bestaande >>> UUID_ID = O.Claim_A_Bucket () >>> UUID_ID' 4AAA43C DF5BA44E2AD25ACDBD1CF2F70 '# Kies een bucket-naam - als het bestaat, zal een nieuwe UUID één worden gevormd in plaats daarvan en geretourneerd >>> bucket_id = o.claim_a_bucket ("foo") >>> bucket_id' foo '>>> bucket_id = o.claim_a_bucket ("FOO") >>> Bucket_ID '1BF93208521545879E79C15614CD12F0' # Sla een bestand op: >>> O.PUT_SSTREAM (bucket_id, "foo.txt", open ("foo ....)) {'_label': 'foo. TXT ',' _Content_Length ': 10,' _checksum ':' MD5: 10Feda25F8DA2E2EBFBE646EA351224 ',' _last_modificatie ':' 2010-08-02T11: 37: 21 ',' _creation_date ':' 2010-08-02T11: 37: 21 ' } # of: >>> O.PUT_STREAM (bucket_id, "foo.txt", "Asidaisdiasjdiajsidjasidji") {'_label': 'foo.txt', '_content_length': 10, '_checksum': 'MD5: 10FEDA25F8DA2E2EBFBE646EA351224', '_last_modified': '2010-08-02T11: 37: 21', '_Creation_date': '2010-08-02T11: 37: 21'} # Een bestand toevoegen aan sommige parameters: >>> O.PRUT_STREAM (BUCKET_ID " foooo "," Asidaisdiasjdiajsidjasidji ", params = {" original_uri ":" http: // .... "}) {'_label': 'foooo', 'original_uri': 'http: // ....', '_last_modificeerde': '2010-08-02T11: 39:11 ',' _checksum ':' MD5: 3D690D7E0F4479C5A7038B8A4572D0FE ',' _Creation_date ':' 2010-08-02T11: 39: 11 ',' _Content_length ': 26} # Krijg de onderliggende URL die naar een hulpbron wijzen >>> O .get_url (bucket_id, "foo") "Bestand: //OPT/OFS_STORE/PAIRTREE_ROOT/1B/F9/32/......./OBJ/FOO" "HTTP: // ..." "FTP: // ..." # Toevoegen aan bestaande metadata: >>> 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 '} # Verwijder sleutels >>> 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} # Verwijderen Blob >>> O.Exists (Bucket_ID, "FOOOO") TRUE >>> OD El_Stream (Bucket_id, "foooo") >>> O.Exists (bucket_id, "foooo") false # iterate via ID's voor emmers gehouden: >>> voor item in o.list_buckets (): ... afdrukken item ... 447536AA0F1B411089D12399738DE8E 4A726B0A33974480A2A26D34FA0D494D 4AAA43CDF5BA44E2AD25ACDBD1CF2F70 .... ETCE EERSTELD: · Python


Van Gerelateerde software