概要
- 今回は
Homebrew
でaws-cli
をインストール - ターミナルからバケットへのファイルアップロード
- ターミナルからバケットへのディレクトリ階層を維持したファイルアップロード
インストール
Homebrewからインストール
ターミナルで以下コマンドを実行
brew install awscli
以下のようなメッセージが表示されればインストール完了です。
確認
以下のコマンドを実行
aws --version
以下のようなメッセージが表示されれば正常にインストール出来ています。
準備
aws-cli
を利用する上では基本設定とアクセス情報が必要になります。
コマンドからの生成も可能ですが、記事にまとめる上でめんどくさいので物理的にファイルを配置しちゃいましょう。笑
※${}部分は各自の設定に合わせて変更してください
cofig
aws-cli
を使う上での基本設定を記載したファイル。
[default]
output = json
region = ${リージョン}
credentials
AWSに接続するための認証情報
[default]
aws_access_key_id = ${AWS_ACCESS_KEY}
aws_secret_access_key = ${AWS_SECRET_KEY}
確認
二つとも配置するとこんな感じ
S3操作
確認
まずは、以下コマンドでバケット情報を取得出来るか確認します。
aws s3 ls s3://${バケット名}
正常に設定ファイルが出来ていればフォルダやオブジェクトの情報が出力されます。
いろいろとコマンドが用意されていますが、今回は
-
オブジェクト(ファイル)の転送
のみを行います。
その他のコマンドについて
他のコマンドについては、
公式ドキュメント
や、別記事の
aws-cli コマンド一覧(随時追記)
にてまとめているので良かったら参考にしてください。
AWSサービスのほぼ全てを操作することが出来ます!
単一ファイルのアップロード
以下コマンドを実行してください。
aws s3 cp ${ファイル名} s3://${バケット名}
実行して、以下のようなメッセージが表示されると正常にアップロードされています。
フォルダ階層を維持してのコピー
以下のような構造にて、
cliSampleDir
└── fuga.txt
何も考えずに以下のようなコマンドを実行すると、
aws s3 cp cliSampleDir/fuga.txt s3://${バケット名}
バケット直下 に「fuga.txt」が作製されます。
フォルダ階層も維持してアップロードしたい場合は
aws s3 cp ${フォルダ名}/${ファイル名} s3://${バケット名}/${フォルダ名}/
とする必要があります。
また、再帰的に全てをアップロードしたい場合は
aws s3 cp ${フォルダ名}/ s3://${バケット名}/${フォルダ名}/ --recursive
で丸ごといけます。(フォルダが存在しない場合は自動で作製されます。)
終わりに
AWSマネジメントコンソールも便利ですが、黒い画面にビビらずにcli
をどんどん使っていきましょう!!笑