3

よくわかりません。ページ付けを伴うタイムスタンプの逆順を使用してアイテムを効果的にクエリするために、DynamoDBテーブルをどのように設計する必要がありますか?

私はそれを使用ScanIndexForwardしてクエリできることを知っLimitていますLastEvaluatedKeyが、ガイドには次のように書かれています:「クエリ結果は常にASCII文字コード値に基づいて範囲キーでソートされます」

その場合、範囲キーには何を含める必要がありますか?現在、reverseTimestampを使用していますが、これがわかりません。

var request = new QueryRequest()
    .WithTableName("Output")
    .WithLimit(25)
    .WithScanIndexForward(false)
    .WithExclusiveStartKey(new Key { HashKeyElement = new AttributeValue {S = "1"}, 
     RangeKeyElement = new AttributeValue {S = lastKeyEvaluated} })

テーブル内の最新の25アイテムを返します

4

1 に答える 1

2

PythonのDynamoDB-Mapperでは、すべての日付を「W3C日付/時刻形式」(別名「RFC3339」)にシリアル化します。UTF-8テキストソートを使用するときに正しい順序で時間をソートするための優れたプロパティがあります。もう1つの副作用は、タイムスタンプとともにtz情報を保存することです。

于 2012-09-04T16:49:38.797 に答える