フォルダの作成方法や再帰的にファイルをコピーする方法などよく行う操作なのについ検索してしまう コマンドたちをまとめました。
特に複数月のデータを再帰的に複製する処理はビッグデータの前処理でよく使うので重宝しています。
一覧表示
S3 バケットの内容を表示する
aws s3 ls s3://your_bucket/your_object_key/
S3 バケットの内容を再帰的に表示する
aws s3 ls s3://your_bucket/your_object_key/ --recursive
複数月の S3 バケットの内容を表示する
-P 1
とすることで月を順番で処理します。
seq -w 1 1 12 | xargs -t -L 1 -P 1 -I {} bash -c 'aws s3 ls s3://your_bucket/your_object_key/2021/{}/'
削除
S3 バケットを再帰的に削除する
aws s3 rm s3://your_bucket/your_object_key/ --recursive
フォルダ作成
S3 にファルダを作成する
--key
の末尾に/
を付与するのを忘れないように注意してください。
aws s3api put-object --bucket your_bucket --key your_object_key/
ファイル操作
S3 にファイルを置く/ S3 からファイルを取得する
# local のファイルを S3 に置く
aws s3 cp from_local.txt s3://your_bucket/your_object_key/
# S3 のファイルをローカルにコピーする
aws s3 cp s3://your_bucket/your_object_key/from_s3.txt
データを複製する
# 1 月のファイルを 2 〜 12 月までコピーする
seq -w 2 1 12 | xargs -t -L 1 -P 12 -I {} bash -c 'aws s3 cp s3://your_bucket/your_object_key/2021/01/ s3://your_bucket/your_object_key/2021/{}/ --recursive'