AppSyncを用いて、DynamoDBを検索する方法について紹介します。(後日、わかりやすい説明に書き換える予定ですが、今は自分用の備忘録として自分が思い出せる範囲の情報を記載しています。)
まず、WebブラウザでAWSコンソールにログインし、AppSyncを選択する。そして、利用するAppを選択し、「Schema」を選択します。そして、右側にあるResolversにあるQuery部の検索させたいqueryのtypeのAttachボタンを選択します。
次にCreate new Resolverと言う画面では、Data source nameを選択します。適切なデータソースを選択すると、「Configure the request / response mapping template」と言う項目が現れ、DynamoDBへの検索queryやDynamoDBからのresponseに変更してクライアントに返すことが可能になります。
ここでは、クライアントから受け取ったパラメータを利用して、それに一致するデータをDynamoDBを検索する方法を紹介します。この場合、Resolverの「Select a sample template」を次のように記述し、「Save Resolver」ボタンを押して保存します。
{ "version" : "2017-02-28", "operation" : "Scan", "filter" : { "expression" : "handle= :handle", "expressionValues" : { ":handle" : { "S" : "${ctx.arguments.handle}" } }, } }
このようにすることで、クライアントから受け取ったhandleと言う変数を利用して、検索することが可能になります。
参考サイト