2022/6/9 JAWS-UG CLI専門支部 #266R (入門者向け) EC2入門 LT資料
DynamoDBテーブルにAWS CLIでアイテムを一括登録する方法2022/6/9JAWS-UG CLI専門支部 #266R
View Slide
自己紹介名前 :藤田 直幸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&""":"""&D2&"""},"""&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のカスタマイズについては、別の機会に話します!まとめ