腾讯云对象存储 COS 服务之 XML Python SDK 实践

前言

腾讯云对象存储(Cloud Object Storage,COS)是腾讯云提供的一种存储海量文件的分布式存储服务,用户可通过网络随时存储和查看数据。这个服务目前是基本免费,用来做一些小型网站的存储或者博客图片外链是非常不错的选择。

腾讯云对象存储 COS 除了提供多种 API 接口,还提供了丰富多样的 SDK 供开发者使用。

最近在玩 python,所以来试试 Python SDK,尝试使用 SDK 来进行文件的上传和下载。

本文作者twowinter,转载请注明作者:http://blog.csdn.net/iotisan/

1 SDK 安装

XML Python SDK 下载源码,通过 setup 手动安装,执行以下命令。

  python setup.py install

2 测试代码准备 - 文件上传和下载

参考 DEMO 代码,编写自己的 test.py

2.1 初始化

按需替换为自己的参数

# 设置用户属性, 包括secret_id, secret_key, region
# appid已在配置中移除,请在参数Bucket中带上appid。Bucket由bucketname-appid组成
secret_id = 'AKIDgQ5ylsAAGQtKleHya3OahdQXsG7pGkUc'     # 替换为用户的secret_id
secret_key = 'MlF20qY6UxIVFqYBg64uRZaTBkImCaJ1'     # 替换为用户的secret_key
region = 'ap-guangzhou'    # 替换为用户的region
token = None               # 使用临时密钥需要传入Token,默认为空,可不填
config = CosConfig(Region=region, SecretId=secret_id, SecretKey=secret_key, Token=token)  # 获取配置对象
client = CosS3Client(config)

2.2 文件上传

在 py 文件目录下,创建一个 test.txt,用于上传测试。

# 文件流 简单上传
file_name = 'test.txt'
with open('test.txt', 'rb') as fp:
    response = client.put_object(
        Bucket='ttn-1254681858',  # Bucket由bucketname-appid组成
        Body=fp,
        Key=file_name,
        StorageClass='STANDARD',
        ContentType='text/html; charset=utf-8'
    )
    print(response['ETag'])

2.3 文件下载

# 文件下载 获取文件到本地
response = client.get_object(
    Bucket='ttn-1254681858',
    Key=file_name,
)
response['Body'].get_stream_to_file('output.txt')

3 测试验证

简单运行 python tt.py 进行测试。

这时候可以看到目录下多出了一个 output.txt,打开确认内容和原先的 test.txt 一致。

同时如果我们的存储桶设置了“公有读”权限的话,那么就可以直接通过 URL 来访问。

END


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值