DynamoDBのクエリの書き方@boto3メモ。忘れがちなあなたに。
DynamoDBのテーブルの項目定義
パーティションキー:primary_id
ソートキー :sort_id
属性1 :timestamp
コード
a = client.query(
TableName='table-name',
# Limit=500,
KeyConditionExpression='primary_id = :id and begins_with(sort_id, :sort_id)', # 主キー向けのクエリ
# FilterExpression='#tstamp > :st and #tstamp <= :ed', # 属性向けのクエリ
# ExpressionAttributeNames={
# '#tstamp': 'timestamp' # timestampが予約語になっていて使えなので代替する
# },
ExpressionAttributeValues={
':id':{'S':'primary_001'},
':sort_id':{'S':f'sort_2020080101'},
# ':st':{'N':'202008010000'},
# ':ed':{'N':'202008010010'},
},
# ExclusiveStartKey={'primary_id': {'S': 'xxxx'}, 'sort_id': {'S': 'yyyy'}},
)