SwarmNFS lets you specify each view (export) from all of the content object types stored within Swarm: unnamed mutable (alias), unnamed immutable, and named objects. Here is the essential difference between object types:
- Unnamed objects - SwarmNFS lets you read, update, and delete both mutable (alias) and immutable unnamed objects, but not create new ones.
- Named objects - SwarmNFS provides full create, read, update, and delete support for named objects.
For manageability, the exact objects that a client sees when connected to SwarmNFS is filtered by type or other subset. Hierarchies are presented to the degree possible. There are two types of hierarchy available in Swarm:
- Bucket level, for named objects
- Domain level, for unnamed objects
Note
Objects created outside of a SwarmNFS server take longer to appear in SwarmNFS listings. The delay is up to twice the value of the Batch Timeout for the Search Feed.
Named Object Listings
To present named object listings as if they were in a traditional file system, SwarmNFS creates a simulation: it translates each forward slash (/) in any object name into a traditional directory delimiter. SwarmNFS then presents a view of objects at the simulated directory level. For example, suppose these named objects exist in the bucket “AcmeBucket
”:
/Sales/Leads/campaigns/2016/Jan/list.xls /Sales/Leads/campaigns/2016/Feb/list.xls /Sales/Leads/campaigns/addword.xls /Sales/Leads/campaigns/partners.xls
Note
By default, for a client request for a bucket-level listing, SwarmNFS provides a simulated view of the first level of contents within the bucket:
Each client request to open a specific directory level within the bucket (such as /Sales/Leads/campaigns
) returns a new listing for that context:
If the user requests a listing for a file (such as Sales/Leads/campaigns/addword.xls
) then only that single file would be returned.
If an end user creates a new directory (such as AcmeBucket/Sales/Leads/campaigns/2016/Mar
), SwarmNFS creates a new empty object with Directory attribute metadata, which marks it as a simulated directory.
Note
Keep in mind that simulated directory objects only exist to support the expectations of end users and applications: objects can be written to a new virtual directory just by including it in the pathname.