Python 转移文件至云对象存储的方法
作者:Python实用宝典 发布时间:2022-02-01 04:28:19
对象存储(Cloud Object Storage,COS)是一种存储海量文件的分布式存储服务,具有高扩展性、低成本、可靠安全等优点。
对象存储有什么用呢?对于站长而言,比如Python实用宝典网站的服务器位于腾讯云香港,大陆访问速度会比较慢,这时候我可以将图片等静态资源转移到对象存储上,以提高用户的访问速度。
实际上,这两天我就对Python实用宝典做了这样的调整,搭配上懒加载,效果极佳,用户访问并渲染图片的过程所耗费的时间大大减少,大家可以访问Python实用宝典网体验一下:
https://pythondict.com
那么对于非站长的普通用户有什么用?相比于其他什么百度网盘之类的产品,COS最重要的优势是:
上传下载不限速,数据中心多地任选
能实现文件分享功能,同样不限速
能自动创建文件历史备份,方便回溯办公文件
支持各平台用客户端管理文件,电脑端甚至还可直接将网盘挂载为一个虚拟磁盘
价格按用量计费(存储量、下行流量),免费额度用完后,你可能一个月大约也才需要花费 6 元
像腾讯云这样的大云服务商,每个月都给用户提供了50G的免费容量:
非常好,下面大家可以跟着我一起尝试使用一下,或许你会爱上这个产品。
0.创建存储桶
进入腾讯云的对象存储页面:
https://console.cloud.tencent.com/cos5/bucket#
选择创建存储桶,可以随意命名你的数据桶,地域可以选择离你最近的。注意访问权限这一项,如果你希望你的朋友也能下载数据桶内的文件,一定要选择公有读私有写。
1.安装
接下来说说怎么用Python将静态资源转移到腾讯云COS上。
Coscmd是腾讯云官方基于Python推出的上传工具,使用起来非常方便。
使用 pip 安装 coscmd:
pip install coscmd
如果直接安装失败了,可以尝试源码安装:
git clone https://github.com/tencentyun/coscmd.git
cd coscmd
python setup.py install
可以使用 coscmd -v
查看版本号
# coscmd -v
coscmd 1.8.6.16
2.配置
安装完成之后我们还需要一些参数配置,配置密钥、存储桶地域等。我们迁移数据时仅仅只需要配置一些简单的参数即可:
coscmd config -a SecretID -s SecretKey -b BucketName-APPID -r region
BucketName-APPID 是存储桶名称,region 为存储桶所在地域,SecretID 和 SecretKey 可以在控制台获取,如果没有的话直接创建一个:
https://console.cloud.tencent.com/cam/capi
创建后如上图下方列表所示,有APPID、SecretID 和 SecretKey,那么命令就如:
coscmd config -a AChT4ThiXAbpBDEFGhT4ThiXAbp**** -s WE54wreefvds3462refgwewe**** -b examplebucket-1250000000 -r ap-beijing
3. 迁移
下面以迁移本地附件到 COS 为例,演示一下 COSCMD 的使用
COSCMD 可以上传文件也可以直接上传文件夹,命令为:
#上传文件
coscmd upload
#上传文件夹
coscmd upload -r
这样我们就可以使用如下命令将媒体库的文件上传到 COS 中:
# home/ 指将媒体库里的文件存放到COS的home文件夹中
coscmd upload -r 你的媒体库文件夹地址 存放到COS的具体位置如home/
#同步上传,跳过 md5 相同的文件
coscmd upload -rs 你的媒体库文件夹地址 home/
#忽略 .mp3 和 .gif 的后缀文件
coscmd upload -rs 你的媒体库文件夹地址 home/ --ignore *.mp3,*.gif
我们需要将媒体库的图片上传到 COS 中,存放的路径则因使用而异。
如果是网站的话,比如WordPress 的媒体库存储路径建议使用 wp-content/uploads/
,如果你是为了个人使用,可以上传到任意位置,建议使用:home/.
上传完成后如上图所示,你可以在文件列表中找到你刚上传的这些媒体文件。
当然,COS也支持手动上传文件:
如果你按照我的步骤创建了一个公有读私有写的数据桶,那么上传的这些资源也支持分享文件下载地址给别人:
上图中显示的对象地址,就可以拿来分享给你任何朋友下载,不限速!不限速!不限速!怎么样,是不是超香?
来源:https://blog.csdn.net/u010751000/article/details/111148698


猜你喜欢
- 本文给出一条 SQL 语句用于展示在同一名服务器上,不同的数据库间查询,注意当前连接用户要对两个库都有权限SQL Server 中 SQL
- 本文实例讲述了Python列表list操作符。分享给大家供大家参考,具体如下:#coding=utf8''''
- 求f(x) = sin(x)/x 的不定积分和负无穷到正无穷的定积分sin(x)/x 的不定积分是信号函数sig ,负无穷到正无穷的定积分为
- Asp(Active Server Pages)是Web服务器端脚本编写环境,可以使用Vbscript/Jscript两种脚本来编写.作为我
- 询问度娘搭好appium和python环境,开启移动app自动化的探索(基于Android),首先来记录下如何启动待测的app吧!如何启动A
- 一,概要需求: 实现一个GUI界面下的 6+1体育彩票选号器.(1) 要求界面可以加载系统时间及开奖时间(2)功能区完成人选及机选的功能 人
- 回顾上一篇文章我们介绍了切片slice的定义初始化、引用类型特征、如何使用数组切割成切片。这篇文章介绍切片的生成make()、切片的追加ap
- 先来看一下Spring官网首页的一个图片滑动显示效果可以看到, 随着鼠标的滑动,绿色图片和灰色图片可以无缝的在鼠标俩两边切换显示。显示这样的
- 函数可以有0或多个返回值,返回值需要指定数据类型,返回值通过return关键字来指定。return可以有参数,也可以没有参数,这些返回值可以
- 做一个项目用到Ajax,开始觉得挺好,后来发现一个问题,例如删除一项,恢复之后就不能再接着删除,必须要等一段时间,后来知道是IE缓存的问题。
- 1. mmap内存映射文件建立一个文件的内存映射将使用操作系统虚拟内存来直接访问文件系统上的数据,而不是使用常规的I/O函数访问数据。内存映
- SQL Server vNext CTP 1.2安装教程:此安装过程参考微软官方的安装文档:https://docs.micro
- YOLOv5的Backbone设计在上一篇文章《YOLOV5的anchor设定》中我们讨论了anchor的产生原理和检测过程,对YOLOv5
- 相信大多数人都遇到过多实例安装mysql吧,相信大多数人只要找到一份多实例安装的教程就会很容易搞定了,但是越是顺利的安装过程越让我们不安,为
- php循环输出26个大小写英文字母for($i=65;$i<91;$i++){ echo strtolower(chr($
- 什么是 PiniaPinia (西班牙语中的菠萝),本质上依然是一个状态管理的库,用于跨组件、页面进行状态共享.pinia 与 vuex 的
- 问题你想将一个模块分割成多个文件。但是你不想将分离的文件统一成一个逻辑模块时使已有的代码遭到破坏。解决方案程序模块可以通过变成包来分割成多个
- 一、准备短信发送平台首先进入http://user.ihuyi.com/nav/sms.html互亿天线,并且注册,进入首页注册
- 目录应用场景福音快快使用模型类效果注意事项今天介绍一个后台开发神器,很适合当我们数据库中已存在了这些表,然后你想得到它们的model类使用O
- 目录1.列表中存储字典:1.列表中存储多个字典2.访问列表中字典的值3.遍历访问多个值2.字典中存储列表1.访问字典中的列表元素2.访问字典