我可以使用get查询来查询主键以外的值吗?因为我似乎只能传递id列,但是没有办法可以对id列以外的列执行get查询。 还是我可以使用过滤器或其他方法对普通列表查询执行此操作?感谢您的帮助!
答案 0 :(得分:0)
是的,您可以通过AppSync发出任何DynamoDB查询。这提供了很好的介绍,涵盖了PutItem,UpdateItem和GetItem https://docs.aws.amazon.com/appsync/latest/devguide/tutorial-dynamodb-resolvers.html。如果需要通过键获取多个值,则应使用DynamoDB查询操作https://docs.aws.amazon.com/appsync/latest/devguide/resolver-mapping-template-reference-dynamodb.html#aws-appsync-resolver-mapping-template-reference-dynamodb-query。
使用DynamoDB时,您需要将访问模式烘烤到DynamoDB表和辅助索引的关键架构中。例如,如果您想通过“电子邮件”获取记录,则应创建一个哈希键为“电子邮件”的表。然后,您将可以通过“电子邮件”执行GetItem操作。如果您需要通过电子邮件查询并按日期对记录进行排序,则需要一个表,其中哈希键为“ email”, sort 键为“ date” 。等等。
您能够创建二级索引,并且如果您想获得更高级的信息,则可以创建复合索引值和重载索引,以针对访问模式优化DynamoDB表。检出DynamoDB文档以了解更多https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/bp-indexes.html。