Skip to content

Commit c7125a8

Browse files
committed
Merge pull request #198 from clouddxy/master
add some demos
2 parents 7380c8f + 8ab59bb commit c7125a8

File tree

9 files changed

+202
-0
lines changed

9 files changed

+202
-0
lines changed

examples/copy.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# -*- coding: utf-8 -*-
2+
# flake8: noqa
3+
from qiniu import Auth
4+
from qiniu import BucketManager
5+
6+
access_key = 'Access_Key'
7+
secret_key = 'Secret_Key'
8+
9+
#初始化Auth状态
10+
q = Auth(access_key, secret_key)
11+
12+
#初始化BucketManager
13+
bucket = BucketManager(q)
14+
15+
#你要测试的空间, 并且这个key在你空间中存在
16+
bucket_name = 'Bucket_Name'
17+
key = 'python-logo.png'
18+
19+
#将文件从文件key 复制到文件key2。 可以在不同bucket复制
20+
key2 = 'python-logo2.png'
21+
22+
ret, info = bucket.copy(bucket_name, key, bucket_name, key2)
23+
print(info)
24+
assert ret == {}

examples/delete.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# -*- coding: utf-8 -*-
2+
# flake8: noqa
3+
from qiniu import Auth
4+
from qiniu import BucketManager
5+
6+
access_key = 'Access_Key'
7+
secret_key = 'Secret_Key'
8+
9+
#初始化Auth状态
10+
q = Auth(access_key, secret_key)
11+
12+
#初始化BucketManager
13+
bucket = BucketManager(q)
14+
15+
#你要测试的空间, 并且这个key在你空间中存在
16+
bucket_name = 'Bucket_Name'
17+
key = 'python-logo.png'
18+
19+
#删除bucket_name 中的文件 key
20+
ret, info = bucket.delete(bucket_name, key)
21+
print(info)
22+
assert ret == {}

examples/download.py

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# -*- coding: utf-8 -*-
2+
# flake8: noqa
3+
import requests
4+
5+
from qiniu import Auth
6+
7+
access_key = 'AK'
8+
secret_key = 'SK'
9+
10+
q = Auth(access_key, secret_key)
11+
12+
#有两种方式构造base_url的形式
13+
base_url = 'http://%s/%s' % (bucket_domain, key)
14+
15+
#或者直接输入url的方式下载
16+
base_url = 'http://domain/key'
17+
18+
#可以设置token过期时间
19+
private_url = q.private_download_url(base_url, expires=3600)
20+
21+
print(private_url)
22+
r = requests.get(private_url)
23+
assert r.status_code == 200

examples/fops.py

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# -*- coding: utf-8 -*-
2+
# flake8: noqa
3+
from qiniu import Auth, PersistentFop, build_op, op_save, urlsafe_base64_encode
4+
5+
#对已经上传到七牛的视频发起异步转码操作
6+
access_key = 'Access_Key'
7+
secret_key = 'Secret_Key'
8+
q = Auth(access_key, secret_key)
9+
10+
#要转码的文件所在的空间和文件名。
11+
bucket = 'Bucket_Name'
12+
key = '1.mp4'
13+
14+
#转码是使用的队列名称。
15+
pipeline = 'mpsdemo'
16+
17+
#要进行转码的转码操作。
18+
fops = 'avthumb/mp4/s/640x360/vb/1.25m'
19+
20+
#可以对转码后的文件进行使用saveas参数自定义命名,当然也可以不指定文件会默认命名并保存在当前空间
21+
saveas_key = urlsafe_base64_encode('目标Bucket_Name:自定义文件key')
22+
fops = fops+'|saveas/'+saveas_key
23+
24+
pfop = PersistentFop(q, bucket, pipeline)
25+
ops = []
26+
ops.append(fops)
27+
ret, info = pfop.execute(key, ops, 1)
28+
print(info)
29+
assert ret['persistentId'] is not None

examples/move.py

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# -*- coding: utf-8 -*-
2+
# flake8: noqa
3+
from qiniu import Auth
4+
from qiniu import BucketManager
5+
6+
access_key = 'Access_Key'
7+
secret_key = 'Secret_Key'
8+
9+
#初始化Auth状态
10+
q = Auth(access_key, secret_key)
11+
12+
#初始化BucketManager
13+
bucket = BucketManager(q)
14+
15+
#你要测试的空间, 并且这个key在你空间中存在
16+
bucket_name = 'Bucket_Name'
17+
key = 'python-logo.png'
18+
19+
#将文件从文件key 移动到文件key2,可以实现文件的重命名 可以在不同bucket移动
20+
key2 = 'python-logo2.png'
21+
22+
ret, info = bucket.move(bucket_name, key, bucket_name, key2)
23+
print(info)
24+
assert ret == {}

examples/stat.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# -*- coding: utf-8 -*-
2+
# flake8: noqa
3+
from qiniu import Auth
4+
from qiniu import BucketManager
5+
6+
access_key = 'Access_Key'
7+
secret_key = 'Secret_Key'
8+
9+
#初始化Auth状态
10+
q = Auth(access_key, secret_key)
11+
12+
#初始化BucketManager
13+
bucket = BucketManager(q)
14+
15+
#你要测试的空间, 并且这个key在你空间中存在
16+
bucket_name = 'Bucket_Name'
17+
key = 'python-logo.png'
18+
19+
#获取文件的状态信息
20+
ret, info = bucket.stat(bucket_name, key)
21+
print(info)
22+
assert 'hash' in ret

examples/upload.py

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# -*- coding: utf-8 -*-
2+
# flake8: noqa
3+
4+
from qiniu import Auth, put_file, etag, urlsafe_base64_encode
5+
import qiniu.config
6+
7+
#需要填写你的 Access Key 和 Secret Key
8+
access_key = 'Access_Key'
9+
secret_key = 'Secret_Key'
10+
11+
#构建鉴权对象
12+
q = Auth(access_key, secret_key)
13+
14+
#要上传的空间
15+
bucket_name = 'Bucket_Name'
16+
17+
#上传到七牛后保存的文件名
18+
key = 'my-python-logo.png';
19+
20+
#生成上传 Token,可以指定过期时间等
21+
token = q.upload_token(bucket_name, key, 3600)
22+
23+
#要上传文件的本地路径
24+
localfile = './sync/bbb.jpg'
25+
26+
ret, info = put_file(token, key, localfile)
27+
print(info)
28+
assert ret['key'] == key
29+
assert ret['hash'] == etag(localfile)

examples/upload_callback.py

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# -*- coding: utf-8 -*-
2+
# flake8: noqa
3+
4+
from qiniu import Auth, put_file, etag,
5+
import qiniu.config
6+
7+
access_key = 'Access_Key'
8+
secret_key = 'Secret_Key'
9+
10+
q = Auth(access_key, secret_key)
11+
12+
bucket_name = 'Bucket_Name'
13+
14+
key = 'my-python-logo.png';
15+
16+
#上传文件到七牛后, 七牛将文件名和文件大小回调给业务服务器。
17+
policy={
18+
'callbackUrl':'http://your.domain.com/callback.php',
19+
'callbackBody':'filename=$(fname)&filesize=$(fsize)'
20+
}
21+
22+
token = q.upload_token(bucket_name, key, 3600, policy)
23+
24+
localfile = './sync/bbb.jpg'
25+
26+
ret, info = put_file(token, key, localfile)
27+
print(info)
28+
assert ret['key'] == key
29+
assert ret['hash'] == etag(localfile)

examples/upload_pfops.py

Whitespace-only changes.

0 commit comments

Comments
 (0)