trait ReadEngine extends AnyRef
Engine supporting read operations against the underlying volume.
- Alphabetic
- By Inheritance
- ReadEngine
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Abstract Value Members
-
abstract
def
asDataFlow(parallelism: Int = 10): Flow[Partition, Array[Byte], NotUsed]
Retrieves an akka stream Flow that download bytes for each partition.
Retrieves an akka stream Flow that download bytes for each partition.
- parallelism
Number of parallelism used to request data to blob service.
- returns
the akka flow
-
abstract
def
exists(layerId: String, dataHandle: String): Future[Boolean]
Checks if a blob exists for the requested data handle.
Checks if a blob exists for the requested data handle.
- layerId
the ID of the layer that the blob belongs to
- dataHandle
the data handle identifies a specific blob so that you can get that blob's contents
- returns
true, if blob exists for the requested data handle, otherwise false.
- Exceptions thrown
com.here.platform.data.client.DataClientNonRetriableException
in case of non-retriable errorcom.here.platform.data.client.DataClientRetriableException
in case of retriable errorjava.lang.UnsupportedOperationException
in case method called for non-version layer
-
abstract
def
exportIMLFeatures(layer: String, batchSize: Option[Int] = None): Source[Seq[Feature], NotUsed]
Exports all the features from Interactive Map Layer
Exports all the features from Interactive Map Layer
- layer
the id of the layer
- batchSize
the batch size to iterate from Interactive Map Layer
- returns
Source of Feature list from Interactive Map Layer
- Exceptions thrown
com.here.platform.data.client.DataClientNonRetriableException
in case of non-retriable errorcom.here.platform.data.client.DataClientRetriableException
in case of retriable error
-
abstract
def
get[A](partition: Partition, dataBytesInterpreter: (Array[Byte]) ⇒ A, decoder: Option[PartitionDecoder] = None): Future[A]
Retrieves the blob data associated with the partition and transform data with
dataBytesInterpreter
functionRetrieves the blob data associated with the partition and transform data with
dataBytesInterpreter
function- partition
the partition to retrieve
- dataBytesInterpreter
function to transform blob associated with partition
- decoder
decodes partition data and passes it to the dataBytesInterpreter.
- returns
blob data associated with the partition transformed with
dataBytesInterpreter
- Exceptions thrown
com.here.platform.data.client.DataClientNonRetriableException
in case of non-retriable errorcom.here.platform.data.client.DataClientRetriableException
in case of retriable errorcom.here.platform.data.client.NotFoundException
in case the partition doesn't have associated payload (e.g. for expired volatile data)
-
abstract
def
getDataAsBytes(partition: Partition, range: ByteRange = AllBytes, decoder: Option[PartitionDecoder] = None, applyDecompression: Boolean = true): Future[Array[Byte]]
Retrieves the blob data associated with the partition as array of bytes
Retrieves the blob data associated with the partition as array of bytes
- partition
the partition to retrieve
- range
the range of bytes to retrieve. This parameter should be set to
AllBytes
when the specified partition is in a versioned layer with compression enabled, or when the partition is in a volatile layer.- decoder
decodes partition data prior to returning.
- applyDecompression
decides whether decompression is applied for the compressed partition data.
- Exceptions thrown
com.here.platform.data.client.DataClientNonRetriableException
in case of non-retriable errorcom.here.platform.data.client.DataClientRetriableException
in case of retriable error* @return blob data associated with the partition as array of bytes, or failed with a NotFoundException when the partition doesn't have associated payload (e.g. for expired volatile data)com.here.platform.data.client.NotFoundException
in case the partition doesn't have associated payload (e.g. for expired volatile data)- Note
This method could be used only for downloading data less than 2GB. In other cases getDataAsSource() should be used
-
abstract
def
getDataAsSource(partition: Partition, range: ByteRange = AllBytes, decoder: Option[PartitionDecoder] = None, applyDecompression: Boolean = true): Future[Source[ByteString, NotUsed]]
Retrieves the blob data associated with the partition as source
Retrieves the blob data associated with the partition as source
Source returned by this function *MUST BE* consumed or cancelled. If accidentally left neither consumed or cancelled it will be assumed the incoming data should remain back-pressured, and will stall the incoming data via TCP back-pressure mechanisms. Such stall connection can exhaust DataClient connection pool.
- partition
the partition to retrieve
- range
the range of bytes to retrieve. This parameter should be set to
AllBytes
when the specified partition is in a versioned layer with compression enabled, or when the partition is in a volatile layer.- decoder
adds source map that decodes partition data.
- applyDecompression
decides whether decompression is applied for the compressed partition data.
- returns
blob data associated with the partition as source
- Exceptions thrown
com.here.platform.data.client.DataClientNonRetriableException
in case of non-retriable errorcom.here.platform.data.client.DataClientRetriableException
in case of retriable errorcom.here.platform.data.client.NotFoundException
in case the partition doesn't have associated payload (e.g. for expired volatile data)
-
abstract
def
getObjectDataAsBytes2(layerId: String, key: String, applyDecompression: Boolean, range: ByteRange = AllBytes): Future[Array[Byte]]
Retrieves the blob data associated with provided key as an Array of bytes.
Retrieves the blob data associated with provided key as an Array of bytes.
- layerId
the id of the layer
- key
the key of the object to get data for
- applyDecompression
decides whether decompression is applied for the object data.
- range
the range of bytes to retrieve
- returns
Blob data associated with key as an Array of bytes.
- Exceptions thrown
com.here.platform.data.client.DataClientNonRetriableException
in case of non-retriable errorcom.here.platform.data.client.DataClientRetriableException
in case of retriable errorcom.here.platform.data.client.NotFoundException
in case of the key doesn't existjava.lang.UnsupportedOperationException
in case method called for non-objectstore layer
-
abstract
def
getObjectDataAsSource2(layerId: String, key: String, applyDecompression: Boolean, range: ByteRange = AllBytes): Future[Source[ByteString, NotUsed]]
Retrieves the blob data associated with provided key as source.
Retrieves the blob data associated with provided key as source.
- layerId
the id of the layer
- key
the key of the object to get data for
- applyDecompression
decides whether decompression is applied for the object data.
- range
the range of bytes to retrieve
- returns
Blob data associated with key as source.
- Exceptions thrown
com.here.platform.data.client.DataClientNonRetriableException
in case of non-retriable errorcom.here.platform.data.client.DataClientRetriableException
in case of retriable errorcom.here.platform.data.client.NotFoundException
in case of the key doesn't existjava.lang.UnsupportedOperationException
in case method called for non-objectstore layer
-
abstract
def
getObjectMetadata(layerId: String, key: String): Future[ObjectMetadata]
Retrieves metadata of the key provided in request
Retrieves metadata of the key provided in request
- layerId
the id of the layer
- key
the key for which metadata is requested
- returns
metadata associated with the specified key
- Exceptions thrown
com.here.platform.data.client.DataClientNonRetriableException
in case of non-retriable errorcom.here.platform.data.client.DataClientRetriableException
in case of retriable errorcom.here.platform.data.client.NotFoundException
in case of the key doesn't existjava.lang.UnsupportedOperationException
in case method called for non-objectstore layer
-
abstract
def
listObjects(layerId: String, parent: Option[String], deepListEnabled: Boolean = false, pageSize: Option[Int] = None): Source[ObjectStoreListItem, NotUsed]
Retrieves Source of elements under the provided parent key.
Retrieves Source of elements under the provided parent key.
If no parent key is provided, root of the layer is used as default key.
- layerId
the id of the layer
- parent
the key under which listing items are requested
- deepListEnabled
in case the flag is set to true all results appear as complete objects
- pageSize
optional number of objects that are fetched internally per request
- returns
Source of the listing elements.
- Exceptions thrown
com.here.platform.data.client.DataClientNonRetriableException
in case of non-retriable errorcom.here.platform.data.client.DataClientRetriableException
in case of retriable errorjava.lang.UnsupportedOperationException
in case method called for non-objectstore layer
-
abstract
def
listObjectsAsCollection(layerId: String, parent: Option[String], deepListEnabled: Boolean = false, pageSize: Option[Int] = None): Future[List[ObjectStoreListItem]]
Retrieves List of elements under the provided parent key.
Retrieves List of elements under the provided parent key. If you have lots of objects under the given parent they might not fit in memory, in this case please use listObjects(layerId: String, parent: Option[String], deepListEnabled: Boolean = false)
If no parent key is provided, root of the layer is used as default key.
- layerId
the id of the layer
- parent
the key under which listing items are requested
- deepListEnabled
in case the flag is set to true all results appear as complete objects
- pageSize
optional number of objects that are fetched internally per request
- returns
List of the elements
- Exceptions thrown
com.here.platform.data.client.DataClientNonRetriableException
in case of non-retriable errorcom.here.platform.data.client.DataClientRetriableException
in case of retriable errorjava.lang.UnsupportedOperationException
in case method called for non-objectstore layer
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()