最後更新日期:2024 年 10 月 13 日

安裝 AWS CLI

在 bash 下執行

curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"

unzip awscliv2.zip

sudo ./aws/install

測試是否能正常執行

aws --version

設定權限資料

在設定前,要在 AWS 管理頁面上建好 IAM 帳號,並指定給他適當的 S3 存取權限。

產生存取的秘鑰,並準備好以下資料,長得大概像這樣子,這些值是參考用的,請依自己的設定為主

AWS_ACCESS_KEY_ID=AKIXXXXXYYYYYZZZZZIK
AWS_SECRET_ACCESS_KEY=xp2M8wBct8EXjhsMIuVZ785ygj9fqGRBfrW5gk9C
AWS_DEFAULT_REGION=ap-northeast-1
AWS_BUCKET="my-first-test-bucket"

然後執行設定程式

aws configure

執行後,回管相對應的問題,他會在 ~/.aws 下,幫我們建立好相關的設定檔

建立儲存貯體 (Bucket)

建立一個名為 my-first-test-bucket 的貯體

aws s3 mb my-first-test-bucket

複製 /上傳檔案 (cp)

可用來將「檔案」複製到遠端 s3,也可以在 s3 間複製檔案

假設我們在家目錄下有個 logo.png 檔案想要上傳到 s3

aws s3 cp logo.png s3://my-first-test-bucket

aws s3 cp s3://my-first-test-bucket/logo.png s3://my-first-test-bucket/new-logo.png

同步檔案 (sync)

可用來將「檔案」或「目錄」跟遠端 s3 同步。

同步的意思是,如果有檔案有變更,就會上傳;反之,則略過不上傳。

上傳同步

假設我們在家目錄下有個 images 目錄想要上傳到 s3,並保留 images 目錄。

記得要在目標端的 s3 bucket 指定 images 目錄,否則會把 images 下的所有檔案複製到 s3 的根目錄。

aws s3 sync images s3://my-first-test-bucket/images

下載同步

aws s3 sync s3://my-first-test-bucket/images images

設定 ACL

如果你有到 AWS 管理網頁設定 Bucket 的 ACL, 你可以在同步時用 --acl 指定 ACL 權限

aws s3 sync --acl public-read images s3://my-first-test-bucket/images

查看檔案/目錄

aws s3 ls s3://my-first-test-bucket

移動 / 重新命名檔案

僅可處理檔案,無法處理目錄

aws s3 mv s3://my-first-test-bucket/logo.png s3://my-first-test-bucket/old-logo.png

刪除檔案或目錄

aws s3 rm s3://my-first-test-bucket/old-logo.png

aws s3 rm s3://my-first-test-bucket/images

刪除儲存貯體 (Bucket)

Bucket 必須要是空的,才可以刪除

aws s3 rb s3://my-frist-test-bucket

參考資料

官方的 AWS CLI 安裝指引

Access control list (ACL) overview

aws s3 sync 指令說明

Last modified: 2024-10-13

Author

Comments

Write a Reply or Comment

Your email address will not be published.