无法从Elasticsearch序列化AWSDate

问题描述 投票:0回答:1

我正在使用AWS Elasticsearch服务作为我的数据库来构建AppSync项目,并在查询时出现此错误:

“无法序列化值(/ getUsers / created_at):无法序列化2020-01-18T07:36:13作为有效的DateTime对象。“

当我得到一个看起来像这样的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的用途是什么。

amazon-web-services elasticsearch graphql aws-appsync
1个回答
0
投票

查看AWS AppSync文档,似乎对于此标量而言,时区偏移是强制性的(即AWSDateTime)。从您的示例来看,似乎丢失了,因为在秒字段之后没有任何内容。您可以尝试自己附加时区偏移量,在这种情况下,它将正确序列化。

© www.soinside.com 2019 - 2024. All rights reserved.