sell儲存與資料庫
inventory_2

R2

把任何檔案丟上雲端,要拿回來看時不用再付一毛流量費。

$0流出(下載)費用
$0.015每 GB 每月儲存費
10 GB每月免費儲存空間
S3相容 S3 介面
lightbulb

R2 是什麼?

R2 是一種「物件儲存」(object storage,指專門用來存放大型檔案的服務,例如圖片、影片、備份、資料集)。你把檔案上傳上去,之後用名稱就能取回,完全不用自己管理硬碟。

你存進去的每個檔案叫做「物件(object)」,物件放在「儲存桶(bucket,可以想成一個有名字、像資料夾的容器)」裡。R2 還使用和 Amazon S3(全世界最熱門的物件儲存)一模一樣的介面(API),所以原本給 S3 用的工具和程式碼幾乎不用改就能直接套用。

warehouse

把它想成…

一間超大型的倉儲中心。你依照存放的量付租金,但和別家倉庫不同的是——把箱子搬出來看完全免費,這就是大家最常稱讚的「零流出費(zero egress)」。

help

為什麼要用 R2?

傳統雲端儲存會收一筆「流出費(egress fee,也就是把資料從雲端「搬出去」給使用者所產生的費用)」。對於熱門的網站或 App,這筆突如其來的帳單甚至可能比儲存費還貴。R2 直接把它砍到零。

money_off

不收流出費

把檔案傳給網路上的使用者一律 0 元,無論流量多大都一樣。

cable

相容 S3 工具

原本的 S3 SDK、命令列工具、應用程式幾乎不用改程式碼就能改指向 R2。

public

天生全球化

檔案透過 Cloudflare 遍布全球的網路提供,離使用者更近、更快。

bolt

搭配 Workers

可在 Workers 程式碼裡用簡單的「綁定」直接讀寫物件。

target

什麼時候該用 R2?

image

使用者上傳與媒體

網站或 App 的大頭貼、商品圖、PDF、影片檔案。

backup

備份與封存

很少更動、但想安全又便宜保存的資料庫備份與日誌。

movie

高流量下載

軟體更新檔、資料集、Podcast 集數等被大量下載的內容——這正是流出費平常最傷荷包的場景。

analytics

資料湖

存放原始分析資料與大數據檔案以供日後處理(Pipelines 就是把資料灌進這裡)。

rocket_launch

怎麼開始用?

Wrangler 是 Cloudflare 的命令列工具(CLI,就是你在終端機裡輸入指令操作的程式)。下面的步驟會建立一個儲存桶、把它接到 Worker,並讀寫一個物件。

  1. 安裝 Wrangler 並登入

    安裝工具,接著在它跳出的瀏覽器視窗登入你的 Cloudflare 帳號。

    bash
    npm install -g wrangler
    wrangler login
  2. 建立儲存桶

    儲存桶名稱只能用小寫字母、數字和連字號(-),長度 3 到 63 個字元。

    bash
    wrangler r2 bucket create my-app-files
    wrangler r2 bucket list
  3. 把儲存桶綁定到 Worker

    「綁定(binding)」會讓你的程式碼多一個變數(這裡叫 MY_BUCKET)來操作儲存桶。把這段加進 wrangler.jsonc。

    json
    {
      "r2_buckets": [
        {
          "binding": "MY_BUCKET",
          "bucket_name": "my-app-files"
        }
      ]
    }
  4. 在程式碼裡讀寫物件

    PUT 請求會把內容存成物件;其他請求則用名稱把它讀回來。

    js
    export default {
      async fetch(request, env) {
        const key = new URL(request.url).pathname.slice(1);
    
        if (request.method === "PUT") {
          await env.MY_BUCKET.put(key, request.body);
          return new Response(`Uploaded ${key}!`);
        }
    
        const object = await env.MY_BUCKET.get(key);
        if (object === null) {
          return new Response("Object Not Found", { status: 404 });
        }
        return new Response(object.body);
      },
    };
  5. 部署上線

    把你的 Worker 發布到 Cloudflare 的全球網路。

    bash
    wrangler deploy
school

重點概念

description

物件 (Object)

一個存進去的檔案加上它的中繼資料,用唯一的 key(名稱/路徑)來尋找。

folder

儲存桶 (Bucket)

裝著很多物件、有名字的容器,可以想成最上層的資料夾。

swap_vert

A 類與 B 類操作

A 類=寫入/列出(每百萬次 $4.50);B 類=讀取(每百萬次 $0.36)。下載流量依然免費。

vpn_key

S3 相容性

R2 接受和 Amazon S3 一樣的請求,所以 S3 的 SDK 與搬遷工具都能直接使用。

tips_and_updates

小提示與計費

savings

免費額度很佛心

每個月免費送 10 GB 儲存空間、100 萬次 A 類操作、1,000 萬次 B 類操作——拿來學習或做小專案綽綽有餘。

  • 儲存費為每 GB 每月 $0.015,存多少付多少。
  • 流出費(把檔案傳給網路使用者)永遠是 $0——這是 R2 最大的賣點。
  • 用像 uploads/2026/photo.jpg 這樣清楚的 key 前綴,就能像資料夾一樣整理物件。
  • 幫儲存桶綁一個自訂網域,不用寫 Worker 也能公開提供檔案。