sealed
trait
ResultPager[TReq, TRes] extends Iterator[Item]
Type Members
-
class
GroupedIterator[B >: A] extends AbstractIterator[Seq[B]] with Iterator[Seq[B]]
Abstract Value Members
-
abstract
def
getCount(result: TRes): Int
-
abstract
def
getItems(result: TRes): List[Map[String, com.amazonaws.services.dynamodbv2.model.AttributeValue]]
-
abstract
def
getLastEvaluatedKey(result: TRes): Map[String, com.amazonaws.services.dynamodbv2.model.AttributeValue]
-
abstract
def
invokeCallback(result: TRes): Unit
-
abstract
def
operation: (TReq) ⇒ TRes
-
abstract
def
request: TReq
-
abstract
def
table: Table
-
abstract
def
withExclusiveStartKey(request: TReq, lastKey: Map[String, com.amazonaws.services.dynamodbv2.model.AttributeValue]): TReq
Concrete Value Members
-
final
def
!=(arg0: AnyRef): Boolean
-
final
def
!=(arg0: Any): Boolean
-
final
def
##(): Int
-
def
++[B >: Item](that: ⇒ GenTraversableOnce[B]): Iterator[B]
-
def
/:[B](z: B)(op: (B, Item) ⇒ B): B
-
def
:\[B](z: B)(op: (Item, B) ⇒ B): B
-
final
def
==(arg0: AnyRef): Boolean
-
final
def
==(arg0: Any): Boolean
-
def
addString(b: StringBuilder): StringBuilder
-
def
addString(b: StringBuilder, sep: String): StringBuilder
-
def
addString(b: StringBuilder, start: String, sep: String, end: String): StringBuilder
-
def
aggregate[B](z: B)(seqop: (B, Item) ⇒ B, combop: (B, B) ⇒ B): B
-
final
def
asInstanceOf[T0]: T0
-
def
buffered: BufferedIterator[Item]
-
def
clone(): AnyRef
-
def
collect[B](pf: PartialFunction[Item, B]): Iterator[B]
-
def
collectFirst[B](pf: PartialFunction[Item, B]): Option[B]
-
def
contains(elem: Any): Boolean
-
def
copyToArray[B >: Item](xs: Array[B], start: Int, len: Int): Unit
-
def
copyToArray[B >: Item](xs: Array[B]): Unit
-
def
copyToArray[B >: Item](xs: Array[B], start: Int): Unit
-
def
copyToBuffer[B >: Item](dest: Buffer[B]): Unit
-
def
corresponds[B](that: GenTraversableOnce[B])(p: (Item, B) ⇒ Boolean): Boolean
-
def
count(p: (Item) ⇒ Boolean): Int
-
def
drop(n: Int): Iterator[Item]
-
def
dropWhile(p: (Item) ⇒ Boolean): Iterator[Item]
-
def
duplicate: (Iterator[Item], Iterator[Item])
-
final
def
eq(arg0: AnyRef): Boolean
-
def
equals(arg0: Any): Boolean
-
def
exists(p: (Item) ⇒ Boolean): Boolean
-
def
filter(p: (Item) ⇒ Boolean): Iterator[Item]
-
def
filterNot(p: (Item) ⇒ Boolean): Iterator[Item]
-
def
find(p: (Item) ⇒ Boolean): Option[Item]
-
def
flatMap[B](f: (Item) ⇒ GenTraversableOnce[B]): Iterator[B]
-
def
fold[A1 >: Item](z: A1)(op: (A1, A1) ⇒ A1): A1
-
def
foldLeft[B](z: B)(op: (B, Item) ⇒ B): B
-
def
foldRight[B](z: B)(op: (Item, B) ⇒ B): B
-
def
forall(p: (Item) ⇒ Boolean): Boolean
-
def
foreach[U](f: (Item) ⇒ U): Unit
-
final
def
getClass(): Class[_]
-
-
def
hasDefiniteSize: Boolean
-
def
hasNext: Boolean
-
def
hashCode(): Int
-
var
index: Int
-
def
indexOf[B >: Item](elem: B): Int
-
def
indexWhere(p: (Item) ⇒ Boolean): Int
-
def
isEmpty: Boolean
-
final
def
isInstanceOf[T0]: Boolean
-
def
isTraversableAgain: Boolean
-
var
items: Seq[Item]
-
var
lastKey: Map[String, com.amazonaws.services.dynamodbv2.model.AttributeValue]
-
def
length: Int
-
def
map[B](f: (Item) ⇒ B): Iterator[B]
-
def
max[B >: Item](implicit cmp: Ordering[B]): Item
-
def
maxBy[B](f: (Item) ⇒ B)(implicit cmp: Ordering[B]): Item
-
def
min[B >: Item](implicit cmp: Ordering[B]): Item
-
def
minBy[B](f: (Item) ⇒ B)(implicit cmp: Ordering[B]): Item
-
def
mkString: String
-
def
mkString(sep: String): String
-
def
mkString(start: String, sep: String, end: String): String
-
final
def
ne(arg0: AnyRef): Boolean
-
def
next(): Item
-
def
nonEmpty: Boolean
-
final
def
notify(): Unit
-
final
def
notifyAll(): Unit
-
def
padTo[A1 >: Item](len: Int, elem: A1): Iterator[A1]
-
var
pageNo: Int
-
def
partition(p: (Item) ⇒ Boolean): (Iterator[Item], Iterator[Item])
-
def
patch[B >: Item](from: Int, patchElems: Iterator[B], replaced: Int): Iterator[B]
-
def
product[B >: Item](implicit num: Numeric[B]): B
-
def
reduce[A1 >: Item](op: (A1, A1) ⇒ A1): A1
-
def
reduceLeft[B >: Item](op: (B, Item) ⇒ B): B
-
def
reduceLeftOption[B >: Item](op: (B, Item) ⇒ B): Option[B]
-
def
reduceOption[A1 >: Item](op: (A1, A1) ⇒ A1): Option[A1]
-
def
reduceRight[B >: Item](op: (Item, B) ⇒ B): B
-
def
reduceRightOption[B >: Item](op: (Item, B) ⇒ B): Option[B]
-
def
reversed: List[Item]
-
def
sameElements(that: Iterator[_]): Boolean
-
def
scanLeft[B](z: B)(op: (B, Item) ⇒ B): Iterator[B]
-
def
scanRight[B](z: B)(op: (Item, B) ⇒ B): Iterator[B]
-
def
seq: Iterator[Item]
-
def
size: Int
-
def
slice(from: Int, until: Int): Iterator[Item]
-
def
sliding[B >: Item](size: Int, step: Int): GroupedIterator[B]
-
def
span(p: (Item) ⇒ Boolean): (Iterator[Item], Iterator[Item])
-
def
sum[B >: Item](implicit num: Numeric[B]): B
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
-
def
take(n: Int): Iterator[Item]
-
def
takeWhile(p: (Item) ⇒ Boolean): Iterator[Item]
-
def
to[Col[_]](implicit cbf: CanBuildFrom[Nothing, Item, Col[Item]]): Col[Item]
-
def
toArray[B >: Item](implicit arg0: ClassTag[B]): Array[B]
-
def
toBuffer[B >: Item]: Buffer[B]
-
def
toIndexedSeq: IndexedSeq[Item]
-
def
toIterable: Iterable[Item]
-
def
toIterator: Iterator[Item]
-
def
toList: List[Item]
-
def
toMap[T, U](implicit ev: <:<[Item, (T, U)]): Map[T, U]
-
def
toSeq: Seq[Item]
-
def
toSet[B >: Item]: Set[B]
-
def
toStream: Stream[Item]
-
def
toString(): String
-
def
toTraversable: Traversable[Item]
-
def
toVector: Vector[Item]
-
final
def
wait(arg0: Long, arg1: Int): Unit
-
final
def
wait(arg0: Long): Unit
-
final
def
wait(): Unit
-
def
withFilter(p: (Item) ⇒ Boolean): Iterator[Item]
-
def
zip[B](that: Iterator[B]): Iterator[(Item, B)]
-
def
zipAll[B, A1 >: Item, B1 >: B](that: Iterator[B], thisElem: A1, thatElem: B1): Iterator[(A1, B1)]
-
def
zipWithIndex: Iterator[(Item, Int)]
Deprecated Value Members
-
def
/:\[A1 >: Item](z: A1)(op: (A1, A1) ⇒ A1): A1
-
def
finalize(): Unit
Inherited from Iterator[Item]
Inherited from TraversableOnce[Item]
Inherited from GenTraversableOnce[Item]
Inherited from AnyRef
Inherited from Any
The ResultPager allows iteration over the results from a DynamoDB query/scan as a single stream of items, handling the necessary paging details in the background.
DynamoDB paginates the result of query/scan operations. The data returned from a Query or Scan operation is limited to 1 MB; this means that if the result set exceeds 1 MB of data, you'll need to perform another Query or Scan operation to retrieve the next 1 MB of data. In addition, the limit parameter controls the number of items that you want DynamoDB to process in a single request before returning results. See http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/QueryAndScan.html#Pagination
Each response from DynamoDB indicates if the processing has reached the end of the dataset, or if another request is needed in order to continue scanning where the last request finished.
When the items from a page is exhausted, the ResultPager will issue a new query/scan for the next page of results, until processing reaches the end of the dataset, or the client stops iterating over the result (as the return value is a Stream[Item])