投稿数 585
公開から 2940

aws S3バケットにコマンドラインでアップロードしたい。


Categories: amazon

要件

手作業はめんどいのでコマンドラインからアップロードしたい。

方針

AWS Command Line Interfaceを使用する。 サーバーレスはできるかもしれないが多機能すぎるので見送り。

https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-chap-welcome.html

実装・作業

ブリューでインストール

pip3が推奨だけどbrewでも行けるみたい。

brew install awscli

インストールできたことを確認

aws --version

AWS CLI の設定・セットアップ

各入力項目についてはユーザー作成時にメモっているはずなので、そこを参照のこと。 ユーザー作成の詳細については割愛します。 AWSユーザーの作り方 IAMとかでググってください

$ aws configure
AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE
AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Default region name [None]: us-west-2
Default output format [None]: json

ちゃんとユーザー認証できたか確認する

aws s3 ls

S3バケットが表示されました!! できたみたい!!!

さてここからは実際にコマンドでS3にアップロードしてみる!

いろいろ機能ありますが、これでいい気がする。

aws s3 sync . s3://ここにあなたのバケット名/ --delete

これでローカル->s3という方向で同期されます。 deleteオプションがないと、ローカルのファイルの削除が反映されません。 (こっちで消したけど、S3では変更なしと認識されてしまう)

とりあえずそんなかんじ!