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
DynamoDBテーブルにAWSCLIでアイテムを一括登録する方法
Search
amarelo_n24
June 09, 2022
Technology
0
690
DynamoDBテーブルにAWSCLIでアイテムを一括登録する方法
2022/6/9 JAWS-UG CLI専門支部 #266R (入門者向け) EC2入門 LT資料
amarelo_n24
June 09, 2022
Tweet
Share
More Decks by amarelo_n24
See All by amarelo_n24
今年のふりかえりと来年目指すこと
amarelo_n24
0
650
ANS-C01を2回不合格になり認定試験受験に対する想い
amarelo_n24
0
720
鈍行列車の旅をやってみた話2023
amarelo_n24
0
100
DHCPオプションセットって何だろう??
amarelo_n24
2
4.8k
「UNIXという考え方」を読んでどう生きるか考えてみた
amarelo_n24
0
540
AWS認定、オンラインで受けるか?オフラインで受けるか?
amarelo_n24
0
440
Twitter Botを作ってカスタマイズとトラブルシュートをした話
amarelo_n24
1
540
情報量の単位についておさらいしよう
amarelo_n24
0
430
ITエンジニアへのコーヒーのすすめ(抽出編)
amarelo_n24
0
290
Other Decks in Technology
See All in Technology
NilAway による静的解析で「10 億ドル」を節約する #kyotogo / Kyoto Go 56th
ytaka23
3
380
5分でわかるDuckDB
chanyou0311
10
3.2k
KubeCon NA 2024 Recap: How to Move from Ingress to Gateway API with Minimal Hassle
ysakotch
0
200
Amazon SageMaker Unified Studio(Preview)、Lakehouse と Amazon S3 Tables
ishikawa_satoru
0
150
マルチプロダクト開発の現場でAWS Security Hubを1年以上運用して得た教訓
muziyoshiz
3
2.3k
Amazon Kendra GenAI Index 登場でどう変わる? 評価から学ぶ最適なRAG構成
naoki_0531
0
110
AI時代のデータセンターネットワーク
lycorptech_jp
PRO
1
290
継続的にアウトカムを生み出し ビジネスにつなげる、 戦略と運営に対するタイミーのQUEST(探求)
zigorou
0
540
オプトインカメラ:UWB測位を応用したオプトイン型のカメラ計測
matthewlujp
0
170
サーバレスアプリ開発者向けアップデートをキャッチアップしてきた #AWSreInvent #regrowth_fuk
drumnistnakano
0
190
祝!Iceberg祭開幕!re:Invent 2024データレイク関連アップデート10分総ざらい
kniino
3
280
ゼロから創る横断SREチーム 挑戦と進化の軌跡
rvirus0817
2
270
Featured
See All Featured
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
5
450
Designing for humans not robots
tammielis
250
25k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.9k
Agile that works and the tools we love
rasmusluckow
328
21k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
The Pragmatic Product Professional
lauravandoore
32
6.3k
A Philosophy of Restraint
colly
203
16k
Making Projects Easy
brettharned
116
5.9k
Building Adaptive Systems
keathley
38
2.3k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
32
2.7k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Keith and Marios Guide to Fast Websites
keithpitt
410
22k
Transcript
DynamoDBテーブルにAWS CLIで アイテムを一括登録する方法 2022/6/9 JAWS-UG CLI専門支部 #266R
自己紹介 名前 :藤田 直幸 Twitter :@amarelo_n24(コーヒー焙煎人兼エンジニア) Facebook:https://www.facebook.com/naoyuki.fujita.37 取得済AWS認定 :CLF、SAA、DVA、SCS 好きなAWSサービス:AWS
CLI、AWS CloudShell、Cloud9 好きなコーヒー豆 :ブラジル ブルボンアマレロ
マネコンでDynamoDBテーブルに アイテムを複数追加するのは面倒!!
AWS CLIで一括登録できる!
1.今回使ったサブコマンド 2.コマンド実行してみた 3.まとめ 話すこと
1.今回使うサブコマンド
1つ以上のテーブルに複数のアイテムを配置または削除する。 ・JSONファイルを使用 ・最大16MBのデータを送信 ・最大25個のアイテムの書き込みまたは削除操作 ※出典 https://docs.aws.amazon.com/cli/latest/reference/dynamodb/batch-write-item.html サブコマンド:batch-write-item
テーブルまたはセカンダリインデックス内のすべてのアイテム にアクセスして、1つ以上のアイテムとアイテム属性を返す。 1回の呼び出しで取得できるデータ量は1MBまで。 ※出典 https://docs.aws.amazon.com/cli/latest/reference/dynamodb/scan.html サブコマンド:scan
2.コマンド実行してみた
赤枠部分をDynamoDBテーブルから 毎日ランダムで取得。 このテーブルにデータ追加したい。 Twitter Bot :EveryDayCoffeeTweet_β
builders.flashを参考に作成し、以下のカスタムを追加したもの ※詳細は割愛 ・DynamoDBのアイテム数を取得し、ランダムの値を計算 ・計算値をキーとし、該当する値を取り出しツイート ※builders.flash 「お役立ち Twitter Bot を作りながら学ぶ AWS
ドリル」 https://aws.amazon.com/jp/builders-flash/202204/aws-drill-twitter-bot-4/ Twitter Bot プログラムについて
Excelの関数を使って作成 ※参考 https://dev.classmethod.jp/articles/googlesheets-to-dynamodb/ JSONファイル作成 =IF(ROW()=2,"[","")&"{""PutRequest"":{""Item"":{"""&B2&""":{"""&C2&""":"""&D 2&"""},"""&E2&""":{"""&F2&""":"""&G2&"""}}}}"&IF(ROW()=COUNTA(B:B),"]",",")
Visual Stadio Code で成形して保存 JSONファイル作成
コマンド実行前 アイテム数:10
batch-write-item データ追加実行 “UnprocessedItems”:{} と表示されれば成功 事前にJSONファイルをアップ ロードしておく。
データ追加確認 サブコマンドscanでテーブル名を 指定して実行。 JSONファイルに記載したデータが 追加されていればOK!! アイテム数:15
データ追加確認 5つアイテム追加された ことを確認 アイテム数:15
追加データが使われたことも確認
4.まとめ
・サブコマンドbatch-write-itemでJSONファイルを読み込ませ アイテムの一括登録が可能。 ・マネコンからのデータ追加よりは楽だけど、JSONファイルを 作るのも大変… 効率の良いJSONファイルの作り方をご存知の方いらっしゃい ましたら、ぜひご教示お願いします!🙇 ・Twitter Botのカスタマイズについては、別の機会に話します! まとめ
None