in warehouse/src/table_update/main.py [0:0]
def get_products(order_id: str) -> List[dict]:
"""
Retrieve products from the DynamoDB table
"""
res = table.query(
KeyConditionExpression=Key("orderId").eq(order_id),
Limit=100
)
logger.info({
"message": "Retrieving {} products from order {}".format(
len(res.get("Items", [])), order_id
),
"operation": "query",
"orderId": order_id
})
products = res.get("Items", [])
while res.get("LastEvaluatedKey", None) is not None:
res = table.query(
KeyConditionExpression=Key("orderId").eq(order_id),
ExclusiveStartKey=res["LastEvaluatedKey"],
Limit=100
)
logger.info({
"message": "Retrieving {} products from order {}".format(
len(res.get("Items", [])), order_id
),
"operation": "query",
"orderId": order_id
})
products.extend(res.get("Items", []))
return products