创建在特定事件发生时调用的自定义 appsync 解析器或 lambda 函数
Posted
技术标签:
【中文标题】创建在特定事件发生时调用的自定义 appsync 解析器或 lambda 函数【英文标题】:Creating custom appsync resolvers or lambda functions that are called when a certain event happens 【发布时间】:2019-11-29 15:58:05 【问题描述】:我正在使用 AppSync 开发一个应用程序,并且我需要一些自定义,例如 - 我想要一个邀请模型,它有一个 id
是邀请码,并且有一个连接到用户的 user
字段在模型中,每当创建用户时,输入都需要提供邀请 ID(邀请码),但它仅将用户连接到邀请,而不是对用户的邀请。
我曾尝试阅读有关自定义解析器的信息,但它们使用一种很难学习的特殊语言,因为它们的文档没有那么有用。 我尝试寻找如何使用 aws amplify 制作 lambda 函数,然后我遇到了这个问题https://github.com/aws-amplify/amplify-cli/issues/997。
所以我目前需要的功能是 - 管理员创建和邀请模型并为其提供一个 id 和一个最初为 null 的用户字段。当创建用户(也是模型)时,输入字段之一是将邀请连接到用户的邀请 ID,因此我可以在查询用户时获得邀请,但是这样我无法通过邀请查询用户,所以我想做一个 lambda 函数,在创建用户后将用户 ID 连接到邀请表,我该怎么做呢?
【问题讨论】:
【参考方案1】:有几种方法可以解决这个问题。最简单的可能是设置管道解析器。请参阅此处的文档 https://docs.aws.amazon.com/appsync/latest/devguide/pipeline-resolvers.html
本质上,您将设置一个 createUser 突变,解析器是 Pipeline。在第一个函数中,您将创建您的用户,在接下来的下一个函数中,您将用户 ID 连接到邀请。
请务必遵循此处有关管道解析器的一些教程,因为这将解决您的用例:https://docs.aws.amazon.com/appsync/latest/devguide/tutorial-pipeline-resolvers.html#aws-appsync-tutorial-pipeline-resolvers
【讨论】:
使用管道解析器,我可以访问 AppSync 创建的 DynamoDB 表(使用 lambda 解析器,而不是 VTL 解析器)? 你知道如何使用放大命令行来做到这一点吗?我找不到文档。谢谢。以上是关于创建在特定事件发生时调用的自定义 appsync 解析器或 lambda 函数的主要内容,如果未能解决你的问题,请参考以下文章