A developer is optimizing a backend order-management microservice for a high-volume retail application. The application stores order details in an Amazon DynamoDB table. The base table has `CustomerID` as the partition key and `OrderID` as the sort key. The average size of an item in the base table is .
The developer needs to support a new dashboard feature that frequently retrieves the `OrderID`, `OrderDate`, and `TotalAmount` for all orders that have an `OrderStatus` of `BACKORDERED`. These results must be returned chronologically by `OrderDate`. The dashboard is expected to perform individual query requests per second, each retrieving a single order's projected fields. The dashboard can tolerate eventually consistent data. The average size of the projected attributes (`OrderID`, `OrderDate`, `TotalAmount`) along with the primary keys is .
Which configuration will meet these requirements with the lowest latency and lowest provisioned Read Capacity Units (RCUs)?
- ACreate a Global Secondary Index (GSI) with `OrderStatus` as the partition key and `OrderDate` as the sort key. Configure the GSI projection type to `ALL`. Provision for the GSI.
- Create a Global Secondary Index (GSI) with `OrderStatus` as the partition key and `OrderDate` as the sort key. Configure the GSI projection type to `INCLUDE` and project `TotalAmount`. Provision for the GSI.Cevap
- CPerform a Scan operation on the base table using a FilterExpression on `OrderStatus` to filter for `BACKORDERED` items, and provision on the base table.
- DConfigure the application to query the base table using a FilterExpression on `OrderStatus`, initializing the DynamoDB client by passing hardcoded IAM Access Keys directly into the AWS SDK client constructor.