Skip to content

Amazon S3 та S3-сумісні сховища

Бакет S3 можна проглядати в панелі як будь-яку теку. Виберіть Підключитися до Amazon S3… у меню Мережа, вкажіть точку доступу та ключі — і сховище з’явиться в активній панелі, де верхній рівень — список бакетів, а кожен бакет нижче — звичайний каталог.

Працює з Amazon S3 і з усім, що говорить тим самим протоколом: MinIO, Ceph/RADOS Gateway, Cloudflare R2, Wasabi, Backblaze B2 та DigitalOcean Spaces доступні.

Це плагін, тож його можна вимкнути або вилучити в Конфігурація ▸ Плагіни….

Підключення

Меню Служба заповнює дві налаштування, які не вгадати — чи використовувати HTTPS і чи потрібна точці доступу адресація за шляхом — а саму точку доступу залишає вам, бо вона зазвичай залежить від облікового запису. Обидві налаштування відмовляють так, що це виглядає чимось іншим: адресація через ім’я хоста до «голої» IP-адреси — помилка розв’язання імен, а адресація за шляхом до Amazon — «немає такого бакета», що читається як відсутній бакет.

Секретний ключ потрапляє до Зв’язки ключів через основну програму, а не до файлу налаштувань. Залиште поле порожнім при наступному підключенні — буде використано збережений.

Запам’ятати це підключення зберігає точку доступу, регіон, ID ключа та спосіб адресації — але ніколи сам секрет — у ~/Library/Application Support/PeachCommander/s3/profiles.json. Запам’ятане підключення стає ще й кнопкою на панелі дисків, і клац на ній підключає його напряму, не відкриваючи цей діалог знову.

Профілі, які ви вже маєте

Якщо ви користуєтеся командним рядком AWS, його профілі пропонуються в меню Назва з позначкою (AWS CLI) і читаються з ~/.aws/credentials та ~/.aws/config — разом із регіоном, токеном сесії та s3.addressing_style. Назад туди нічого не записується, і такий профіль не запам’ятовується типово: тримати другу копію секрету — це те, про що просять, а не те, що трапляється через вибір назви в меню.

Публічні бакети

Анонімне підключення взагалі не надсилає підпису — саме цього хоче публічно читаний бакет. Якщо бакет не публічний, вам скажуть саме це, а не що ключ відкинуто: ключа не було.

Що можна робити

Перегляд, читання, запис, створення тек і бакетів, вилучення, перейменування та переміщення — усе працює. Копіювання й переміщення відбуваються на сервері: байти не йдуть через ваш Mac.

Теки в S3 насправді не існує — це або спільний префікс ключів під нею, або об’єкт нульової довжини, чия назва завершується на /. І те, і те показується як тека. Створення записує такий маркер; вилучення вилучає кожен об’єкт під нею, бо вилучати більше нічого.

На верхньому рівні Нова тека створює бакет — цей рівень і є список бакетів, іншого сенсу там бути не може.

Клас зберігання та ETag доступні як стовпці панелі (правий клац на заголовку). Обидва беруться з уже отриманого списку й нічого не коштують.

Чого від нього чекати

Бакет не можна перейменувати. У S3 такої операції немає, а альтернатива — скопіювати кожен об’єкт до нового бакета й вилучити старий — не те, про що просив діалог перейменування. Це відхиляється, а не імітується.

Передача йде цілими файлами. Файл беруть або надсилають одним куском; перервана передача починається заново, а не продовжується. Великі завантаження автоматично діляться на частини; якщо частина не вдалася, частини прибираються, а не залишаються, щоб за них платили.

Перейменування теки не атомарне. Копіювання й вилучення йдуть по одному об’єкту, і на першій помилці все зупиняється, а не продовжується у стан «наполовину переміщено».

Архівні об’єкти не прочитати напряму. Об’єкт у Glacier або Deep Archive потрібно спершу відновити — у консолі AWS або через CLI. Панель так і каже, а не відмовляє так, ніби об’єкт пошкоджено.

Список дуже великої теки будується стільки, скільки потрібно серверу. Об’єкти приходять по тисячі, і панель заповнюється, коли надійшла остання сторінка.

Кожен запит у платній службі коштує грошей. Плагін написано так, щоб питати якнайменше — стовпці беруться з уже отриманого списку, регіон бакета дізнається один раз і запам’ятовується — але перегляд бакета не безплатний, як перегляд диска.