X

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: 對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.
Related Post