最近、仕事でWindows環境からS3をAWS CLIで作業することが多かったので、今後のための備忘録です。
1.AWS CLIインストール
下記リンクからWindowsインストーラーをダウンロードして、インストールする。
AWS コマンドラインインターフェイス(CLI: AWSサービスを管理する統合ツール)| AWS
2.準備
・AWSアカウント接続
AWSアカウントへ接続するための方法は色々ありますが、一時的な操作だったり、バッチファイルを作る場合は環境変数を使って接続する方法がある。
コマンド
SET AWS_ACCESS_KEY_ID=アクセスキーID
SET AWS_SECRET_ACCESS_KEY=シークレットアクセスキー
SET AWS_DEFAULT_REGION=リージョン
・ バケットの準備
以下の構成のフォルダとファイルを準備
フォルダ数:2
ファイル数:5
オブジェクト数:7
具体的な構成
>aws s3 ls s3://test-cli-upload-1011 --recursive --human-readable --summarize
2019-12-31 22:45:35 0 Bytes test-folder1/
2019-12-31 22:46:37 0 Bytes test-folder1/test-doc1.txt
2019-12-31 22:46:37 0 Bytes test-folder1/test-doc2.txt
2019-12-31 22:45:45 0 Bytes test-folder2/
2019-05-16 11:33:41 12 Bytes test.txt
2019-05-16 12:34:47 11 Bytes testupload.txt
2019-05-16 14:52:09 11 Bytes testupload2.txt
Total Objects: 7
Total Size: 34 Bytes
3.S3からコマンドプロンプトのコマンドと組み合わせて何かを取得する
・バケット内のフォルダのみ一覧を取得する
aws s3 ls s3://バケット名 --recursive | findstr /R "\/\">"
サンプル:
>aws s3 ls s3://test-cli-upload-1011 --recursive | findstr /R "\/\>"
2019-12-31 22:45:35 0 test-folder1/
2019-12-31 22:45:45 0 test-folder2/
・バケット内のファイルのみ一覧を取得する
aws s3 ls s3://バケット名 --recursive | findstr /R "\....\">"
サンプル:
>aws s3 ls s3://test-cli-upload-1011 --recursive | findstr /R "\....\>"
2019-12-31 22:46:37 0 test-folder1/test-doc1.txt
2019-12-31 22:46:37 0 test-folder1/test-doc2.txt
2019-05-16 11:33:41 12 test.txt
2019-05-16 12:34:47 11 testupload.txt
2019-05-16 14:52:09 11 testupload2.txt
・バケット内のフォルダ or ファイルの総数を取得する
aws s3 ls s3://バケット名 --recursive | findstr /R "正規表現" | find /v /c ""
サンプル
フォルダ数>aws s3 ls s3://test-cli-upload-1011 --recursive | findstr /R "\/\>" | find /v /c ""
2
ファイル数>aws s3 ls s3://test-cli-upload-1011 --recursive | findstr /R "\....\>" | find /v /c ""
5
参考
https://docs.aws.amazon.com/cli/index.html
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-services-s3.html
file — S3バケットに保存したオブジェクトの数を確認するにはどうすればよいですか?
Windowsのfindstrで正規表現を検索する:Tech TIPS - @IT
コマンドプロンプト findstr - [文字列や正規表現を使って文字列を検索する]
コマンドプロンプト/テキストの行数を調べる方法・find - Windowsと暮らす