У меня есть таблица с пользователями, где я хочу опросить всех пользователей, созданных в апреле.
Когда пользователь создается, для него автоматически создается временная метка.
Я сделал индекс в своей таблице, отметка времени в качестве ключа раздела и идентификатор в качестве ключа сортировки.
Метка времени указывается в миллисекундах Unix.
Это мой код для этого запроса:
GetUsersOnTimestamp(): Promise<any> {
return new Promise( (resolve, reject) => {
const _dynamoDB = new AWS.DynamoDB.DocumentClient();
const startDate = 1554069600000;
const endDate = 1556661600000;
const params = {
TableName: 'user-table',
IndexName: 'timestamp-id-index',
KeyConditionExpression: '#timestamp = :hkey BETWEEN :sdate AND :edate',
ExpressionAttributeNames: {
'#timestamp': 'timestamp'
},
ExpressionAttributeValues: {
':hkey': 'timestamp',
':sdate': startDate,
':edate': endDate,
}
};
Я получаю следующую ошибку:
ExpressionAttributeValues contains invalid key: Syntax error; key: "hkey"