O tipo de dados String deve ser usado para Data ou Timestamp.
Você pode usar o tipo de dados String para representar uma data ou um carimbo de data / hora. Uma maneira de fazer isso é usando strings ISO 8601, conforme mostrado nestes exemplos:
15/02/2016
2015-12-21T17: 42: 34Z
20150311T122706Z
Tipo de dados DynamoDB para data ou carimbo de data / hora
Sim, as consultas de intervalo são suportadas quando a data é armazenada como String. O BETWEEN pode ser usado em FilterExpresssion. Peguei os itens no resultado usando as expressões de filtro abaixo.
FilterExpression sem hora: -
FilterExpression : 'createdate between :val1 and :val2',
ExpressionAttributeValues : {
':hkey' : year_val,
':rkey' : title,
":val1" : "2010-01-01",
":val2" : "2010-12-31"
}
FilterExpression com o tempo: -
FilterExpression : 'createdate between :val1 and :val2',
ExpressionAttributeValues : {
':hkey' : year_val,
':rkey' : title,
":val1" : "2010-01-01T00:00:00",
":val2" : "2010-12-31T00:00:00"
}
Valores do banco de dados: -
Formato 1 - com fuso horário:
{"Item":{"createdate":{"S":"2010-12-21T17:42:34+00:00"},"title":{"S":"The Big New Movie 2010"},"yearkey":{"N":"2010"},"info":{"M":{"rating":{"N":"0"},"plot":{"S":"Nothing happens at all."}}}}}
Formato 2 - sem fuso horário: -
{"Item":{"createdate":{"S":"2010-12-21T17:42:34Z"},"title":{"S":"The Big New Movie 2010"},"yearkey":{"N":"2010"},"info":{"M":{"rating":{"N":"0"},"plot":{"S":"Nothing happens at all."}}}}}