0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【AWS】API Gateway→Lambda→AppSync→DynamoDBを実装したい ~ Amplifyを添えて ~ Part1

Posted at

こんにちは。
掲題の件のフローを実装したく、頑張りました。(唐突)

なぜ上記を実装したかったか

  • サーバレスで安くアプリケーションを構築したかったから
  • DynamoDBへのアクセスはAppSyncを利用してなるべく簡単にしたかったから
  • Amplifyを利用してスピーディに実装したかったから

アプリの全体像

以下のようになります。
スライド2.JPG

なんでAPI GatewayとLambdaがいるの?クライアントからAppSyncたたけばいいじゃない?

  1. Lambdaが便利だから
  2. 複数のアプリから簡単に同じDynamoDBにアクセスしたかったから

1つ目の理由について、クライアントからAppSyncにリクエストする設計だと、DynamoDBとのやり取り以外の処理(Cognitoへのユーザー登録、メール送信などなど)をしたい場合に別個に実装しないとならず手間になってしまうので、柔軟に処理をできるようにしました。

2つ目の理由について、「アプリの全体像」で記載しているように管理者と利用者でアプリを分ける必要がありました。
元々はそれぞれのアプリでAppSyncを利用することを考えていましたが、そうするとアプリごとにDynamoBDのテーブルができてしまい、同じデータにアクセスできない事象が発生しました。
こちらの記事にあるようにResolverの追加などで同じDynamoDBにアクセス可能ではありますが、今後も修正が発生する可能性が高く、手を入れやすいように構築したいと考え、このようになりました。

実装してみた

次回以降の記事にて、Amplify cliのコマンド等実行してデモ的に構築してみたいと思います。

Part2 フロントエンド + API Gateway + Lambda
Part3 AppSync + DynamoDB
Part4 上記1と2の繋ぎこみ

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?