【发布时间】:2020-03-23 12:29:59
【问题描述】:
我的 DynamoDB 表中有附加的数据结构。 to 是 PartitionKey,from 是排序键。我使用以下 Python Lambda 函数来检索我的所有数据。我目前面临的问题是响应结果没有按时间戳排序(从新到旧)。
def lambda_handler(event, context):
response = table.scan()
return {
'statusCode': 200,
'body': response['Items']
}
DynamoDB 表结构
+-----------+-----------+------------+---------------+-----------+
| to | from | medium | messageBody | timestamp |
+-----------+-----------+------------+---------------+-----------+
| 123456789 | 1234:4321 | somemedium | Hello World 1 | 23422523 |
| 123456789 | 9876:4321 | somemedium | Hello World 2 | 23432529 |
| 123456789 | 4565:3213 | somemedium | Hello World 3 | 23467839 |
| 123456789 | 4565:3323 | somemedium | Hello World 4 | 23533789 |
+-----------+-----------+------------+---------------+-----------+
更新:
import boto3
from boto3.dynamodb.conditions import Key
import logging
import json
import decimal
## Set logger
logger = logging.getLogger()
logger.setLevel(logging.INFO)
## Set DynamoDB
dynamodb = boto3.resource("dynamodb")
table = dynamodb.Table("MyTable")
logger.info(f"CREATED NEW ITEM IN DYANMODB")
def lambda_handler(event, context):
response = table.query(
IndexName='to-timestamp-index',
KeyConditionExpression=Key('to').eq(12345)
)
return {
'statusCode': 200,
'body': response['Items']
}
【问题讨论】:
标签: aws-lambda amazon-dynamodb