星期六, 3月 30, 2019

AWS CLI with openSUSE Leap 15 小記

AWS CLI with openSUSE Leap 15 小記

最近開始接觸 AWS, 接下來要練習的就是使用 AWS 的 CLI
參考官方網頁 https://aws.amazon.com/tw/cli/

使用  pip 指令安裝 awscli
# pip  install  awscli

觀察版本資訊
> aws  --version
aws-cli/1.16.135 Python/3.6.5 Linux/4.12.14-lp150.12.48-default botocore/1.12.125

為了進行練習, 我在 IAM 建立一個使用者
  • 加入到 管理者群組
  • 只給 Access Key ( Programmatic access ) , 但是沒有勾選登入 AWS Management Console access

使用者的 Secret access key 只有建立的時候可以下載 .csv 或是複製上面的 key, 記得保存下來

進行相關設定
> aws  configure

輸入 Access Key 與 Secret Access Key
AWS Access Key ID [None]: AKIA3MGXVXNQDYZWXCT5
AWS Secret Access Key [None]: lZw3dL6qhQzsUSO5YU4oxWJyguclaNz0hX
Default region name [None]:
Default output format [None]:

觀察相關資訊, 就會發現家目錄下會建立 .aws 目錄
> ls  ~/.aws/
config  credentials

  • 這邊會發現到, 相關的 access key 會被存放到 ~/.aws/credentials
  • Default region 以及 output format 會被存放到 ~/.aws/config

觀察相關設定
> aws  configure  list
     Name                  Value Type  Location
     ----                  ----- ----  --------
  profile                <not set> None    None
access_key     ****************XCT5 shared-credentials-file    
secret_key     ****************z0hX shared-credentials-file    
   region                us-east-1 config-file    ~/.aws/config

指令的方式可以使用 aws  help 來查詢

使用 aws sc 指令建立 bucket, 這邊我建立一個 bucket 是 sakana-test

> aws  s3  mb  s3://sakana-test
make_bucket: sakana-test

  • mb 是建立 bucket 指令
  • s3:// 後面輸入要建立的 bucket 名稱

列出 S3 bucket
> aws  s3   ls
2019-03-30 22:24:44 sakana-test


這個時候也可以登入到 console 觀察


接下來測試將本機上面的圖片上傳道 S3 Bucket
> aws  s3  cp  2019-03-30.png    s3://sakana-test

upload: ./2019-03-30.png to s3://sakana-test/2019-03-30.png

到 Management Console 觀察

接下來嘗試將 S3 上面的檔案下載到本機

> aws  s3  cp  s3://sakana-test/2019-03-30.png   .

download: s3://sakana-test/2019-03-30.png to ./2019-03-30.png

接下來嘗試刪除 bucket

> aws  s3  rb  s3://sakana-test

remove_bucket failed: s3://sakana-test An error occurred (BucketNotEmpty) when calling the DeleteBucket operation: The bucket you tried to delete is not empty

這邊會產生錯誤的原因是  aws s3 rb 是針對空的 bucket 來進行刪除, 所以會產生錯誤訊息

如果真的確定 bucket 底下的物件真的不需要, 可以使用 --force 的方式在刪除 bucket 之前刪除底下的

> aws  s3  rb  s3://sakana-test  --force

delete: s3://sakana-test/2019-03-30.png
remove_bucket: sakana-test

觀察相關資訊
> aws  s3  ls
就會發現剛剛那個 bucket 已經被刪除了

這樣也算是往 AWS 又前進一小步

~ enjoy it

Reference:

沒有留言: