trait WriteEngine extends AnyRef
Engine supporting write operations to the underlying storage
- Alphabetic
 - By Inheritance
 
- WriteEngine
 - AnyRef
 - Any
 
- Hide All
 - Show All
 
- Public
 - Protected
 
Abstract Value Members
-   abstract  def blobChecksum(layer: String, blob: BufferedBlob): Future[Option[String]]
Computes a blob's checksum based on its layer configuration.
Computes a blob's checksum based on its layer configuration.
The algorithm used is defined accordingly to the layer's configuration. If the layer doesn't have the respective field set, then scala.None is returned.
- layer
 the layer that the specified blob is associated to.
- blob
 the blob that will have its checksum computed.
- returns
 a checksum or None if the layer's configuration field is not set.
- Exceptions thrown
 com.here.platform.data.client.DataClientNonRetriableExceptionin case of non-retriable errorcom.here.platform.data.client.DataClientRetriableExceptionin case of retriable error
 -   abstract  def blobCrc(layer: String, blob: BufferedBlob): Future[Option[String]]
Computes a blob's CRC based on its layer configuration.
Computes a blob's CRC based on its layer configuration.
The algorithm used is defined accordingly to the layer's configuration. If the layer doesn't have the respective field set, then scala.None is returned.
- layer
 the layer that the specified blob is associated to.
- blob
 the blob that will have its CRC computed.
- returns
 a CRC or None if the layer's configuration field is not set.
- Exceptions thrown
 com.here.platform.data.client.DataClientNonRetriableExceptionin case of non-retriable errorcom.here.platform.data.client.DataClientRetriableExceptionin case of retriable error
 -   abstract  def completeObjectUpload(layerId: String, key: String, multipartToken: String, parts: ObjectStoreUploadResult): Future[Done]
Complete multi-part upload for object in objectstore
Complete multi-part upload for object in objectstore
- layerId
 the id of the layer
- key
 the key of the object to be uploaded
- multipartToken
 the the token of the multi-part process
- parts
 the information of all the parts uploaded
- returns
 future which completes when blob copy request is sent to server.
- 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 copyObject(layerId: String, key: String, sourceKey: String): Future[Done]
Copies object from one location to other
Copies object from one location to other
- layerId
 the id of the layer
- key
 the key of the destination object
- sourceKey
 the key of the source object
- returns
 future which completes when blob copy request is sent to server.
- 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 deleteObject(layerId: String, key: String): Future[Done]
Deletes the specified object from object store
Deletes the specified object from object store
- layerId
 the id of the layer
- key
 the key of the object to be deleted
- returns
 future which completes when blob deletion request is sent to server.
- 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 publish(partitions: Source[PendingPartition, NotUsed], metricsReporter: Option[MetricReporter], encoder: Option[PartitionEncoder] = None): Future[Done]
Publish new partitions to a catalog and allows to report metrics.
Publish new partitions to a catalog and allows to report metrics.
This method can be used to publish new partitions to stream layer.
- partitions
 partitions to publish.
- metricsReporter
 callback used to report metrics
- encoder
 encodes partition data before adding.
- returns
 future which completes when all partitions are published to server.
- Exceptions thrown
 com.here.platform.data.client.DataClientNonRetriableExceptionin case of non-retriable errorcom.here.platform.data.client.DataClientRetriableExceptionin case of retriable error
 -   abstract  def publish(partitions: Source[PendingPartition, NotUsed]): Future[Done]
Publish new partitions to a catalog.
Publish new partitions to a catalog.
This method can be used to publish new partitions to stream layer.
- partitions
 partitions to publish.
- returns
 future which completes when all partitions are published to server.
- Exceptions thrown
 com.here.platform.data.client.DataClientNonRetriableExceptionin case of non-retriable errorcom.here.platform.data.client.DataClientRetriableExceptionin case of retriable error
 -   abstract  def publish(partitions: Iterator[PendingPartition]): Future[Done]
Publish new partitions to a catalog.
Publish new partitions to a catalog.
This method can be used to publish new partitions to stream layer.
- partitions
 partitions to publish.
- returns
 future which completes when all partitions are published to server.
- Exceptions thrown
 com.here.platform.data.client.DataClientNonRetriableExceptionin case of non-retriable errorcom.here.platform.data.client.DataClientRetriableExceptionin case of retriable error
 -   abstract  def publishBatch2(parallelism: Int, layerIds: Option[Seq[String]], dependencies: Seq[VersionDependency], partitions: Source[PendingPartition, NotUsed], encoder: Option[PartitionEncoder] = None): Future[Done]
Performs new batch publication to a catalog.
Performs new batch publication to a catalog.
This call is identical invoking put for each partitions and later uploading metadata with PublishApi.startBatch2 + PublishApi.publishToBatch + PublishApi.completeBatch
Please note that there can only be one active publication at a time per versioned layer.- parallelism
 define number of parallel operations to upload data to blob service. Optimal value depends on node configuration, RAM, CPU, network, recommended value <= 100 parallel operations. Too high parallelism affecting performance in negative way.
- layerIds
 List of layer ids which should be updated. Note: Publishing versioned and volatile layer partitions in the same publication is not advisable as in this case it increases version number even for volatile layers.
- dependencies
 List of the dependencies for this publication. This is only relevant for publishing to versioned layer.
- partitions
 partitions to commit
- encoder
 encodes partition data before adding.
- returns
 future which completes when all data was sent to blobstore and new version is committed to catalog.
- Exceptions thrown
 com.here.platform.data.client.DataClientNonRetriableExceptionin case of non-retriable errorcom.here.platform.data.client.DataClientRetriableExceptionin case of retriable error
 -   abstract  def publishBatch2(parallelism: Int, layerIds: Option[Seq[String]], dependencies: Seq[VersionDependency], partitions: Iterator[PendingPartition]): Future[Done]
Performs new batch publication to a catalog.
Performs new batch publication to a catalog.
This call is identical invoking put for each partitions and later uploading metadata with PublishApi.startBatch2 + PublishApi.publishToBatch + PublishApi.completeBatch
Please note that there can only be one active publication at a time per versioned layer.- parallelism
 define number of parallel operations to upload data to blob service. Optimal value depends on node configuration, RAM, CPU, network, recommended value <= 100 parallel operations. Too high parallelism affecting performance in negative way.
- layerIds
 List of layer ids which should be updated. Note: Publishing versioned and volatile layer partitions in the same publication is not advisable as in this case it increases version number even for volatile layers.
- dependencies
 List of the dependencies for this publication. This is only relevant for publishing to versioned layer.
- partitions
 partitions to commit
- returns
 future which completes when all data was sent to blobstore and new version is committed to catalog.
- Exceptions thrown
 com.here.platform.data.client.DataClientNonRetriableExceptionin case of non-retriable errorcom.here.platform.data.client.DataClientRetriableExceptionin case of retriable error
 -   abstract  def put(partition: PendingPartition, encoder: Option[PartitionEncoder] = None): Future[CommitPartition]
Adds the selected partition to the underlying to blob service.
Adds the selected partition to the underlying to blob service.
- partition
 the partition to add
- encoder
 encodes partition data before adding.
- returns
 future which completes when data was sent to publish service
- Exceptions thrown
 com.here.platform.data.client.ConflictExceptionif a different blob already exists for the generated BlobIdcom.here.platform.data.client.DataClientNonRetriableExceptionin case of non-retriable errorcom.here.platform.data.client.DataClientRetriableExceptionin case of retriable error
 -   abstract  def simpleUploadObject2(layerId: String, key: String, data: ByteString, contentType: Option[String] = None, contentEncoding: Option[ContentEncoding] = None): Future[Done]
Upload object to objectstore in single request
Upload object to objectstore in single request
NOTE: This function simply uploads 1:1 to object store without any fancy logic. For most use cases we suggest to rather use function
uploadObject2. This function does *NOT*- split large files in smaller upload pieces (more error prone)
 - automatically gzip (means if you define contentEncoding = ContentEncoding.gzip then you need to make sure your data is already gzipped; if not it will lead to an error when you try to read it later or want to see it in HERE platform portal)
 
- layerId
 the id of the layer
- key
 the key of the object to be uploaded
- data
 the data of the object to be uploaded
- returns
 future which completes when blob copy request is sent to server.
- 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 startUploadObject2(layerId: String, key: String, contentType: Option[String] = None, contentEncoding: Option[ContentEncoding] = None): Future[ObjectMultipartToken]
Start multi-part upload for object in objectstore
Start multi-part upload for object in objectstore
- layerId
 the id of the layer
- key
 the key of the object to be uploaded
- returns
 future which completes when blob copy request is sent to server.
- 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 updateObjectTtl(layerId: String, key: String, ttlSeconds: Long): Future[Done]
Updates the TTL for the object stored in Volatile Layer
Updates the TTL for the object stored in Volatile Layer
- layerId
 the id of the layer
- key
 the key of the target object
- ttlSeconds
 new value of ttl for the object
- returns
 future which completes when server update request is sent to server.
- 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-volatile layer
 -   abstract  def uploadAndIndex(partitions: Source[NewPartition, NotUsed]): Future[Done]
Uploads the specified index partition to the underlying to blob service, and indexes it with specified fields in index layer.
Uploads the specified index partition to the underlying to blob service, and indexes it with specified fields in index layer.
- partitions
 the partitions to upload and to index
- returns
 future which completes when partition are published to server.
- Exceptions thrown
 com.here.platform.data.client.DataClientNonRetriableExceptionin case of non-retriable errorcom.here.platform.data.client.DataClientRetriableExceptionin case of retriable error
 -   abstract  def uploadAndIndex(partitions: Iterator[NewPartition]): Future[Done]
Uploads the specified index partition to the underlying to blob service, and indexes it with specified fields in index layer.
Uploads the specified index partition to the underlying to blob service, and indexes it with specified fields in index layer.
- partitions
 the partitions to upload and to index
- returns
 future which completes when partition are published to server.
- Exceptions thrown
 com.here.platform.data.client.DataClientNonRetriableExceptionin case of non-retriable errorcom.here.platform.data.client.DataClientRetriableExceptionin case of retriable error
 -   abstract  def uploadIMLFeatureCollection(layer: String, featureCollection: FeatureCollection, batchSize: Option[Int] = None): Future[Done]
Upload a large FeatureCollection to the Interactive Map Layer
Upload a large FeatureCollection to the Interactive Map Layer
- layer
 the id of the layer
- featureCollection
 the FeatureCollection to upload
- batchSize
 the number of features in an upload batch
- Exceptions thrown
 com.here.platform.data.client.DataClientNonRetriableExceptionin case of non-retriable errorcom.here.platform.data.client.DataClientRetriableExceptionin case of retriable error
 -   abstract  def uploadIMLFeatureModificationList(layer: String, featureModificationList: FeatureModificationList): Future[FeatureCollection]
Upload a FeatureModificationList to the Interactive Map Layer
Upload a FeatureModificationList to the Interactive Map Layer
- layer
 the id of the layer
- featureModificationList
 the FeatureModificationList to upload
- Exceptions thrown
 com.here.platform.data.client.DataClientNonRetriableExceptionin case of non-retriable errorcom.here.platform.data.client.DataClientRetriableExceptionin case of retriable error
 -   abstract  def uploadIMLFeaturesAsSource(layer: String, features: Source[Feature, NotUsed], batchSize: Option[Int] = None): Future[Done]
Upload features to the Interactive Map Layer
Upload features to the Interactive Map Layer
- layer
 the id of the layer
- features
 source of features to be uploaded
- batchSize
 the number of features in an upload batch
- Exceptions thrown
 com.here.platform.data.client.DataClientNonRetriableExceptionin case of non-retriable errorcom.here.platform.data.client.DataClientRetriableExceptionin case of retriable error
 -   abstract  def uploadObject2(layerId: String, key: String, blob: Blob, contentType: Option[String] = None, contentEncoding: Option[ContentEncoding] = None): Future[Done]
Uploads the specified object to object store
Uploads the specified object to object store
- layerId
 the id of the layer
- key
 the key of the object to be uploaded
- blob
 the blob of data that is to be uploaded
- contentType
 the contentType of the data that is to be uploaded. This field is optional. Its default value is "application/octet-stream".
- contentEncoding
 the contentEncoding of the data that is to be uploaded.This field is optional.
- returns
 future which completes when blob is published to server.
- 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 uploadObjectPart(layerId: String, multipartToken: String, partIndex: Int, data: ByteString): Future[ObjectUploadPart]
Upload part of object in objectstore
Upload part of object in objectstore
- layerId
 the id of the layer
- multipartToken
 token of the multipart process
- partIndex
 the number of part
- data
 the data of part to be uploaded
- returns
 future which completes when blob copy request is sent to server.
- 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)