Посібники

Файловий менеджер для Backblaze B2: підключіть його до Nubbo

Як підключити бакет Backblaze B2 до Nubbo: ключ застосунку, регіон, майстер крок за кроком, CORS через B2 CLI і що робити, якщо не вдалося.

Nubbo підключається до Backblaze B2 через його S3-сумісний API за допомогою ключа застосунку та регіону вашого облікового запису. За кілька хвилин ваші бакети опиняться у файловому провіднику з прямими завантаженнями, посиланнями для спільного доступу та галереями. Цей посібник крок за кроком проходить майстер Nubbo обома шляхами: автоматичним або з ключем, обмеженим одним бакетом.

Що ви отримуєте

  • Переглядайте бакет як диск: папки, подання, пошук, кошик, мітки й обране.
  • Завантажуйте файли напряму між браузером і Backblaze B2. Файли ніколи не проходять через сервери Nubbo.
  • Діліться файлами й папками з паролем, терміном дії та лімітом завантажень, отримуйте файли у свій бакет і створюйте галереї.
  • Ваші ключі зберігаються зашифрованими за допомогою AES-256-GCM, і бакет можна відключити будь-коли.

Перед початком

Вам потрібні обліковий запис Backblaze B2 і обліковий запис Nubbo. Кожен підключений бакет враховується в ліміті вашого тарифу: Безкоштовний дозволяє 2, Personal 5, а Pro не має обмежень. У B2 регіон вибирається під час створення облікового запису й діє для всіх його бакетів. Його видно в endpoint будь-якого бакета у форматі s3.<region>.backblazeb2.com: саме цей регіон треба вибрати в Nubbo. Головний ключ облікового запису не працює з API S3, тому завжди створюйте ключ застосунку.

Виберіть спосіб підключення

Майстер Nubbo пропонує два шляхи. Обидва закінчуються однаково: бакет підключено й готово до завантажень із браузера.

АвтоматичноЗ обмеженим ключем
КлючДоступ до всього облікового записуОбмежений одним бакетом
БакетNubbo використає ваш або створить новийВи створюєте його заздалегідь
CORSNubbo додасть правило за васПравило додаєте ви
Коли вибиратиНайшвидший спосібКоли не хочете давати доступ до всього облікового запису

Автоматичне підключення

Крок 1: створіть ключ у Backblaze B2

  1. На backblaze.com відкрийте B2 Cloud Storage, Application Keys і натисніть Add a New Application Key. Не використовуйте головний ключ застосунку (master application key).
  2. Дайте йому назву, для Allow Access to Bucket(s) виберіть All, а для Type of Access виберіть Read and Write. Натисніть Create New Key.
  3. Скопіюйте keyID (ключ доступу) і applicationKey (секрет). Backblaze показує applicationKey лише один раз.
  4. У Buckets подивіться endpoint будь-якого бакета, щоб дізнатися свій регіон.

Крок 2: підключіть бакет у Nubbo

  1. У Nubbo відкрийте Бакети й натисніть Підключити бакет. Виберіть Backblaze B2 і натисніть Продовжити.

    Крок «Провайдер» майстра Nubbo з вибраним Backblaze B2 Крок «Провайдер» майстра Nubbo з вибраним Backblaze B2
  2. Виберіть Автоматично й натисніть Продовжити.

    Крок «Спосіб підключення» з варіантами «Автоматично» та «З обмеженим ключем» Крок «Спосіб підключення» з варіантами «Автоматично» та «З обмеженим ключем»
  3. На кроці Ваш ключ вставте keyID і applicationKey та виберіть регіон свого облікового запису. Натисніть Перевірити ключ. Nubbo перевірить, що ключ працює і має доступ до всього облікового запису.

    Крок «Ваш ключ» для Backblaze B2 з коротким посібником і полями ключа Крок «Ваш ключ» для Backblaze B2 з коротким посібником і полями ключа
  4. Виберіть один зі своїх бакетів і натисніть Використати цей bucket або виберіть Створити новий, введіть назву (і виберіть регіон, якщо майстер попросить) та натисніть Створити й підготувати. Nubbo додасть до бакета правило CORS, яке дозволяє завантаження лише із застосунку, і збереже правила, що вже є.

    Крок «Ваш bucket» зі списком бакетів і варіантом «Створити новий» Крок «Ваш bucket» зі списком бакетів і варіантом «Створити новий»
  5. Перегляньте три перевірки, за бажання змініть Назва в Nubbo і натисніть Завершити. Бакет з’явиться в розділі Бакети, і його можна відкрити в провіднику.

    Крок «Готово» з перевірками підключення, бакета та CORS Крок «Готово» з перевірками підключення, бакета та CORS

Потім у бакеті відкрийте Lifecycle Settings і виберіть Keep only the last version of the file. Інакше B2 зберігатиме всі версії, і видалення з Nubbo не звільнятиме місце.

Якщо Nubbo не може додати правило CORS з вашим ключем, майстер переведе вас на крок CORS. Тоді виконайте розділ Додайте правило CORS.

Підключення з обмеженим ключем

Крок 1: підготуйте бакет і ключ у Backblaze B2

  1. У Buckets натисніть Create a Bucket, дайте йому назву й залиште Private.
  2. У бакеті відкрийте Lifecycle Settings і виберіть Keep only the last version of the file.
  3. Подивіться endpoint бакета, щоб дізнатися регіон.
  4. В Application Keys натисніть Add a New Application Key, обмежте доступ своїм бакетом із Read and Write і позначте Allow List All Bucket Names. Натисніть Create New Key.
  5. Скопіюйте keyID і applicationKey.

Крок 2: підключіть бакет у Nubbo

  1. У розділі Бакети натисніть Підключити бакет, виберіть Backblaze B2, а потім З обмеженим ключем.
  2. Вставте keyID і applicationKey та виберіть регіон. Натисніть Перевірити ключ.
  3. Введіть точну назву бакета й натисніть Перевірити доступ.
  4. Майстер перейде на крок CORS із правилом, яке треба додати.

Додайте правило CORS

Правило CORS дозволяє браузеру завантажувати файли у ваш бакет і з нього на https://nubbo.app. Це те саме правило, яке майстер показує на кроці CORS.

Правила CORS у консолі B2 є готовими шаблонами й не дають вибрати операції, тому правило Nubbo додається через інструмент командного рядка B2 (b2) з ключем, який може змінювати налаштування бакета.

  1. Встановіть CLI, наприклад командою pip install b2.
  2. Увійдіть зі своїми keyID і applicationKey: b2 account authorize.
  3. Застосуйте правило, замінивши your-bucket назвою бакета. allPrivate залишає бакет приватним.
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
Крок CORS із правилом, яке треба додати до бакета Крок CORS із правилом, яке треба додати до бакета

Коли правило застосовано, поверніться в Nubbo й натисніть Готово, перевірити. Якщо ваш ключ має право змінювати CORS, кнопка Спробувати налаштувати за мене зробить це за вас.

Якщо щось пішло не так

Повідомлення в NubboЩо робити
«Схоже, цей ключ обмежений одним bucket. Можна продовжити обмеженим шляхом або створити ключ із повним доступом.»Натисніть «Продовжити з обмеженим ключем» або створіть ключ із доступом до всього облікового запису й натисніть «Спробувати інший ключ».
«Bucket не знайдено. Перевірте назву та регіон.»Перевірте точну назву бакета й те, що вибраний регіон збігається з регіоном бакета.
«Ваш ключ не має дозволу створювати bucket.»Використайте ключ із повним доступом або створіть бакет у своїй панелі й натисніть «Він уже створений у моїй панелі».
«Ця назва вже використовується в цього провайдера; спробуйте іншу.»Назви бакетів унікальні в межах провайдера: виберіть іншу.
«Ваш ключ не має дозволу на це налаштування.»Додайте правило CORS вручну, як описано вище.
«Ще не працює. Перегляньте правило й перевірте знову; деяким провайдерам потрібна хвилина, щоб його застосувати.»Переконайтеся, що джерело (origin) саме https://nubbo.app без скісної риски в кінці, зачекайте хвилину й перевірте знову.
«Цей bucket вже використовується.»Цей бакет уже підключено в Nubbo, у вашому чи в іншому обліковому записі.
«Недійсні облікові дані. Перевірте ключ доступу та секретний ключ доступу.»Переконайтеся, що не використовуєте головний ключ застосунку, який не працює з API S3.
«Bucket розташовано в іншому регіоні. Перевірте налаштований регіон.»Виберіть у Nubbo регіон, указаний в endpoint бакета.

Скільки це коштує

Backblaze B2 бере плату за ТБ, дає 10 ГБ безкоштовно й безкоштовний вихідний трафік до трикратного обсягу того, що ви зберігаєте. Ми пояснюємо це в статті Ціни Backblaze B2.

Поширені запитання

Чи можна використати головний ключ застосунку Backblaze?

Ні. Backblaze не підтримує головний ключ у своєму S3-сумісному API. Створіть ключ застосунку в Application Keys.

Який регіон вибрати в Nubbo для B2?

Той, що вказаний в endpoint ваших бакетів, у форматі s3.<region>.backblazeb2.com. У B2 усі бакети облікового запису розташовані в одному регіоні.

Чому CORS налаштовується через B2 CLI?

Бо правила в консолі є готовими шаблонами й не дають вибрати операції, потрібні Nubbo. CLI це найпростіший спосіб застосувати точне правило; підійде й будь-який інструмент S3, що виконує PutBucketCors на endpoint B2.

Чому видалення в Nubbo не звільняє місце в B2?

Бо B2 за замовчуванням зберігає попередні версії. У Lifecycle Settings бакета виберіть Keep only the last version of the file.

Джерела

Ціни та ліміти взято з офіційних сторінок нижче. Провайдери їх змінюють, тож перевірте, перш ніж ухвалювати рішення.