Jes*_*und 4 amazon-web-services amazon-aurora aws-appsync aws-aurora-serverless
我正在使用无服务器 Aurora 作为我的数据库构建 AppSync 项目,并偶然发现了这个奇怪的错误:
"Can't serialize value (/getUsers/created_at) : Unable to serialize `2019-09-28 07:36:13` as a valid DateTime Object."
Run Code Online (Sandbox Code Playgroud)
当我得到一个如下所示的 User 对象时会发生这种情况:
type Users {
id: String!
name: String!
description: String
created_at: AWSDateTime
updated_at: AWSDateTime
logged_in: AWSDateTime
}
Run Code Online (Sandbox Code Playgroud)
该错误似乎正在发生,因为$utils.rds.toJsonObject($ctx.result)[0][0]无法解析 AWSDateTime。这使得无法从数据库中提供任何带有日期的内容。
如果我只是选择没有日期的对象,["SELECT id,name,description FROM Users WHERE id='$ctx.args.id'"]它工作正常。
那么在 AWS AppSync 和 Aurora 中应该如何处理日期呢?我一直无法在文档中找到处理日期的任何示例或参考。:(
我意外地在与此问题相关的存储库中找到了答案Use AppSync and Amazon RDS with serverless-graphql
事实证明,就像用户dev1702发现的那样,$utils.rds.toJsonObject($ctx.result)[0][0]无法将 RDS 时间戳解析为 GraphQl AWSDate 格式。
因此,只需从以下位置更改 graphql 模式类型:
created_at: AWSDateTime
到:
created_at: String
解决了这个问题。
A 注意:如果您在将您的方案列类型更改为 后遇到此错误AWSDateTime,只需访问 DynamoDB 控制台并更新不是ISO 8601.
| 归档时间: |
|
| 查看次数: |
2798 次 |
| 最近记录: |