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
猜你喜欢
- 导言到目前为止,我们探讨的教程是由表现层,业务逻辑层和数据访问层构成的层次体系结构。数据访问层和业务逻辑层分别在教程第一和第二章提到。在Di
- 随着3G的普及,越来越多的人使用手机上网。移动设备正超过桌面设备,成为访问互联网的最常见终端。于是,网页设计师不得不面对一个难题:如何才能在
- 一、程序的组织结构任何简单的或者复杂的算法都可以由顺序结构、选择结构和循环结构这三种基本结构组合而成二、顺序结构程序从上到下顺序地执行代码,
- 1. raw,mhd 格式医学图像数据转换raw+mhd格式是常见的一种医学图像格式,每一个病人的数据包含一个mhd文件和一个同名的raw文
- 如图:Oracle 11g安装到42%挂了。上度娘查了一下,原来是Oracle安装包的问题,1,2两个包都要下载下来,而且需要解压到相同(同
- 本文实例讲述了Python时间和字符串转换操作。分享给大家供大家参考,具体如下:例子:#!/usr/bin/python# -*- codi
- 摘要:本文主要就数据库恢复与系统任务的调度,在结合一般性的数据库后台处理的经验上,提出较为实用而新颖的解决方法,拓宽了数据库后台开发的思路。
- 原来工作中曾经碰到过UL列表里一些异常的表现,加上昨天看到了http://bbs.blueidea.com/thread-2984871-1
- 代码如下:Select * from T_Employee select FName,FAge from T_Employee select
- 如下所示:区别ArrayTensor类型uint8,float32系列{}各类型相互转换uint8转float64:image = imag
- 前言Martin(Bob大叔)曾在《代码整洁之道》一书打趣地说:当你的代码在做 Code Review 时,审查者要是愤怒地吼道:“What
- 函数使用单下划线_开头使用单下划线(_)开头的函数_func不能被模块外部以: from module import *形式导入。但可以用:
- 平时在PL/SQL中的编程中遇到一些问题,这里以问答的形式来进行把它们总结下来,以供大家分享。1、当需要向表中装载大量的数据流或者需要处理大
- 原文地址:30 Days of Mootools 1.2 Tutorials - Day 12 - Drag and Drop using
- 散点图散点图是指在 回归分析中,数据点在直角坐标系平面上的 分布图,散点图表示因变量随 自变量而 变
- 为什么要用缓存?首先说,为什么要用缓存的,由于Django是 * 站,所有每次请求均会去数据进行相应的操作,当程序访问量大时,耗时必然会更加
- io.BytesIO简要介绍及示例io.BytesIO 是 Python 内置的一个 I/O 类,用于在内存中读写二进制数据。它的作用类似于
- 在做手机开发时,经常碰到一些比较耗时的操作,这个时候进度条就开始派上用场了。这个demo展示了ProgressBar进度条和Progress
- 如果只是想实现将jenkins的构建结果发送到企业微信进行通知,最简便的方式是安装Qy Wechat Notification Plugin
- tomorrow是我最近在用的一个爬虫利器,该模块属于第三方的一个模块,使用起来非常的方便,只需要用其中的threads方法作为装饰器去修饰