Nubbo kết nối với Backblaze B2 qua API tương thích S3 của nó, bằng một application key và khu vực của tài khoản. Chỉ trong vài phút, các bucket của bạn sẽ nằm trong một trình khám phá tệp có tải lên trực tiếp, liên kết chia sẻ và thư viện ảnh. Hướng dẫn này đi theo từng bước của trình hướng dẫn Nubbo, với cả hai cách: tự động hoặc với khóa giới hạn cho một bucket.
Bạn nhận được gì
- Duyệt bucket như một ổ đĩa: thư mục, chế độ xem, tìm kiếm, thùng rác, nhãn và yêu thích.
- Tải tệp lên và tải xuống trực tiếp giữa trình duyệt của bạn và Backblaze B2. Tệp không bao giờ đi qua máy chủ của Nubbo.
- Chia sẻ tệp và thư mục với mật khẩu, thời hạn và giới hạn lượt tải xuống, nhận tệp vào bucket và tạo thư viện ảnh.
- Khóa của bạn được lưu ở dạng mã hóa AES-256-GCM và bạn có thể ngắt kết nối bucket bất cứ lúc nào.
Trước khi bắt đầu
Bạn cần một tài khoản Backblaze B2 và một tài khoản Nubbo. Mỗi bucket bạn kết nối được tính vào giới hạn gói của bạn: gói Miễn phí cho phép 2, Personal 5 và Pro không giới hạn. Trên B2, khu vực được chọn khi bạn tạo tài khoản và áp dụng cho mọi bucket của tài khoản đó. Bạn có thể thấy nó trong endpoint của bất kỳ bucket nào, có dạng s3.<region>.backblazeb2.com: đó là khu vực cần chọn trong Nubbo. Master key của tài khoản không hoạt động với API S3, nên hãy luôn tạo một application key.
Chọn cách kết nối
Trình hướng dẫn của Nubbo có hai cách. Cả hai đều kết thúc giống nhau: bucket được kết nối và sẵn sàng để tải lên từ trình duyệt.
| Tự động | Với khóa giới hạn | |
|---|---|---|
| Khóa | Truy cập toàn bộ tài khoản | Giới hạn cho một bucket |
| Bucket | Nubbo dùng một bucket bạn có hoặc tạo bucket mới | Bạn tạo trước |
| CORS | Nubbo thêm quy tắc giúp bạn | Bạn tự thêm quy tắc |
| Khi nào nên chọn | Cách nhanh nhất | Khi bạn không muốn cấp quyền truy cập toàn bộ tài khoản |
Kết nối tự động
Bước 1: tạo khóa trong Backblaze B2
- Trên backblaze.com, mở B2 Cloud Storage, Application Keys và nhấn Add a New Application Key. Không dùng master application key.
- Đặt tên, đặt Allow Access to Bucket(s) thành All và Type of Access thành Read and Write. Nhấn Create New Key.
- Sao chép keyID (access key) và applicationKey (secret). Backblaze chỉ hiển thị applicationKey một lần.
- Trong Buckets, xem endpoint của bất kỳ bucket nào để biết khu vực của bạn.
Bước 2: kết nối bucket trong Nubbo
Trong Nubbo, mở Bucket và nhấn Kết nối bucket. Chọn Backblaze B2 và nhấn Tiếp tục.

Chọn Tự động và nhấn Tiếp tục.

Ở bước Khóa của bạn, dán keyID và applicationKey rồi chọn khu vực của tài khoản. Nhấn Kiểm tra khóa. Nubbo kiểm tra rằng khóa hoạt động và có quyền truy cập toàn bộ tài khoản.

Chọn một bucket của bạn và nhấn Dùng bucket này, hoặc chọn Tạo mới, nhập tên (và chọn khu vực nếu được hỏi) rồi nhấn Tạo và chuẩn bị. Nubbo thêm vào bucket một quy tắc CORS chỉ cho phép tải lên và tải xuống từ ứng dụng, đồng thời giữ nguyên các quy tắc bucket đã có.

Xem lại ba mục kiểm tra, đổi Tên trong Nubbo nếu muốn và nhấn Hoàn tất. Bucket sẽ xuất hiện trong mục Bucket và bạn có thể mở nó trong trình khám phá.

Nếu Nubbo không thể thêm quy tắc CORS bằng khóa của bạn, trình hướng dẫn sẽ đưa bạn tới bước CORS. Khi đó hãy làm theo phần Thêm quy tắc CORS.
Sau đó, trong bucket, mở Lifecycle Settings và chọn Keep only the last version of the file. Nếu không, B2 sẽ giữ mọi phiên bản và việc xóa từ Nubbo không giải phóng dung lượng.
Kết nối với khóa giới hạn
Bước 1: chuẩn bị bucket và khóa trong Backblaze B2
- Trong Buckets, nhấn Create a Bucket, đặt tên và giữ ở chế độ Private.
- Trong bucket, mở Lifecycle Settings và chọn Keep only the last version of the file.
- Xem endpoint của bucket để biết khu vực.
- Trong Application Keys, nhấn Add a New Application Key, giới hạn quyền truy cập vào bucket của bạn với Read and Write và đánh dấu Allow List All Bucket Names. Nhấn Create New Key.
- Sao chép keyID và applicationKey.
Bước 2: kết nối bucket trong Nubbo
- Trong Bucket, nhấn Kết nối bucket, chọn Backblaze B2 rồi chọn Với khóa giới hạn.
- Dán keyID và applicationKey rồi chọn khu vực. Nhấn Kiểm tra khóa.
- Nhập chính xác tên bucket và nhấn Kiểm tra quyền truy cập.
- Trình hướng dẫn chuyển sang bước CORS với quy tắc bạn cần thêm.
Thêm quy tắc CORS
Quy tắc CORS cho phép trình duyệt tải tệp lên và tải xuống từ bucket của bạn trên https://nubbo.app. Đây chính là quy tắc trình hướng dẫn hiển thị ở bước CORS.
Các quy tắc CORS trong console B2 là cấu hình định sẵn và không cho bạn chọn thao tác, nên quy tắc của Nubbo được thêm bằng công cụ dòng lệnh của B2 (b2), dùng một khóa có quyền thay đổi cài đặt của bucket.
- Cài đặt CLI, ví dụ bằng
pip install b2. - Đăng nhập bằng keyID và applicationKey:
b2 account authorize. - Áp dụng quy tắc, thay
your-bucketbằng tên bucket.allPrivategiữ bucket ở chế độ riêng tư.
b2 bucket update --cors-rules '[{"corsRuleName":"nubbo","allowedOrigins":["https://nubbo.app"],"allowedOperations":["s3_get","s3_head","s3_put","s3_post","s3_delete"],"allowedHeaders":["*"],"exposeHeaders":["etag"],"maxAgeSeconds":3600}]' your-bucket allPrivate

Sau khi áp dụng, hãy quay lại Nubbo và nhấn Đã thêm, kiểm tra. Nếu khóa của bạn có quyền thay đổi CORS, Thử cấu hình giúp tôi sẽ làm việc đó cho bạn.
Nếu có sự cố
| Thông báo trong Nubbo | Cách xử lý |
|---|---|
| “Khóa này có vẻ chỉ giới hạn cho một bucket. Bạn có thể tiếp tục theo cách giới hạn hoặc tạo khóa có toàn quyền truy cập.” | Nhấn Tiếp tục với khóa giới hạn, hoặc tạo khóa có quyền truy cập toàn bộ tài khoản và nhấn Thử khóa khác. |
| “Không tìm thấy bucket. Hãy xác minh tên và khu vực.” | Kiểm tra chính xác tên bucket và khu vực đã chọn có đúng là khu vực của bucket không. |
| “Khóa của bạn không có quyền tạo bucket.” | Dùng khóa có toàn quyền truy cập, hoặc tạo bucket trong bảng điều khiển của bạn và nhấn Tôi đã tạo trong bảng điều khiển. |
| “Tên này đã được dùng ở nhà cung cấp này; hãy thử tên khác.” | Tên bucket là duy nhất trên toàn nhà cung cấp: hãy chọn tên khác. |
| “Khóa của bạn không có quyền thiết lập việc này.” | Thêm quy tắc CORS thủ công, như đã giải thích ở trên. |
| “Vẫn chưa hoạt động. Hãy xem lại quy tắc và kiểm tra lại; một số nhà cung cấp cần một phút để áp dụng.” | Kiểm tra rằng origin chính xác là https://nubbo.app, không có dấu gạch chéo ở cuối, đợi một phút rồi kiểm tra lại. |
| “Bucket này đã được sử dụng.” | Bucket đó đã được kết nối trong Nubbo, ở tài khoản của bạn hoặc một tài khoản khác. |
| “Thông tin đăng nhập không hợp lệ. Hãy kiểm tra access key và secret access key.” | Kiểm tra rằng bạn không dùng master application key, vốn không hoạt động với API S3. |
| “Bucket nằm ở khu vực khác. Hãy xác minh khu vực đã cấu hình.” | Chọn trong Nubbo khu vực hiển thị trong endpoint của bucket. |
Chi phí
Backblaze B2 tính phí theo TB, có 10 GB miễn phí và egress miễn phí tới ba lần dung lượng bạn lưu trữ. Chúng tôi giải thích trong Giá Backblaze B2.
Câu hỏi thường gặp
Tôi có thể dùng master application key của Backblaze không?
Không. Backblaze không hỗ trợ master key trên API tương thích S3. Hãy tạo một application key trong Application Keys.
Tôi chọn khu vực nào trong Nubbo cho B2?
Khu vực nằm trong endpoint của bucket, có dạng s3.<region>.backblazeb2.com. Trên B2, mọi bucket của một tài khoản đều ở cùng một khu vực.
Tại sao CORS được thiết lập bằng B2 CLI?
Vì các quy tắc trong console là cấu hình định sẵn và không cho bạn chọn các thao tác Nubbo cần. CLI là cách đơn giản nhất để áp dụng đúng quy tắc; mọi công cụ S3 chạy PutBucketCors với endpoint B2 cũng dùng được.
Tại sao xóa trong Nubbo không giải phóng dung lượng trên B2?
Vì B2 mặc định giữ lại các phiên bản cũ. Trong Lifecycle Settings của bucket, chọn Keep only the last version of the file.
Nguồn
Giá và giới hạn lấy từ các trang chính thức bên dưới. Nhà cung cấp có thể thay đổi chúng, nên hãy kiểm tra trước khi quyết định.