[A-00116]AWS CLIでS3バケットを操作

aws cliを利用してS3に対して色々やってみます。

aws cliのログイン方法はこちら

・バケットの作成

aws s3 mb s3://<bucket-name>
MacBook-Pro:~$ aws s3 mb s3://jp-gnm-20230814
make_bucket: jp-gnm-20230814

下記のとおり作成されました。

・ローカルファイルをS3に移動する

適当なファイルを作成します。

MacBook-Pro:s3$ touch test-s3-up.txt && echo "Hello,aws" >> test-s3-up.txt
MacBook-Pro:s3$ cat test-s3-up.txt 
Hello,aws

移動コマンドは下記のとおりです。

aws s3 mv <file-name> s3://<bucket-name>
MacBook-Pro:s3$ aws s3 mv test-s3-up.txt s3://jp-gnm-20230814
move: ./test-s3-up.txt to s3://jp-gnm-20230814/test-s3-up.txt 

下記のとおり、S3に移動されました。ローカルのファイルは消えています。

・S3にファイルをコピー(アップロード)する

こちらは前述のmvではなくコピーなのでローカルのファイルは残ります。

ファイルを残してS3にアップロードする場合はこちらをお使いください。

適当なファイルを作成します。

touch test-s3-cp.txt && echo "Hello,aws" >> test-s3-cp.txt

コピーコマンドは下記のとおりです。

aws s3 cp <file-name> s3://<bucket-name>
MacBook-Pro:s3$ aws s3 cp test-s3-cp.txt s3://jp-gnm-20230814
upload: ./test-s3-cp.txt to s3://jp-gnm-20230814/test-s3-cp.txt
MacBook-Pro:s3$ ls
test-s3-cp.txt

下記のとおり、アップロードされました。

・バケットのリソースを一覧表示する

今度はバケットにあるリソースを一覧したいと思います。

aws s3 ls s3://<bucket-name>
MacBook-Pro:s3$ aws s3 ls s3://jp-gnm-20230814
2023-08-14 04:28:07         10 test-s3-cp.txt
2023-08-14 04:22:19         10 test-s3-up.txt

また、バケットを参照する場合は下記のコマンドになります。

aws s3 ls
MacBook-Pro:s3$ aws s3 ls
2023-08-14 04:14:26 jp-gnm-20230814

・バケットのリソースを削除する

今度はバケットに作成したリソースを削除したいと思います。

aws s3 rm s3://<resource-path>
MacBook-Pro:s3$ aws s3 rm s3://jp-gnm-20230814/test-s3-up.txt
delete: s3://jp-gnm-20230814/test-s3-up.txt

下記のとおり、削除されました。

・バケットを削除する

今度はバケットを削除します。下記の[–force]オプションはバケットがバージョンニングされている、もしくはバケットに何らかの資材がある場合でも強制的に削除する意味合いでつけます。オプションなしの場合はfailedとなります。

aws s3 rb s3://jp-gnm-20230814 --force
MacBook-Pro:s3$ aws s3 rb s3://jp-gnm-20230814 --force
delete: s3://jp-gnm-20230814/test-s3-cp.txt
remove_bucket: jp-gnm-20230814

下記のとおり、バケットごと削除されました。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

*