Retrieving data objects
The Data Lake API provides methods to list and retrieve data objects from the Data Lake. You can retrieve the requested data objects in request with these methods:
- The
streambyfilter
method. - A two-step approach by first calling the list method and then retrieving the details for each item using the
streambyid
method.
This table shows an overview of the available API methods:
Method | Type | Description |
---|---|---|
/v1/payloads/list | GET | Returns a list of data objects and its indexed metadata including its physical address (Data Object ID) that is based on any defined filter criteria. |
/v1/payloads/streambyfilter | GET | Returns data object streams as a multipart mixed message that is based on filter arguments passed in the API request. It can be configured to return both corrupt and non-corrupt objects. |
/v1/payloads/streambyid | GET | Returns a single data object as an octet-stream message that is based on the address of an object stored in Data Lake. Object IDs can be retrieved by passing filter arguments into the /v1/payloads/list API and capturing the dl_id value from the API response. |
/v1/payloads/markcorrupt | PUT | Marks an object dl_corrupt field to true. This object is not returned with the default /v1/payloads/streambyfilter usage. |
By default, content in the Data Lake is both stored and streamed to clients in a compressed state. For exceptionally large content retrievals, especially through the streambyfilter
API, this deflating content method ensures that performance of the gateway and requesting clients remains nominal.
Authorized API applications and RESTful
API clients that are used for API testing can advertise supported content encoding to the server. To stream and persist data in a compressed format, the requesting party can configure their request with the request header:
- Accept-Encoding: deflate
Using the identity value in a request HTTP header, clients can stream their requested content with no encoding in place. This setting is typically configured using the request format:
- Accept-Encoding: identity
Not all clients support the identity value. See your API application or client’s documentation to determine whether these request HTTP header values are supported.