對象存儲(chǔ)(Cloud Object Storage,COS)是一種存儲(chǔ)海量文件的分布式存儲(chǔ)服務(wù),具有高擴(kuò)展性、低成本、可靠安全等優(yōu)點(diǎn)。
對象存儲(chǔ)有什么用呢?對于站長而言,比如Python實(shí)用寶典網(wǎng)站的服務(wù)器位于騰訊云香港,大陸訪問速度會(huì)比較慢,這時(shí)候我可以將圖片等靜態(tài)資源轉(zhuǎn)移到對象存儲(chǔ)上,以提高用戶的訪問速度。
實(shí)際上,這兩天我就對Python實(shí)用寶典做了這樣的調(diào)整,搭配上懶加載,效果極佳,用戶訪問并渲染圖片的過程所耗費(fèi)的時(shí)間大大減少,大家可以訪問Python實(shí)用寶典網(wǎng)體驗(yàn)一下:
https://pythondict.com
那么對于非站長的普通用戶有什么用?相比于其他什么百度網(wǎng)盤之類的產(chǎn)品,COS最重要的優(yōu)勢是:
- 上傳下載不限速,數(shù)據(jù)中心多地任選
- 能實(shí)現(xiàn)文件分享功能,同樣不限速
- 能自動(dòng)創(chuàng)建文件歷史備份,方便回溯辦公文件
- 支持各平臺(tái)用客戶端管理文件,電腦端甚至還可直接將網(wǎng)盤掛載為一個(gè)虛擬磁盤
- 價(jià)格按用量計(jì)費(fèi)(存儲(chǔ)量、下行流量),免費(fèi)額度用完后,你可能一個(gè)月大約也才需要花費(fèi) 6 元
像騰訊云這樣的大云服務(wù)商,每個(gè)月都給用戶提供了50G的免費(fèi)容量:
非常好,下面大家可以跟著我一起嘗試使用一下,或許你會(huì)愛上這個(gè)產(chǎn)品。
0.創(chuàng)建存儲(chǔ)桶
進(jìn)入騰訊云的對象存儲(chǔ)頁面:
https://console.cloud.tencent.com/cos5/bucket#
選擇創(chuàng)建存儲(chǔ)桶,可以隨意命名你的數(shù)據(jù)桶,地域可以選擇離你最近的。注意訪問權(quán)限這一項(xiàng),如果你希望你的朋友也能下載數(shù)據(jù)桶內(nèi)的文件,一定要選擇公有讀私有寫。
1.安裝
接下來說說怎么用Python將靜態(tài)資源轉(zhuǎn)移到騰訊云COS上。
Coscmd是騰訊云官方基于Python推出的上傳工具,使用起來非常方便。
使用 pip 安裝 coscmd:
如果直接安裝失敗了,可以嘗試源碼安裝:
git clone https://github.com/tencentyun/coscmd.git
cd coscmd
python setup.py install
可以使用 coscmd -v
查看版本號(hào)
# coscmd -v
coscmd 1.8.6.16
2.配置
安裝完成之后我們還需要一些參數(shù)配置,配置密鑰、存儲(chǔ)桶地域等。我們遷移數(shù)據(jù)時(shí)僅僅只需要配置一些簡單的參數(shù)即可:
coscmd config -a SecretID -s SecretKey -b BucketName-APPID -r region
BucketName-APPID 是存儲(chǔ)桶名稱,region 為存儲(chǔ)桶所在地域,SecretID 和 SecretKey 可以在控制臺(tái)獲取,如果沒有的話直接創(chuàng)建一個(gè):
https://console.cloud.tencent.com/cam/capi
創(chuàng)建后如上圖下方列表所示,有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 中,存放的路徑則因使用而異。
如果是網(wǎng)站的話,比如WordPress 的媒體庫存儲(chǔ)路徑建議使用 wp-content/uploads/
,如果你是為了個(gè)人使用,可以上傳到任意位置,建議使用:home/.
上傳完成后如上圖所示,你可以在文件列表中找到你剛上傳的這些媒體文件。
當(dāng)然,COS也支持手動(dòng)上傳文件:
如果你按照我的步驟創(chuàng)建了一個(gè)公有讀私有寫的數(shù)據(jù)桶,那么上傳的這些資源也支持分享文件下載地址給別人:
上圖中顯示的對象地址,就可以拿來分享給你任何朋友下載,不限速!不限速!不限速!怎么樣,是不是超香?
到此這篇關(guān)于Python 轉(zhuǎn)移文件至云對象存儲(chǔ)的文章就介紹到這了,更多相關(guān)Python 云對象存儲(chǔ)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- Python統(tǒng)計(jì)可散列的對象之容器Counter詳解
- python面向?qū)ο蠡A(chǔ)之常用魔術(shù)方法
- Python面向?qū)ο蠓庋b繼承和多態(tài)示例講解
- Python實(shí)現(xiàn)學(xué)生管理系統(tǒng)的完整代碼(面向?qū)ο?
- python學(xué)習(xí)之可迭代對象、迭代器、生成器
- Python中的類對象示例詳解
- Python中對象的比較操作==和is區(qū)別詳析
- Python數(shù)據(jù)模型與Python對象模型的相關(guān)總結(jié)
- python 對象真假值的實(shí)例(哪些視為False)
- Python reversed反轉(zhuǎn)序列并生成可迭代對象
- Python如何使用vars返回對象的屬性列表
- Python通過getattr函數(shù)獲取對象的屬性值
- python源碼剖析之PyObject詳解