@@ -727,22 +727,34 @@ public function query($input): QueryOutput
727
727
* The `Scan` operation returns one or more items and item attributes by accessing every item in a table or a secondary
728
728
* index. To have DynamoDB return fewer items, you can provide a `FilterExpression` operation.
729
729
*
730
- * If the total number of scanned items exceeds the maximum dataset size limit of 1 MB, the scan stops and results are
731
- * returned to the user as a `LastEvaluatedKey` value to continue the scan in a subsequent operation. The results also
732
- * include the number of items exceeding the limit. A scan can result in no table data meeting the filter criteria.
730
+ * If the total size of scanned items exceeds the maximum dataset size limit of 1 MB, the scan completes and results are
731
+ * returned to the user. The `LastEvaluatedKey` value is also returned and the requestor can use the `LastEvaluatedKey`
732
+ * to continue the scan in a subsequent operation. Each scan response also includes number of items that were scanned
733
+ * (ScannedCount) as part of the request. If using a `FilterExpression`, a scan result can result in no items meeting
734
+ * the criteria and the `Count` will result in zero. If you did not use a `FilterExpression` in the scan request, then
735
+ * `Count` is the same as `ScannedCount`.
733
736
*
734
- * A single `Scan` operation reads up to the maximum number of items set (if using the `Limit` parameter) or a maximum
735
- * of 1 MB of data and then apply any filtering to the results using `FilterExpression`. If `LastEvaluatedKey` is
736
- * present in the response, you need to paginate the result set. For more information, see Paginating the Results [^1]
737
- * in the *Amazon DynamoDB Developer Guide*.
737
+ * > `Count` and `ScannedCount` only return the count of items specific to a single scan request and, unless the table
738
+ * > is less than 1MB, do not represent the total number of items in the table.
739
+ *
740
+ * A single `Scan` operation first reads up to the maximum number of items set (if using the `Limit` parameter) or a
741
+ * maximum of 1 MB of data and then applies any filtering to the results if a `FilterExpression` is provided. If
742
+ * `LastEvaluatedKey` is present in the response, pagination is required to complete the full table scan. For more
743
+ * information, see Paginating the Results [^1] in the *Amazon DynamoDB Developer Guide*.
738
744
*
739
745
* `Scan` operations proceed sequentially; however, for faster performance on a large table or secondary index,
740
746
* applications can request a parallel `Scan` operation by providing the `Segment` and `TotalSegments` parameters. For
741
747
* more information, see Parallel Scan [^2] in the *Amazon DynamoDB Developer Guide*.
742
748
*
743
- * `Scan` uses eventually consistent reads when accessing the data in a table; therefore, the result set might not
744
- * include the changes to data in the table immediately before the operation began. If you need a consistent copy of the
745
- * data, as of the time that the `Scan` begins, you can set the `ConsistentRead` parameter to `true`.
749
+ * By default, a `Scan` uses eventually consistent reads when accessing the items in a table. Therefore, the results
750
+ * from an eventually consistent `Scan` may not include the latest item changes at the time the scan iterates through
751
+ * each item in the table. If you require a strongly consistent read of each item as the scan iterates through the items
752
+ * in the table, you can set the `ConsistentRead` parameter to true. Strong consistency only relates to the consistency
753
+ * of the read at the item level.
754
+ *
755
+ * > DynamoDB does not provide snapshot isolation for a scan operation when the `ConsistentRead` parameter is set to
756
+ * > true. Thus, a DynamoDB scan operation does not guarantee that all reads in a scan see a consistent snapshot of the
757
+ * > table when the scan operation was requested.
746
758
*
747
759
* [^1]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Scan.html#Scan.Pagination
748
760
* [^2]: https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Scan.html#Scan.ParallelScan
0 commit comments