S3 API 试验

以下都是用同一个python文件来测试,所以都是列出的代码片段。

文件头

import boto
import boto.s3.connection
access_key = 'put your access key here!'
secret_key = 'put your secret key here!'

创建链接

conn = boto.connect_s3(
        aws_access_key_id = access_key,
        aws_secret_access_key = secret_key,
        host = 'objects.dreamhost.com',
        #is_secure=False,               # uncomment if you are not using ssl
        calling_format = boto.s3.connection.OrdinaryCallingFormat(),
        )

列出所有的buckets

for bucket in conn.get_all_buckets():
        print "{name}\t{created}".format(
                name = bucket.name,
                created = bucket.creation_date,
        )

列出一个bucket中的内容(对象)

for key in bucket.list():
        print "{name}\t{size}\t{modified}".format(
                name = key.name,
                size = key.size,
                modified = key.last_modified,
                )

创建bucket

bucket = conn.create_bucket('my-new-bucket')

删除一个bucket

conn.delete_bucket(bucket.name)

创建一个对象

key = bucket.new_key('hello.txt')
key.set_contents_from_string('Hello World!')

下载一个对象到文件中

key = bucket.get_key('hello.txt')
key.get_contents_to_filename('/home/larry/documents/hello.txt')

删除一个对象

bucket.delete_key('goodbye.txt')

改变一个对象的存取控制

公有:

key = bucket.get_key('hello.txt')
key.set_canned_acl('public-read')

私有

key = bucket.get_key('hello.txt')
key.set_canned_acl('private')

生成对象下载url

key = bucket.get_key('hello.txt')
key_url = hello_key.generate_url(0, query_auth=False, force_http=True)
print key_url

在群里朋友(特别是开发-广州-Diluga,OS开发-上海-cp )的帮助下,这里表示感谢。对这里产生url有的进一步的理解和认识。

  1. 如果对象是public-read的,那么这里的第一个参数expires_in就没有意义了。而且query_auth就是False,不需要认证。所以打印出来的url是不带认证信息的。

  2. 如果对象是private的,第一参数就是过期的时长,不能设置为0,0表示此刻就过期了。然后query_auth得设为True. 这样打印出来的url就可以在过期的时间内进行访问。产生的url是带有认证参数的。

  3. 连接时用主机名或者ip都可以,打印出来的url也可以换成ip,如果有域名的话也可以替换成域名,对访问没有影响。


转载于:https://my.oschina.net/u/2516965/blog/543771

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值