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
390
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
270
ANS-C01を2回不合格になり認定試験受験に対する想い
amarelo_n24
0
510
鈍行列車の旅をやってみた話2023
amarelo_n24
0
75
DHCPオプションセットって何だろう??
amarelo_n24
1
2.6k
「UNIXという考え方」を読んでどう生きるか考えてみた
amarelo_n24
0
400
AWS認定、オンラインで受けるか?オフラインで受けるか?
amarelo_n24
0
360
Twitter Botを作ってカスタマイズとトラブルシュートをした話
amarelo_n24
1
430
情報量の単位についておさらいしよう
amarelo_n24
0
180
ITエンジニアへのコーヒーのすすめ(抽出編)
amarelo_n24
0
200
Other Decks in Technology
See All in Technology
MongoDB Atlas Vectorsearchではじめる生成AIアプリ開発
chie8842
3
510
エバンジェリスト活動を7年やってきて見えてきた、コミュニティとエバンジェリストの関係
soracom
PRO
1
200
イチから学ぶdbt / Learn dbt from scratch
shinyaa31
0
130
戦略的DDDを実践するための跳躍力 / OOC 2024
pictiny
6
4.1k
任意コード実行の原理
ffri
0
180
Building a RAG app to chat with your data (on Azure)
pamelafox
0
110
OCI Data Integration技術情報 / ocidi_technical_jp
oracle4engineer
PRO
1
1.5k
生成AI・LLM時代における 機械学習エンジニアとしてのキャリア戦略・開発戦略 / my-career-and-development-strategies-for-ml-engineer-2024
yuya4
4
830
ビジネスとコード品質の接合点 そしてコード品質がそこに及ぼす影響 / The Intersections of Business and Engineering, and The Impact of Code Quality There
mtx2s
10
1k
Challenges - Open Farming Hackdays 2024
loleg
0
570
CI/CDがあたりまえの今の時代にAPIテスティングツールに求められていること / CI/CD Test Night #7
k1low
12
3k
マイクロサービス環境におけるDB戦略 in DMMプラットフォーム
pospome
11
3k
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
14
1.3k
4 Signs Your Business is Dying
shpigford
174
21k
Fashionably flexible responsive web design (full day workshop)
malarkey
397
65k
Building a Modern Day E-commerce SEO Strategy
aleyda
15
6.3k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
12
1.4k
VelocityConf: Rendering Performance Case Studies
addyosmani
319
23k
Code Review Best Practice
trishagee
54
15k
A Philosophy of Restraint
colly
195
15k
It's Worth the Effort
3n
180
27k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
225
51k
Why You Should Never Use an ORM
jnunemaker
PRO
50
8.6k
Typedesign – Prime Four
hannesfritz
36
2k
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