Posted in: Aws代维
用S3做资源下载和P2P种子
有时候我们想分享个资源给别人,但是放在线上业务的Nginx上也不太合适,这是可以上传到S3,然后把object设置ACL为public-read
,然后拼装下下载的url就可以提供给任何人下载,同时,bucket可以设置lifecycle,可以设置该bucket下的某个目录下的资源的生存天数,到期后自动被删除。
上传S3的部分就不说了,详见这个页面(python版的)
http://boto.readthedocs.org/en/latest/s3_tut.html#storing-large-data
然后我们可以设置ACL给object,然后拼出下载的url和torrent的url
import boto c = boto.connect_s3() b = c.get_bucket(bucket_name) b.set_acl('public-read', object_key) object_download_url = "http://" + bucket_name + ".s3.amazonaws.com/" + object_key object_torrent_url = object_download_url + "?torrent"
这个S3的下载url后面加上?torrent
就可以以P2P协议下载,直接点这个url会下载下来一个BT种子。