Amazon S3 使用和操作(s3cmd/PHP class)

Amazon S3 是付費的網路磁碟服務, 而且可以透過 Web 直接將檔案拉下來, 沒有最低消費, 用多少收多少, 單純做備份, 收費算是蠻便宜的, 有興趣可以用 Amazon Web Services Simple Monthly Calculator 算算看(我算自己的資料備份, 一個月下來應該不用 $100 台幣).

方便操作 Amazon S3 的工具

s3cmd 的使用:

  1. 申請完 Amazon S3 帳號後會拿到兩組 key,一組是 access_key,一組是 secret_key
  2. $ s3cmd --configure 設定 access_key 和 secret_key
  3. $ s3cmd mb s3://BUCKET_NAME (Create Bucket)
  4. $ s3cmd put /PATH/FILENAME s3://BUCKET_NAME/FILENAME (將檔案上傳到 Bucket 內)
  5. $ s3cmd del  s3://BUCKET_NAME/FILENAME (刪除檔案)

要讓人可以下載, 使用 -P 的參數

  1. $ s3cmd put -P /PATH/FILENAME s3://BUCKET_NAME/FILENAME # 可公開下載
  2. 下載處會在: http://s3.amazonaws.com/BUCKET_NAME/FILENAME 或 http://BUCKET_NAME.s3.amazonaws.com/FILENAME

使用 php-aws 寫的簡易 Script

  1. 程式詳見: push-to-s3.phps
  2. class.s3.php 取自 svn checkout http://php-aws.googlecode.com/svn/trunk/
  3. 修改此檔案中的 define 參數, 就可以 push-to-s3.php abc.tgz 操作(再簡易修改即可於網頁上傳資料時, 順便多傳一份去備份或取用)
  4. 何謂 Bucket 和 Object, 意思就是這樣: http://s3.amazonaws.com/$bucket/$object

關於 Amazon S3 的其它應用

  1. Building a Small Business Backup System Using Amazon S3
  2. 設定 media.DOMAIN_NAME CNAME 成 media.DOMAIN_NAME.s3.amazonaws.com, 就可以 media.DOMAIN_NAME/FILENAME 直接存取, 詳細可見: Scalable Media Hosting with Amazon S3
  3. (這是拿Amazon S3 當自己的 Web server 來存取使用, 當然 資料傳輸費的錢還也是要付的)

其它相關網頁


關於 Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.
本篇發表於 News-Technology。將永久鏈結加入書籤。

Amazon S3 使用和操作(s3cmd/PHP class) 有 3 則回應

  1. seanlee 說道:

    不知道連線的速度是否ok?

  2. Tsung 說道:

    我不曉得您指的速度是哪種耶, 我只是拿來備份, 所以速度上並不覺得有什麼差別~ 🙂

  3. alex 說道:

    謝謝分享~~:)

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料