首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >腾讯云对象存储 COS 服务之 XML Python SDK 实践

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

作者头像
twowinter
发布2020-04-17 11:22:52
1.5K0
发布2020-04-17 11:22:52
举报
文章被收录于专栏:twowintertwowintertwowinter

前言

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

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

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

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 1 SDK 安装
  • 2 测试代码准备 - 文件上传和下载
    • 2.1 初始化
      • 2.2 文件上传
        • 2.3 文件下载
        • 3 测试验证
        • END
        相关产品与服务
        对象存储
        对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档