Laravelで手っ取り早くDynamoDBにデータを登録する方法
2021-11-30
2021-11-30
DynamoDBにそこそこの件数のあるデータをどのぐらいで処理できるか動かしてみたいなってときに
10万件ほどのデータを登録したかったのですが調べてもAWSクライアントを入れる方法がほとんどでした。
ちょっとクライアントを都度入れたりとかするのがめんどくさいけどとりあえずデータを入れるだけでいいんだけど…とか
dynamodblocalのAdminツールで登録するのはちょっとしんどいな…と思ったのでサクっとCommand経由で登録できるようにしました。
php artisan make:command dinamodb_insert
10万件ほどのデータを登録したかったのですが調べてもAWSクライアントを入れる方法がほとんどでした。
ちょっとクライアントを都度入れたりとかするのがめんどくさいけどとりあえずデータを入れるだけでいいんだけど…とか
dynamodblocalのAdminツールで登録するのはちょっとしんどいな…と思ったのでサクっとCommand経由で登録できるようにしました。
# まずはコマンド作ろう
php artisan make:command dinamodb_insert
# 10万件項目を追加します
use BaoPham\DynamoDb\Facades\DynamoDb;
use Illuminate\Console\Command;
use Ramsey\Uuid\Uuid;
~~~ 省略 ~~~
// 10万件ループ
for($step = 0; $step <= 100000; $step++) {
$uuid1 = Uuid::uuid4()->toString();
$uuid2= Uuid::uuid4()->toString();
$input = [
"key1" => ["S" => date("Ymd")],
"key2" => ["S" => date("Ymd") . "/" . $uuid1],
"uuid1" => ["S" => $uuid1],
"uuid2" => ["S" => $uuid2],
];
DynamoDb::table( xxxxxxxx )->setItem($input)->prepare()->putItem();
}
use Illuminate\Console\Command;
use Ramsey\Uuid\Uuid;
~~~ 省略 ~~~
// 10万件ループ
for($step = 0; $step <= 100000; $step++) {
$uuid1 = Uuid::uuid4()->toString();
$uuid2= Uuid::uuid4()->toString();
$input = [
"key1" => ["S" => date("Ymd")],
"key2" => ["S" => date("Ymd") . "/" . $uuid1],
"uuid1" => ["S" => $uuid1],
"uuid2" => ["S" => $uuid2],
];
DynamoDb::table( xxxxxxxx )->setItem($input)->prepare()->putItem();
}