簡體   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