class S3AttributeStore extends BlobLayerAttributeStore

Stores and retrieves layer attributes in an S3 bucket in JSON format

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. S3AttributeStore
  2. BlobLayerAttributeStore
  3. AttributeStore
  4. LayerAttributeStore
  5. Serializable
  6. Serializable
  7. AttributeCaching
  8. AnyRef
  9. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new S3AttributeStore(bucket: String, prefix: String, s3Client: ⇒ S3Client = S3ClientProducer.get())

    bucket

    S3 bucket to use for attribute store

    prefix

    path in the bucket for given LayerId

Value Members

  1. def attributePath(id: LayerId, attributeName: String): String
  2. def attributePrefix(attributeName: String): String
  3. def availableAttributes(layerId: LayerId): Seq[String]
    Definition Classes
    S3AttributeStoreAttributeStore
  4. def availableZoomLevels(layerName: String): Seq[Int]

    Return a sequence of available zoom levels for a named layer.

    Return a sequence of available zoom levels for a named layer.

    This function should be re-implemented by AttributeStore subclasses so that catalogs with large numbers of layers can be queried efficiently.

    Definition Classes
    S3AttributeStoreAttributeStore
  5. val bucket: String
  6. def cacheLayerType(layerId: LayerId, layerType: LayerType): LayerType
    Definition Classes
    AttributeCaching
  7. def cacheRead[T](layerId: LayerId, attributeName: String)(implicit arg0: Decoder[T]): T
    Definition Classes
    AttributeCaching
  8. def cacheWrite[T](layerId: LayerId, attributeName: String, value: T)(implicit arg0: Encoder[T]): Unit
    Definition Classes
    AttributeCaching
  9. def clearCache(id: LayerId, attribute: String): Unit
    Definition Classes
    AttributeCaching
  10. def clearCache(id: LayerId): Unit
    Definition Classes
    AttributeCaching
  11. def clearCache(): Unit
    Definition Classes
    AttributeCaching
  12. lazy val client: S3Client
    Annotations
    @transient()
  13. def copy(from: LayerId, to: LayerId, attributes: Seq[String]): Unit
    Definition Classes
    AttributeStore
  14. def copy(from: LayerId, to: LayerId): Unit
    Definition Classes
    AttributeStore
  15. def delete(layerId: LayerId): Unit
    Definition Classes
    S3AttributeStoreAttributeStore
  16. def delete(layerId: LayerId, attributeName: String): Unit
    Definition Classes
    S3AttributeStoreAttributeStore
  17. def isCOGLayer(id: LayerId): Boolean
    Definition Classes
    AttributeStore
  18. def layerExists(layerId: LayerId): Boolean
    Definition Classes
    S3AttributeStoreAttributeStore
  19. def layerIds: Seq[LayerId]
    Definition Classes
    S3AttributeStoreAttributeStore
  20. def layerType(id: LayerId): LayerType
    Definition Classes
    AttributeStore
  21. def layersWithZoomLevels: Map[String, Seq[Int]]

    Return a map with layer names and the list of available zoom levels for each.

    Return a map with layer names and the list of available zoom levels for each.

    This function should be re-implemented by AttributeStore subclasses so that catalogs with large numbers of layers can be queried efficiently.

    Definition Classes
    AttributeStore
  22. def path(parts: String*): String

    NOTE: S3 is eventually consistent, therefore it is possible to write an attribute and fail to read it immediately afterwards.

    NOTE: S3 is eventually consistent, therefore it is possible to write an attribute and fail to read it immediately afterwards. It is not clear if this is a practical concern. It could be remedied by some kind of time-out cache for both read/write in this class.

  23. val prefix: String
  24. def read[T](layerId: LayerId, attributeName: String)(implicit arg0: Decoder[T]): T
    Definition Classes
    S3AttributeStoreAttributeStore
  25. def readAll[T](attributeName: String)(implicit arg0: Decoder[T]): Map[LayerId, T]
    Definition Classes
    S3AttributeStoreAttributeStore
  26. def readCOGLayerAttributes[H, M](id: LayerId)(implicit arg0: Decoder[H], arg1: Decoder[M]): COGLayerAttributes[H, M]
  27. def readHeader[H](id: LayerId)(implicit arg0: Decoder[H]): H
  28. def readKeyIndex[K](id: LayerId)(implicit arg0: ClassTag[K]): KeyIndex[K]
  29. def readKeyIndexes[K](id: LayerId)(implicit arg0: ClassTag[K]): Map[ZoomRange, KeyIndex[K]]
  30. def readLayerAttributes[H, M, K](id: LayerId)(implicit arg0: Decoder[H], arg1: Decoder[M], arg2: ClassTag[K]): LayerAttributes[H, M, K]
  31. def readMetadata[M](id: LayerId)(implicit arg0: Decoder[M]): M
  32. def readSchema(id: LayerId): Schema
  33. def write[T](layerId: LayerId, attributeName: String, value: T)(implicit arg0: Encoder[T]): Unit
    Definition Classes
    S3AttributeStoreAttributeStore
  34. def writeCOGLayerAttributes[H, M](id: LayerId, header: H, metadata: M)(implicit arg0: Encoder[H], arg1: Encoder[M]): Unit
  35. def writeLayerAttributes[H, M, K](id: LayerId, header: H, metadata: M, keyIndex: KeyIndex[K], schema: Schema)(implicit arg0: Encoder[H], arg1: Encoder[M], arg2: ClassTag[K]): Unit