STAR
Cal STAR — firmware, DAQ server, and engine design
Loading...
Searching...
No Matches
stardesign.storage.S3Backend Class Reference

Public Member Functions

None __init__ (self, UserData ud, str bucket, str prefix)
dict snapshot_micro (self, str user, str doc_id, Snapshot data)
list[dict] list_micro (self, str user, str doc_id, int limit=50)
Snapshot|None get_micro (self, str user, str doc_id, str version_id)
Snapshot|None latest_micro (self, str user, str doc_id)
dict create_release (self, str user, str doc_id, str label, Snapshot data)
list[dict] list_releases (self, str user, str doc_id)
Snapshot|None get_release (self, str user, str doc_id, str label)

Public Attributes

 bucket = bucket
 prefix = prefix.strip("/")

Protected Member Functions

str _head_key (self, str user, str doc_id)
str _releases_prefix (self, str user, str doc_id)
None _put (self, str key, Snapshot data)
Snapshot|None _get (self, str key, **kw)

Protected Attributes

 _ud = ud
 _s3 = boto3.client("s3")

Detailed Description

Version history in a versioned S3 bucket. Microversions == object versions.

Definition at line 163 of file storage.py.

Constructor & Destructor Documentation

◆ __init__()

None stardesign.storage.S3Backend.__init__ ( self,
UserData ud,
str bucket,
str prefix )

Definition at line 166 of file storage.py.

Member Function Documentation

◆ _get()

Snapshot | None stardesign.storage.S3Backend._get ( self,
str key,
** kw )
protected

Definition at line 187 of file storage.py.

References _s3, bucket, and read().

Referenced by get_micro(), get_release(), and latest_micro().

◆ _head_key()

str stardesign.storage.S3Backend._head_key ( self,
str user,
str doc_id )
protected

Definition at line 174 of file storage.py.

Referenced by get_micro(), latest_micro(), list_micro(), and snapshot_micro().

◆ _put()

None stardesign.storage.S3Backend._put ( self,
str key,
Snapshot data )
protected

Definition at line 180 of file storage.py.

References _s3, and bucket.

Referenced by create_release(), and snapshot_micro().

◆ _releases_prefix()

str stardesign.storage.S3Backend._releases_prefix ( self,
str user,
str doc_id )
protected

Definition at line 177 of file storage.py.

Referenced by list_releases().

◆ create_release()

dict stardesign.storage.S3Backend.create_release ( self,
str user,
str doc_id,
str label,
Snapshot data )

Definition at line 217 of file storage.py.

References stardesign.storage._now_iso(), _put(), _s3, and bucket.

◆ get_micro()

Snapshot | None stardesign.storage.S3Backend.get_micro ( self,
str user,
str doc_id,
str version_id )

Definition at line 211 of file storage.py.

References _get(), and _head_key().

◆ get_release()

Snapshot | None stardesign.storage.S3Backend.get_release ( self,
str user,
str doc_id,
str label )

Definition at line 242 of file storage.py.

References _get().

◆ latest_micro()

Snapshot | None stardesign.storage.S3Backend.latest_micro ( self,
str user,
str doc_id )

Definition at line 214 of file storage.py.

References _get(), and _head_key().

◆ list_micro()

list[dict] stardesign.storage.S3Backend.list_micro ( self,
str user,
str doc_id,
int limit = 50 )

Definition at line 199 of file storage.py.

References _head_key(), _s3, and bucket.

◆ list_releases()

list[dict] stardesign.storage.S3Backend.list_releases ( self,
str user,
str doc_id )

Definition at line 230 of file storage.py.

References _releases_prefix(), _s3, and bucket.

◆ snapshot_micro()

dict stardesign.storage.S3Backend.snapshot_micro ( self,
str user,
str doc_id,
Snapshot data )

Definition at line 195 of file storage.py.

References _head_key(), stardesign.storage._now_iso(), and _put().

Member Data Documentation

◆ _s3

stardesign.storage.S3Backend._s3 = boto3.client("s3")
protected

Definition at line 170 of file storage.py.

Referenced by _get(), _put(), create_release(), list_micro(), and list_releases().

◆ _ud

stardesign.storage.S3Backend._ud = ud
protected

Definition at line 167 of file storage.py.

◆ bucket

stardesign.storage.S3Backend.bucket = bucket

Definition at line 171 of file storage.py.

Referenced by _get(), _put(), create_release(), list_micro(), and list_releases().

◆ prefix

stardesign.storage.S3Backend.prefix = prefix.strip("/")

Definition at line 172 of file storage.py.


The documentation for this class was generated from the following file: