Что понадобится

Любое S3-совместимое хранилище подписывает запросы парой ключей:

  • Идентификатор ключа доступа — открытая половина, например AKIA… у Amazon.
  • Секретный ключ доступа — закрытая половина. AnyBucket хранит его в вашей связке ключей «вход», по одному объекту на закладку.

Создайте ключ с доступом только к нужным бакетам, и не более. Большинство провайдеров позволяют ограничить ключ одним бакетом и правами на чтение или на чтение и запись.

Подключение в пять шагов

  1. Откройте AnyBucket и нажмите ⇧⌘K (Файл → Подключение к серверу …).
  2. В разделе Облачное хранилище выберите плитку своего провайдера. Для всего, чего нет в списке, используйте Совместимое с S3.
  3. Заполните единственное поле, которое указывает, где находится хранилище: регион, ID аккаунта или эндпоинт (см. таблицу ниже).
  4. Вставьте идентификатор ключа доступа и секретный ключ доступа. Оставьте Сохранить секрет в Связке ключей включённым, если не хотите вводить его каждый раз.
  5. При желании введите бакет и папку, задайте закладке короткое имя и нажмите Подключиться.

Закладка появится на начальной странице, в меню источника каждой панели и в палитре ⌘K.

Где находится каждый провайдер

Каждая плитка запрашивает одно значение и составляет из него эндпоинт:

Плитка Что вы вводите Эндпоинт, который использует AnyBucket
Amazon S3 Регион, необязательно (us-east-1) Собственный эндпоинт Amazon
Cloudflare R2 ID вашего аккаунта https://<account>.r2.cloudflarestorage.com
Backblaze B2 Регион бакета (us-west-004) https://s3.<region>.backblazeb2.com
Wasabi Регион (us-east-1) https://s3.<region>.wasabisys.com
DigitalOcean Spaces Дата-центр (nyc3) https://<region>.digitaloceanspaces.com
Google Cloud Storage Ничего https://storage.googleapis.com
Совместимое с S3 Адрес сервера То, что вы ввели

Google Cloud Storage работает через свой S3-совместимый интерфейс, который использует ключи HMAC: создайте ключ доступа и секрет для сервисного аккаунта или своего пользователя в настройках Cloud Storage, затем вставьте их, как описано выше.

MinIO и собственные хранилища

Для MinIO, LocalStack и других собственных серверов выберите Совместимое с S3 и введите адрес сервера с портом, например https://minio.example.com:9000.

Затем включите в закладке адресацию в стиле пути (path-style). Amazon помещает бакет в имя хоста (bucket.s3.amazonaws.com), а большинство собственных хранилищ ожидают его в пути (minio.example.com/bucket). Если хранилище подключается, но ничего не показывает или отклоняет все запросы, в первую очередь проверьте path-style. См. устранение неполадок.

Копирование, перемещение и большие файлы

Бакет ведёт себя как папка на вашем Mac:

  • Загрузка: откройте этот Mac в другой панели, отметьте файлы клавишей Space и нажмите F5. Перетаскивание файлов из Finder тоже работает.
  • Скачивание: то же самое в обратную сторону или ⇧⌘D, чтобы скачать в выбранную папку.
  • Большие файлы загружаются частями с помощью составной загрузки (multipart upload), а при обрыве соединения передача повторяется через новое.
  • Внутри одного сервера копирование выполняется на стороне сервера через CopyObject: на ваш Mac ничего не скачивается.
  • Между провайдерами, например из Amazon S3 в Cloudflare R2, откройте их в разных панелях и нажмите F5. Файлы идут через небольшой буфер на вашем Mac. См. копирование файлов между серверами.

⇧⌘C копирует URL файла, а F3 открывает его в Быстром просмотре.

Папка всегда в актуальном состоянии

Чтобы сделать резервную копию папки в бакете, откройте папку в одной панели, а бакет — в другой и нажмите ⌥F5. «Сравнить и синхронизировать» покажет все различия, а вы выберете зеркалирование в одну сторону или синхронизацию в обе. См. синхронизацию папки с сервером.