Я пытаюсь пропустить все строки после определенной отметки времени.
Я также пытался использовать "GE", "LE", "GT" в условии, но я получаю синтаксическую ошибку.
Я получаю следующую ошибку DynamoDB:
Internal Server Error [ValidationException: Query key condition not supported
status code: 400,
У меня есть следующая таблица
Table name GroupsLambda3
Primary partition key id (String)
Primary sort key -
Point-in-time recovery DISABLEDEnable
Encryption Type DEFAULTManage Encryption
KMS Master Key ARN Not Applicable
Time to live attribute DISABLEDManage TTL
Тогда я создал вторичный индекс для
Name: unix_time-index
Status: Active
Type: GSI
Partition Key: unix_time (Number)
Sort Key: unix_time-index
Наконец мой код Голанга:
var cond string
cond = "unix_time <= :v_unix_time"
var projection string
projection = "id, num_users, salesforce_campaign, unix_time"
input := &dynamodb.QueryInput{
TableName: aws.String(table),
IndexName: aws.String("unix_time-index"),
KeyConditionExpression: &cond,
ProjectionExpression: &projection,
ExpressionAttributeValues: map[string]*dynamodb.AttributeValue{
":v_unix_time": {
N: aws.String("1558130473454419"),
},
},
Код работает, когда я cond = "unix_time = :v_unix_time"
, равно только.
Я ожидаю, что все строки с меньшей unix_timestamp.