当数据源是dynamoDB时,是否有可能对我的AppSync的变异进行业务逻辑处理?
我是GraphQL和Appsync的新手。我的理解是,当您使用纯GraphQL时,可以在解析器内部使用业务逻辑进行更新之前进行验证。当您将带有DynamoDB作为数据源的GraphQL模式传递给AWS AppSync时,如何实现同一目的?
答案 0 :(得分:5)
在AWS AppSync中,您会将解析器附加到映射到DynamoDB数据源的字段。然后,您可以使用Velocity模板将自定义业务逻辑包含在解析器中以进行任何验证。
请参阅AWS的《解析器映射模板》编程指南中的following documentation。
Here is the mapping template reference(用于DynamoDB解析器)。
答案 1 :(得分:1)
根据AWS AppSync's Website:使用AppSync,您的应用程序可以访问Amazon DynamoDB中的数据,触发AWS Lambda函数或运行Amazon Elasticsearch查询。
您可以将其视为客户端访问不同后端(数据源)的网关,该后端由附加到GraphQL字段(解析器)的映射模板定义。
AppSync本机支持DynamoDB和ElasitcSearch查询,但如果要执行业务逻辑,则必须添加AWS Lambda数据源,然后使用AWS SDK来R / W DynamoDB或其他任何东西,例如另一个API,甚至excel文件!
此外,您可以将Apache VTL与AppSync的可用帮助程序(例如$ context)一起使用,以帮助您执行基于权限的授权或字段数据访问。请记住,您的DynamoDB或ES解析器最后只能执行1个操作,Apache VTL仅帮助您构建将由AppSync运行的解析器。
这里有两个图表,它们比较了传统方法和appsync