-
Notifications
You must be signed in to change notification settings - Fork 19
Open
Description
Create a BESCatalog implementation for an s3 bucket that utilizes the "/" character in object names to delimit the nodes in the catalog graph.
The s3-catalog should support the dmr++ system inherently;
- Their should be configuration settings for both the data bucket and the dmr++ bucket (these might be the same but then, maybe not)
- When the catalog identifies a "leaf" object that it recognizes as data (or maybe just a leaf regardless of identity) it should look in the dmr++ bucket to see if a dmr++ exists for the object.
- If a dmr++ is available then retrieve it (caching) and use it to build the various service responses.
- If no dmr++ is available then the catalog should attempt to make one?
- Get the source object (pull it from S3 - threading??) and cache it.
- If we aren't going to match the object name to a data reader (i.e. hdf5_handler) using a regex then we may need to inspect the object's content (range GET) to see if it's a file type for which we can create a dmr++.
- If we can make a dmr++ then do so a write it to the dmr++ bucket as
<object_name>.dmrpp - If we can't make a dmr++ then try to match the downloaded object with a data handler and serve the data that way.