星期四, 二月 21, 2008

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

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

方便操作 Amazon S3 的工具

  • S3Fox Organizer for Amazon (S3Fox) - Firefox addones 但是用這個要注意, 特別是有目錄在 List 時, 等於是有多少檔案, 會查詢多少次, 但是可用於驗證檔案是否有丟上去等等.
  • s3cmd - Python 寫的 Amazon S3 client, 詳細介紹可見: s3cmd (Amazon S3 CLI)
  • php-aws - Google Code - PHP 存取 Amazon S3 的 class, 可以輕鬆寫存取程式. (要抓取程式: svn checkout http://php-aws.googlecode.com/svn/trunk/)

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 來存取使用, 當然 資料傳輸費的錢還也是要付的)

其它相關網頁

相關標籤
Add this page to del.icio.us Add this page to Yahoo Taiwan's bookmark Add this page to MyShare

發表迴響

標題

內容 (限制 1000 字)

暱稱

電子郵件

個人網頁


 authimage


PS: 若無法留言, 請先確認是否有打開 JavaScript, 造成您的困擾, 實在萬分對不起 Orz...(如果無法留言, 勞煩可以發信給我好嗎? 謝謝.)
PS2: 若您的留言被誤判, 我都會再自行看過, 不需要一直重覆張貼~