Request
The fetch GET/POST request requires the name of the storage unit and the key to fetch. Optionally the scope can be provided.
GET access/fetch/<storage-unit-name>/<record-key>/<optional:scope>
Response
If the key exists, returns a 200 response code and the content record with the specified scope for the key.
{ "key": "<record-key>", "content": { "<scope>": {...} } }
If the key doesn't exist, a 400 response code and a KEY_NOT_FOUND message is returned.
{"message": "KEY_NOT_FOUND"}
Fetch Multiple
Fetches one or more records by keys from the storage unit by the records keys. If the special $record scope is used or no scope is provided, all scopes are returned. If the zone for the key is not specified as a prefix for the key, the local zone is used.
Request
The fetch multiple request requires the name of the storage unit and optionally the scope can be provided.
In the GET request, the keys are passed in the keys parameter as a comma separated list of values.
GET access/fetchMultiple/<storage-unit-name>/<optional:scope>?keys=APP_ZONE:667E2D4E4344AE4813AD719B88D14EC6,APP_ZONE:E0F57D337D5021236E353C7AB305F147
In the POST request, the keys are passed in the JSON body keys field as an array of values.
POST access/fetchMultiple/<storage-unit-name>/<optional:scope> { "keys": [ "APP_ZONE:667E2D4E4344AE4813AD719B88D14EC6", "APP_ZONE:E0F57D337D5021236E353C7AB305F147" ] }
Response
Returns a 200 response code and an array of records with the specified scope for each key that matched the fetch query, or an empty array if non matched.
[ { "key": "APP_ZONE:667E2D4E4344AE4813AD719B88D14EC6", "content": { "<scope>": {...} } }, { "key": "APP_ZONE:E0F57D337D5021236E353C7AB305F147", "content": { "<scope>": {...} } } ]
Fetch Page
Fetches a batch of records of a specific zone from a storage unit sorted by record key.
Request
The fetch page GET/POST request requires the storage unit name and optionally the scope. Parameters startId (Optional: mongo record id. If not specified, the first page of data will be returned. Use the last id of the returned page as the startId for the next page request), size (10 by default) and zone (local zone by default).
POST access/fetchPage/<storage-unit-name>/<optional:scope>?startId=123456&size=20
Response
Fetch page returns a 200 response code and a response body with a records array with batchSize number of records from zone of the storage unit starting at element startId. To check if more items are available send a new fetchPage request with the last _id of the page's list as the new startId, if the result is an empty array, you have reached the end of the storage unit.
[ { "key": "APP_ZONE:1234567", "version": 3, "content": { "<scope>": { "doc": { "test": "value 3" } } }, "_id": "58793d3e7536e718b41fcf62" }, { "key": "APP_ZONE:1234568", "version": 3, "content": { "<scope>": { "doc": { "test": "value 2" } } }, "_id": "58793d3f7536e718b41fcf65" }, { "key": "APP_ZONE:1234569", "version": 4, "content": { "<scope>": { "doc": { "test": "value 3" } } }, "_id": "58793d3f7536e718b41fcf67" } ]
Fetch all records by zone
Fetch Page can be used to fetch all records from a storage unit.
- Call fetch page without a startId. This will return the first batch of records of size from the storage unit sorted by _id.
- Make subsequent calls with the last _id of the array as the startId.
- Finish when page response returns an empty array.
Get File
Downloads a file attached to a file scope of a record key in a storage unit.
Request
The get file GET request requires the storage unit name, the record key, the file scope and the file name to download (See putFile for upload info).
GET access/getFile/<storage-unit>/<record-key>/<scope>/<file-name>
Response
File is downloaded as a stream of bytes.
If the file doesn't exist, a 400 response code is returned and a FILE_NOT_FOUND message.
Get File Metadata
Returns the metadata associated with the requested file.
Request
The get file metadata GET request requires the storage unit name, the record key, the file scope and the file name (See putFile for upload info).
GET access/getFileMetadata/<storage-unit>/<record-key>/<scope>/<file-name>
Response
Returns a 200 response code and a JSON body with the file metadata.
{ "title": "Logo", "description": "logo-small" }
If the file doesn't exist, a 400 response code is returned and a FILE_NOT_FOUND message.