繁体   English   中英

具有业务逻辑的AWS Appsync + DynamoDB

[英]AWS Appsync + DynamoDB with business logic

当数据源是dynamoDB时,是否有可能在我的AppSync突变上有业务逻辑?

我是GraphQL和Appsync的新手。 我的理解是,当您使用普通的GraphQL时,您可以在解析器中拥有业务逻辑,以便在更新之前进行验证。 当您使用DynamoDB作为数据源传递GraphQL架构时,您将如何使用AWS AppSync实现相同的功能?

在AWS AppSync中,您可以将解析程序附加到映射到DynamoDB DataSource的字段。 然后,您可以使用Velocity模板将自定义业务逻辑放在解析程序中以进行任何验证。

请参阅AWS的Resolver Mapping Template编程指南中的以下文档

以下是 DynamoDB解析器的映射模板参考

根据AWS AppSync的网站通过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的图表

传统方法

的AppSync

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM