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.