Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
APIGatewayからDynamoDBを直接操作してみた.pdf
Search
amarelo_n24
June 24, 2021
Technology
1
730
APIGatewayからDynamoDBを直接操作してみた.pdf
amarelo_n24
June 24, 2021
Tweet
Share
More Decks by amarelo_n24
See All by amarelo_n24
今年のふりかえりと来年目指すこと
amarelo_n24
0
680
ANS-C01を2回不合格になり認定試験受験に対する想い
amarelo_n24
0
770
鈍行列車の旅をやってみた話2023
amarelo_n24
0
110
DHCPオプションセットって何だろう??
amarelo_n24
2
5.3k
「UNIXという考え方」を読んでどう生きるか考えてみた
amarelo_n24
0
560
AWS認定、オンラインで受けるか?オフラインで受けるか?
amarelo_n24
0
470
Twitter Botを作ってカスタマイズとトラブルシュートをした話
amarelo_n24
1
570
情報量の単位についておさらいしよう
amarelo_n24
0
590
DynamoDBテーブルにAWSCLIでアイテムを一括登録する方法
amarelo_n24
0
740
Other Decks in Technology
See All in Technology
インフラをつくるとはどういうことなのか、 あるいはPlatform Engineeringについて
nwiizo
5
2.6k
バックエンドエンジニアのためのフロントエンド入門 #devsumiC
panda_program
18
7.5k
AndroidデバイスにFTPサーバを建立する
e10dokup
0
250
あれは良かった、あれは苦労したB2B2C型SaaSの新規開発におけるCloud Spanner
hirohito1108
2
580
滅・サービスクラス🔥 / Destruction Service Class
sinsoku
6
1.6k
『衛星データ利用の方々にとって近いようで触れる機会のなさそうな小話 ~ 衛星搭載ソフトウェアと衛星運用ソフトウェア (実物) を動かしながらわいわいする編 ~』 @日本衛星データコミニティ勉強会
meltingrabbit
0
140
Platform Engineeringは自由のめまい
nwiizo
4
2.1k
モノレポ開発のエラー、誰が見る?Datadog で実現する適切なトリアージとエスカレーション
biwashi
6
810
抽象化をするということ - 具体と抽象の往復を身につける / Abstraction and concretization
soudai
16
4.6k
個人開発から公式機能へ: PlaywrightとRailsをつなげた3年の軌跡
yusukeiwaki
11
3k
2/18/25: Java meets AI: Build LLM-Powered Apps with LangChain4j
edeandrea
PRO
0
110
次世代KYC活動報告 / 20250219-BizDay17-KYC-nextgen
oidfj
0
250
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Code Review Best Practice
trishagee
67
18k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.4k
Git: the NoSQL Database
bkeepers
PRO
427
64k
A designer walks into a library…
pauljervisheath
205
24k
Typedesign – Prime Four
hannesfritz
40
2.5k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.2k
GraphQLとの向き合い方2022年版
quramy
44
13k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.2k
A Philosophy of Restraint
colly
203
16k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Transcript
API Gateway からDynamoDBを 直接操作してみた 2021/6/24 JAWS-UG 朝会
自己紹介 氏名 :藤田 直幸 twitter:@amarelo_n24 ※ コーヒー焙煎人兼エンジニアと名乗ってます。 職場:都内にある企業の情報セキュリティ統制担当 資格:AWS認定クラウドプラクティショナー ソリューションアーキテクトアソシエイト
※デベロッパーアソシエイトを7/2に受験予定! 好きなAWSサービス:AWS CLI、AWS CloudShell、Cloud9 好きなコーヒー :ブラジル ブルボンアマレロ
1.はじめに 2.今回の構成 3.設定内容 4.まとめ 話すこと
1.はじめに
先日、山下さん主催の勉強会「ヤマムギ」で実施した、 API Gatewayから直接DynamoDBに書き込む(PutItem)デモを 自分の環境で再現してみました。また、デモで学んだことを参考 にして読み取り(GetItem)もやりましたので、その話をします。 ※イベントページ https://yamamugi.connpass.com/event/213548/
今回は実施したことの一部のみお話しますが、 詳細な手順をZennに書きました! こちらも読んでいただけると幸いです🙇 https://zenn.dev/amarelo_n24/articles/ab083b0358e902
2.今回の構成
以下のようなシンプルな構成です。 Amazon API Gateway Amazon DynamoDB Client AWS Cloud POST
GET PutItem GetItem
3.設定内容
デフォルト設定で、テーブルを一つ作成します。 ※ローカルセカンダリインデックス等の設定もなし。 (1)DynamoDB
API GatewayからDynamoDBに書き込みと読み取りを許可する IAMロールを作成。 (2)IAMロールの作成 AWSサービス API Gateway を選択
ロール作成後、インラインポリシを追加。 (2)IAMロールの作成 読み込み:GetItem 書き込み:PutItem (1)で作成したテーブルの ARNを指定
REST APIを作成 (3)API Gateway(PutItem)
POSTメソッドを作成し、統合タイプを「AWSサービス」、AWSサービスを 「DynamoDB」、アクション「PutItem」、実行ロールのARNを指定。 (3)API Gateway(PutItem) (2)で作成したロールの ARNを指定 これを選択することで AWSサービスを 操作することが可能に
URLクエリ文字列パラメータを追加。 (3)API Gateway(PutItem)
マッピングテンプレートをJSON形式に設定。 (3)API Gateway(PutItem)
テストしてステータスコード200が返ってきて、ログ内に入力した 文字列がJSON形式で表示されていることを確認。 (3)API Gateway(PutItem)
DynamoDBテーブルに書き込まれていることも確認。 (3)API Gateway(PutItem)
GETメソッドを作成 (4)API Gateway(GetItem) (2)で作成したロールの ARNを指定
URLクエリ文字列パラメータを設定(プライマリーキーのみ) (4)API Gateway(GetItem)
マッピングテンプレートを作成 (4)API Gateway(GetItem) Key(プライマリキー) を指定
テストしたところ、ステータスコード200は返ってきたが・・・ (4)API Gateway(GetItem) Not Found !?
GetItemはPOSTでないと動かない模様… ※理由は不明。仕様? (4)API Gateway(GetItem)
POSTに直してテスト再実行したら・・・ (4)API Gateway(GetItem)
成功😊 (4)API Gateway(GetItem)
4.まとめ
・API Gatewayから直接AWSサービスを操作することが可能。 ・今回はDynamoDBでReadWrite両方とも実施出来たことを確認。 ・GetItemを実行するのにPOSTを使う理由が分からなかった… ※ご存じの方、ご教示いただけますと幸いです🙇 まとめ
ポケットスタディ AWS認定デベロッパーアソシエイト https://www.shuwasystem.co.jp/book/9784798063409.html Qiita:APIGatewayから直接DynamoDBのデータを取得する https://qiita.com/foxtrackjp/items/e286b20943e99e230198 参考文献
None