実施環境はWindowsのPC内にVagrantで立てたCentOSの仮想マシンです。
Javaがなかったので入れる
[root@localhost ~]# yum install java-1.8.0-openjdk
[root@localhost ~]# java -version
openjdk version "1.8.0_181"
OpenJDK Runtime Environment (build 1.8.0_181-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)
dynamodb-localをダウンロード
[vagrant@localhost ~]$ sudo su -
[root@localhost ~]# wget http://dynamodb-local.s3-website-us-west-2.amazonaws.com/dynamodb_local_latest.tar.gz
100%[========================================================================================================================================>] 16,884,788 3.26MB/s in 4.9s
2018-09-12 06:52:31 (3.26 MB/s) - ‘dynamodb_local_latest.tar.gz’ saved [16884788/16884788]
展開
[root@localhost ~]# tar zxvf dynamodb_local_latest.tar.gz
起動
[root@localhost ~]# java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -sharedDb
Initializing DynamoDB Local with the following configuration:
Port: 8000
InMemory: false
DbPath: null
SharedDb: true
shouldDelayTransientStatuses: false
CorsParams: *
停止するときはCtrt + cで
AWSCLIを入れる
公式ページを参考に
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/awscli-install-linux.html
まずpython-pipを使えるようにする
[root@localhost~]# yum install python-setuptools -y
[root@localhost~]# easy_install pip
AWS CLIをインストール
[root@localhost ~]# pip install awscli
[root@localhost ~]# aws --version
aws-cli/1.16.12 Python/2.7.5 Linux/3.10.0-514.26.2.el7.x86_64 botocore/1.12.2
AWS CLIを使ってDynamoDBをいじる
aws configureを設定
[root@localhost ~]# aws configure
AWS Access Key ID [None]: <アクセスキーID>
AWS Secret Access Key [None]: <シークレットアクセスキー>
Default region name [None]: ap-northeast-1 // なんとなく東京に
Default output format [None]: json
アクセスキーIDとシークレットアクセスキーは一度AWSのコンソールから発行してもらったものを設定したけど
ローカルで動かす場合はダミーでよかった。
むしろ本当のアクセスキーを設定したので「--endpoint-url http://192.168.33.11:8000」
を付けなかった場合、
ローカルのDynamoDBではなくAWS上のDynamoDBにアクセスしてしまった( ´△`)
テーブル一覧
[root@localhost ~]# aws dynamodb list-tables --endpoint-url http://192.168.33.11:8000
{
"TableNames": []
}
endpoint-urlは接続先ホスト名。
今回はVagrantで立てた仮想マシン内で実行するためVagrantfileに書いてあるIPアドレス(192.168.33.10)を指定した。