trait ReadEngine extends AnyRef
Engine supporting read operations against the underlying volume.
- Alphabetic
- By Inheritance
- ReadEngine
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def asDataFlow(parallelism: Int = 10): Flow[Partition, Array[Byte], NotUsed]
Retrieves an pekko stream Flow that download bytes for each partition.
Retrieves an pekko stream Flow that download bytes for each partition.
- parallelism
Number of parallelism used to request data to blob service.
- returns
the pekko 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.DataClientNonRetriableExceptionin case of non-retriable errorcom.here.platform.data.client.DataClientRetriableExceptionin case of retriable errorjava.lang.UnsupportedOperationExceptionin 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.DataClientNonRetriableExceptionin case of non-retriable errorcom.here.platform.data.client.DataClientRetriableExceptionin 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
dataBytesInterpreterfunctionRetrieves the blob data associated with the partition and transform data with
dataBytesInterpreterfunction- 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.DataClientNonRetriableExceptionin case of non-retriable errorcom.here.platform.data.client.DataClientRetriableExceptionin case of retriable errorcom.here.platform.data.client.NotFoundExceptionin 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
AllByteswhen 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.DataClientNonRetriableExceptionin case of non-retriable errorcom.here.platform.data.client.DataClientRetriableExceptionin 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.NotFoundExceptionin 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
AllByteswhen 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.DataClientNonRetriableExceptionin case of non-retriable errorcom.here.platform.data.client.DataClientRetriableExceptionin case of retriable errorcom.here.platform.data.client.NotFoundExceptionin 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.DataClientNonRetriableExceptionin case of non-retriable errorcom.here.platform.data.client.DataClientRetriableExceptionin case of retriable errorcom.here.platform.data.client.NotFoundExceptionin case of the key doesn't existjava.lang.UnsupportedOperationExceptionin 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.DataClientNonRetriableExceptionin case of non-retriable errorcom.here.platform.data.client.DataClientRetriableExceptionin case of retriable errorcom.here.platform.data.client.NotFoundExceptionin case of the key doesn't existjava.lang.UnsupportedOperationExceptionin 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.DataClientNonRetriableExceptionin case of non-retriable errorcom.here.platform.data.client.DataClientRetriableExceptionin case of retriable errorcom.here.platform.data.client.NotFoundExceptionin case of the key doesn't existjava.lang.UnsupportedOperationExceptionin 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.DataClientNonRetriableExceptionin case of non-retriable errorcom.here.platform.data.client.DataClientRetriableExceptionin case of retriable errorjava.lang.UnsupportedOperationExceptionin 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.DataClientNonRetriableExceptionin case of non-retriable errorcom.here.platform.data.client.DataClientRetriableExceptionin case of retriable errorjava.lang.UnsupportedOperationExceptionin 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(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @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
- @IntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
(Since version 9)