R2為開發(fā)者提供零出口費(fèi)用的對(duì)象存儲(chǔ)。在R2出現(xiàn)以前,云提供商告訴我們,每次使用其中存儲(chǔ)的數(shù)據(jù)時(shí)都要支付傳輸費(fèi)用。誰會(huì)存儲(chǔ)數(shù)據(jù)而打算永遠(yuǎn)不再讀???沒有人會(huì)這樣做。然而,每次讀取數(shù)據(jù)時(shí),您都要支付出口費(fèi)用。R2為開發(fā)人員提供了免費(fèi)訪問數(shù)據(jù)的能力,打破了長期束縛應(yīng)用程序構(gòu)建者的生態(tài)系統(tǒng)鎖定。
2022年5月,我們發(fā)布了R2公測(cè)版。短短4個(gè)月時(shí)間,超過1.2萬開發(fā)人員要開始使用R2,而且人數(shù)還在不斷增加,讓我們應(yīng)接不暇。這些開發(fā)者帶著從播客應(yīng)用到視頻平臺(tái)到電子商務(wù)網(wǎng)站的各種用例來找我們,還有像Vecteezy這樣正在支出高達(dá)6位數(shù)出口費(fèi)用的用戶。我們快速學(xué)習(xí),獲得了很好的反饋,今天很高興能宣布R2現(xiàn)已普遍可用。
我們不會(huì)要求您押注我們自己不愿意押注的技術(shù)。在公測(cè)階段,我們花時(shí)間將自己的產(chǎn)品遷移到R2上。Cloudflare Images就是這樣一個(gè)例子,它為成千上萬的客戶在生產(chǎn)中提供服務(wù),現(xiàn)在也使用了R2。
R2有何值得期待之處?
S3兼容性
R2為開發(fā)人員提供了熟悉的對(duì)象存儲(chǔ)接口,S3 API。借助S3兼容性,客戶可輕松地遷移應(yīng)用程序,并立即開始利用R2的優(yōu)勢(shì)。
我們來看一下JavaScript中的一些基本數(shù)據(jù)操作。如果要親自嘗試,您將需要生成一個(gè)Access Key。
無論使用哪種語言,S3 API都能提供熟悉的感覺。我們有這些語言的示例:Go,Java,PHP和Ruby。
區(qū)域:自動(dòng)
我們不想活在這樣的一個(gè)世界里:開發(fā)人員需要盯著水晶球,預(yù)測(cè)應(yīng)用程序流量可能來自哪里。在應(yīng)用程序開發(fā)的第一步選擇區(qū)域,迫使開發(fā)人員在首批用戶出現(xiàn)很久以前就做出優(yōu)化決定。
雖然S3兼容性要求您指定區(qū)域,我們支持的唯一區(qū)域是“auto”。今天,R2自動(dòng)在最接近創(chuàng)建存儲(chǔ)桶請(qǐng)求的可用區(qū)域中選擇一個(gè)存儲(chǔ)桶位置。如果我從位于奧斯汀的家中創(chuàng)建一個(gè)存儲(chǔ)桶,這個(gè)存儲(chǔ)桶將位于距離奧斯汀最近的可用R2區(qū)域中。
日后,R2將使用數(shù)據(jù)訪問模式來自動(dòng)優(yōu)化數(shù)據(jù)存儲(chǔ)的位置,以提供最佳用戶體驗(yàn)。
Cloudflare Workers集成
Workers平臺(tái)為開發(fā)人員提供了跨Cloudflare網(wǎng)絡(luò)的強(qiáng)大計(jì)算能力。當(dāng)您在Workers上部署時(shí),您的代碼會(huì)自動(dòng)部署到Cloudflare全球275多個(gè)數(shù)據(jù)中心。當(dāng)與R2配合使用時(shí),Workers允許開發(fā)人員圍繞數(shù)據(jù)添加自定義邏輯,而沒有任何性能開銷。Workers基于隔離而非容器構(gòu)建,因此無需漫長的冷啟動(dòng)。
讓我們嘗試為R2存儲(chǔ)桶創(chuàng)建一個(gè)簡單的REST API吧。首先創(chuàng)建存儲(chǔ)桶,然后Worker中添加一個(gè)R2綁定。
通過這個(gè)Workers API,我們可以將各種有用的邏輯添加到R2請(qǐng)求的熱路徑中。
預(yù)簽名URL
有時(shí),您需要向您的用戶授予R2中特定對(duì)象的權(quán)限,而不需要他們通過重重障礙。通過預(yù)簽名URL,您可以將任何對(duì)象和動(dòng)作的獨(dú)特組合的權(quán)限委托給用戶。創(chuàng)建一個(gè)預(yù)簽名URL,讓用戶上傳文件或共享文件,而無需訪問整個(gè)存儲(chǔ)桶。
通過預(yù)簽名URL,開發(fā)人員可以輕松構(gòu)建讓終端用戶直接安全地訪問R2的應(yīng)用程序。
公共存儲(chǔ)桶
通過啟用對(duì)一個(gè)R2存儲(chǔ)桶的公共訪問權(quán)限,您能夠?qū)⒃摯鎯?chǔ)桶暴露給未經(jīng)身份驗(yàn)證的請(qǐng)求。雖然這樣做本身用途有限,當(dāng)這些存儲(chǔ)桶與您Cloudflare帳戶下的某個(gè)域關(guān)聯(lián)時(shí),您可以對(duì)您在R2中的數(shù)據(jù)無縫啟用其他Cloudflare功能,例如Access、緩存和機(jī)器人管理。
底線是,公共存儲(chǔ)桶幫助彌合面向域的Cloudflare功能與您的R2存儲(chǔ)桶之間的空白。
透明定價(jià)
R2絕不會(huì)收取出口費(fèi)用。定價(jià)模式僅取決于三個(gè)因素:存儲(chǔ)量,A類操作(寫入,列出)和B類操作(讀?。?。
·存儲(chǔ)定價(jià)為0.015美元/GB/每月。
·A類操作費(fèi)用為4.50美元/百萬次
·B類操作費(fèi)用為0.36美元/百萬次。
但是,在您準(zhǔn)備好開始為R2付費(fèi)以前,我們?cè)试S您完全免費(fèi)地啟動(dòng)并運(yùn)行。包含的使用量如下:
·10 GB/月的存儲(chǔ)數(shù)據(jù)
·A類操作100萬次/月
·B類操作1000萬次/月
接下來?
使R2普遍可用只是我們對(duì)象存儲(chǔ)旅程的開端。我們很高興能分享下一步的構(gòu)建計(jì)劃。
對(duì)象生命周期
未來,R2將允許開發(fā)人員設(shè)置有關(guān)對(duì)象的策略。例如,設(shè)置一項(xiàng)策略來刪除最后一次訪問距今60天的對(duì)象。對(duì)象生命周期將對(duì)象管理向下延伸到對(duì)象存儲(chǔ)。
司法管轄區(qū)限制
雖然我們沒有計(jì)劃顯式地支持區(qū)域,但我們知道數(shù)據(jù)位置對(duì)于許多合規(guī)用例都很重要。司法管轄區(qū)限制將允許開發(fā)人員設(shè)置類似“歐盟”的司法管轄區(qū),從而防止數(shù)據(jù)離開該司法管轄區(qū)。
不停機(jī)實(shí)時(shí)遷移
對(duì)于大型數(shù)據(jù)集而言,遷移是實(shí)時(shí)和持續(xù)進(jìn)行的,因?yàn)橐苿?dòng)數(shù)據(jù)需要時(shí)間。緩存儲(chǔ)備是一鍵將資產(chǎn)遷移到托管R2示例以減少出口費(fèi)用的簡單方法。日后,我們將擴(kuò)展這一機(jī)制,以便您能將任何現(xiàn)有S3對(duì)象存儲(chǔ)桶遷移到R2。