0

以下の関数は、単純であるべきですか?これも私が思ったことです。それでも、私の人生のために、「ValidationException」というエラーメッセージが表示され続けていることがわかりません。「Query key condition not supported」というエラーが表示されます。AWS DocumentClientがセカンダリインデックスクエリより少ない - 「クエリキー条件がサポートされていません」

const getUpdated = (refreshDatetime, callback) => { 

    refreshDatetime = parseInt(refreshDatetime); 

    docClient.query({ 
    TableName: 'aw-reach', 
    IndexName: 'updateDatetime-index', 
    KeyConditionExpression: ':refreshDatetime < updateDatetime', 
    ExpressionAttributeValues: { 
     ':refreshDatetime': refreshDatetime, 
    } 
    }, (error, data) => { 
    if (error) callback(error, null); 
    callback(null, data.Items); 
    }); 
}; 

ちょうど私が(同様に異なる可能性が)信じられないほど愚かな何かをやっておりませんことを確認するために、ここで私がテストするために使用していスニペットがあります。

const refreshDatetime = Date.parse('01 Jan 2015'); 
getUpdated(refreshDatetime, (error, response) => { 
    console.log(JSON.stringify(response)); 
}); 

洞察やアイデアは間違いなく私の最強の才能ではありません、でもこの小さなコードを歓迎し、大幅に書き込みコードとして評価されています!

更新:詳細を追加するには、私のハッシュキーはreachIdで、私のセカンダリインデックスに関連する私のパーティションキーはupdateDatetimeです。

enter image description here

+0

は、あなたのハッシュキーをrefreshDatetimeしていますか? –

+0

インデックスに関連付けられたパーティションキーです。 – knu2xs

答えて

2

DynamoDBのは、ハッシュ/パーティション・キーの「=」を除いて、他の条件を使用することはできません。

オプションで範囲/ソートキーには他の式を使用できますが、ハッシュキーには使用できません。

は参照してください:Documentation link

Another post with similar problem

に役立ちます願っています。

+0

説明とドキュメントへのリンクがありがとうございます。私はドキュメンテーションを歩き回っていましたが、私は同じトピックに関するドキュメンテーションが見つかることができるすべての異なる場所間で迷う傾向があります。乾草の針を見つけるのを手伝ってくれてありがとう! – knu2xs

関連する問題