ObjectDelimiter Property
The delimiter string to use when listing objects.
Syntax
s3client.getObjectDelimiter([callback]) s3client.setObjectDelimiter( objectDelimiter, [callback])
Default Value
""
Callback
The 'callback' parameter specifies a function which will be called when the operation completes (or an error is encountered). If the 'callback' parameter is not specified, then the method will block and will not return until the operation completes (or an error is encountered).
The callback for the getObjectDelimiter([callback]) method is defined as:
function(err, data){ }
'err' is the error that occurred. If there was no error, then 'err' is 'null'.
'data' is the value returned by the method.
The callback for the setObjectDelimiter([callback]) method is defined as:
function(err){ }
'err' is the error that occurred. If there was no error, then 'err' is 'null'.
'err' has 2 properties which hold detailed information:
err.code err.message
Remarks
If this property is non-empty when ListObjects or ListVersions is called, any objects (or object versions) whose names contain the same string between the specified ObjectPrefix and the first occurrence of the specified delimiter that follow will be rolled up into a "common prefix" element, which is returned in place of the individual objects themselves.
The PrefixList event will fire once for each common prefix returned. If the StorePrefixList configuration setting is enabled, the class will also populate the PrefixCount and Prefix[i] configuration settings
Object Hierarchy Traversal
By using the ObjectDelimiter and ObjectPrefix properties in tandem, applications can effectively "traverse" a virtual hierarchy of objects (or object versions) as if it were a filesystem. For example, assume that objects with the following names exist within a bucket:
- MyCompany/
- MyCompany/Department1/
- MyCompany/Department2/
- MyCompany/Department2/EmployeeA
- MyCompany/Department2/EmployeeB
With ObjectDelimiter set to /, we can set ObjectPrefix to successively "deeper" values before calling ListObjects or ListVersions for the following effect:
ObjectPrefix Value | ObjectDelimiter Value | Objects Returned | Prefixes Returned |
(empty) | / | (none) | MyCompany/ |
MyCompany/ | / | MyCompany/ | MyCompany/Department1/ MyCompany/Department2/ |
MyCompany/Department2/ | / | MyCompany/Department2/ MyCompany/Department2/EmployeeA MyCompany/Department2/EmployeeB | (none) |
This property is not available at design time.
Data Type
String