我正在使用AWS elasticsearch服务作为数据库来构建AppSync项目,并在查询时收到此错误:
当我得到一个如下所示的User对象时,就会发生这种情况:
type Users {
id: String!
name: String!
description: String
created_at: AWSDateTime
updated_at: AWSDateTime
logged_in: AWSDateTime
}
elasticsearch中存储的数据为字符串类型,其格式为:2020-01-18T07:36:13。
我看到过类似的帖子,但找不到任何解决方案。所以,有什么办法,我应该在响应映射模板中将其反序列化为AWSDataTime,或者应该以某种日期格式存储在elasticsearch中。
我从Unable to serialise AWSDate from RDS in AppSync response mapping template这篇文章中得到的一种解决方案是将日期的类型设置为String。但是,AWSDateTime的用途是什么。
最佳答案
查看AWS AppSync文档,似乎此标量(AWSDateTime)是必需的时区偏移量。从您的示例看来,这似乎丢失了,因为秒字段之后没有任何内容。您可以尝试自己附加时区偏移量,在这种情况下,它将正确序列化。