import { DynamoDBClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../DynamoDBClient"; import { ScanInput, ScanOutput } from "../models/models_0"; import { deserializeAws_json1_0ScanCommand, serializeAws_json1_0ScanCommand } from "../protocols/Aws_json1_0"; import { getSerdePlugin } from "@aws-sdk/middleware-serde"; import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@aws-sdk/protocol-http"; import { Command as $Command } from "@aws-sdk/smithy-client"; import { FinalizeHandlerArguments, Handler, HandlerExecutionContext, MiddlewareStack, HttpHandlerOptions as __HttpHandlerOptions, MetadataBearer as __MetadataBearer, SerdeContext as __SerdeContext, } from "@aws-sdk/types"; export interface ScanCommandInput extends ScanInput {} export interface ScanCommandOutput extends ScanOutput, __MetadataBearer {} /** *
The Scan operation returns one or more items and item attributes by accessing every
* item in a table or a secondary index. To have DynamoDB return fewer items, you can provide a FilterExpression operation.
If the total number of scanned items exceeds the maximum dataset size limit of 1 MB, the
* scan stops and results are returned to the user as a LastEvaluatedKey value
* to continue the scan in a subsequent operation. The results also include the number of
* items exceeding the limit. A scan can result in no table data meeting the filter
* criteria.
A single Scan operation reads up to the maximum number of items set (if
* using the Limit parameter) or a maximum of 1 MB of data and then apply any
* filtering to the results using FilterExpression. If
* LastEvaluatedKey is present in the response, you need to paginate the
* result set. For more information, see Paginating the
* Results in the Amazon DynamoDB Developer Guide.
* Scan operations proceed sequentially; however, for faster performance on
* a large table or secondary index, applications can request a parallel Scan
* operation by providing the Segment and TotalSegments
* parameters. For more information, see Parallel
* Scan in the Amazon DynamoDB Developer Guide.
* Scan uses eventually consistent reads when accessing the data in a
* table; therefore, the result set might not include the changes to data in the table
* immediately before the operation began. If you need a consistent copy of the data, as of
* the time that the Scan begins, you can set the ConsistentRead
* parameter to true.