|
|
本帖最后由 yumin9822 于 2016-11-25 16:56 编辑
腾讯云的cos对象存储,免费容量50G,下载免费月流量 10G,上传流量免费,官方说法如下
产品价格
对象存储COS是一款后付费产品,每月 3-5 日生成上个月的账单并进行结算。所有用户拥有50G的免费存储空间,10G的免费IDC流量,10G的免费CDN回源流量,10万次PUT请求数和100万次GET请求数。超出部分按量计费,阶梯累进,更多内容,请点击查看文档>>
https://www.qcloud.com/doc/product/430/5871
- 支持500G单文件存储
- 支持控制台上传50G文件
- 支持断点续传
官方提供了python php java C++ node.js ISO android 等SDK。本人试用了一下python sdk,做了一个简单的文件上传文件。对官方的sample.py做了一些小的修改和修正,只保留文件上传功能。增加参数传递。运行之前,请安装qcloud_cos, 官方只支持python 2.7。
小文件测试成功,5.6G大文件正在测试上传中。
利用下面脚本上传文件到腾讯对象存储的bucket中步骤
1. 安装python sdk,没有pip的请自行安装。
2. 首先修改脚本里面的appid secret_id secret_key bucket
3. 复制修改后的脚本内容为文件qcoud_cos_file_upload.py,赋予运行权限
- chmod +x qcoud_cos_file_upload.py
复制代码
4. 假如你要上传的本地文件是 /foo/bar/sample.txt 远程存放在根目录并改名为sample2.txt。默认是远程文件存在则不覆盖,并返回错误。
- /path/to/qcoud_cos_file_upload.py /foo/bar/sample.txt /sample2.txt
复制代码
filename = qcoud_cos_file_upload.py
- #!/usr/bin/env python
- # -*- coding: UTF-8 -*-
- #"pip install qcloud_cos" before running this script
- import sys
- import qcloud_cos
- from qcloud_cos import CosClient
- from qcloud_cos import UploadFileRequest
- from qcloud_cos import UploadSliceFileRequest
- from qcloud_cos import UpdateFileRequest
- from qcloud_cos import UpdateFolderRequest
- from qcloud_cos import DelFileRequest
- from qcloud_cos import MoveFileRequest
- from qcloud_cos import DelFolderRequest
- from qcloud_cos import CreateFolderRequest
- from qcloud_cos import StatFileRequest
- from qcloud_cos import StatFolderRequest
- from qcloud_cos import ListFolderRequest
- from sys import getfilesystemencoding
- fs_encoding = getfilesystemencoding()
- def cos_file_upload( localfile, remotefile ):
- # 设置用户属性, 包括appid, secret_id和secret_key
- # 这些属性可以在cos控制台获取(https://console.qcloud.com/cos)
- appid = 10012323 # 替换为用户的appid
- secret_id = 'gergegDZwt3gn4OJ' # 替换为用户的secret_$
- secret_key = 'bKxDwegwegPZTJRfbGDi' # 替换为用户的secret_key
- bucket = 'pub' # 替换为用户的要上传的bucket名称
- # Unicode checking for 5 arguments
- if not isinstance(secret_id, unicode):
- secret_id = secret_id.decode(fs_encoding)
- if not isinstance(secret_key, unicode):
- secret_key = secret_key.decode(fs_encoding)
- if not isinstance(bucket, unicode):
- bucket = bucket.decode(fs_encoding)
- if not isinstance(localfile, unicode):
- localfile = localfile.decode(fs_encoding)
- if not isinstance(remotefile, unicode):
- remotefile = remotefile.decode(fs_encoding)
- cos_client = CosClient(appid, secret_id, secret_key)
- ############################################################################
- # 文件操作 #
- ############################################################################
- # 1. 上传文件(默认不覆盖)
- # 将本地的local_file_1.txt上传到bucket的根分区下,并命名为sample_file.txt
- # 默认不覆盖, 如果cos上文件存在,则会返回错误
- request = UploadFileRequest(bucket, remotefile, localfile)
- upload_file_ret = cos_client.upload_file(request)
- print 'upload file ret:', repr(upload_file_ret)
- if __name__ == '__main__':
- #print sys.argv[1]
- #print sys.argv[2]
- cos_file_upload( sys.argv[1], sys.argv[2] )
复制代码
另外官方有提供目录同步工具,亲测好用
https://www.qcloud.com/doc/product/430/5919
下载地址:https://mc.qcloudimg.com/static/archive/7f448f635c2bbe606759048bfc73464c/cos_sync.zip



 |
|