🔖

DQL使ってみた with Docker & マルチプロファイル

2021/05/02に公開

DynamoDBをSQLライクに操作できるDQL
仕事で使うことになったものの、環境設定から始めるとメンバーへの展開に時間がかかるし、マルチプロファイルじゃないと大規模な現場では使えないですよね!どちらも設定してみました。

Docker

FROM python:2.7.18-buster

RUN pip install --upgrade pip;\
    pip install --upgrade dql

ENTRYPOINT [ "dql" ]

プロファイル

スイッチロールにMFAが必要だったりするとdqlでは対処できないので、aws-vault にお世話になります。

aws-vaultではパスに実行可能ファイルが必要なので、こんなファイルを$PATHの通る場所に置いておき...

#!/bin/sh
docker run --env AWS_DEFAULT_REGION --env AWS_REGION --env AWS_ACCESS_KEY_ID --env AWS_SECRET_ACCESS_KEY --env AWS_SESSION_TOKEN --env AWS_SECURITY_TOKEN --env AWS_SESSION_EXPIRATION --rm -it -v "$HOME/.aws:/root/.aws" hiroga/dql:latest "$@"

以下のように実行します。

aws-vault exec my-profile -- dql -r us-west-2
us-west-2>

実際にDynamoDBを操作してみましょう。

aws-vault exec my-profile -- dql -r us-west-2
us-west-2> scan * from users;
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
   user_id : 'c06b0c58-5aeb-49a3-87a4-2671cfca0694'
      name : 'hiroga'

いい感じですね!

GitHubで編集を提案

Discussion