Ведро — это контейнер данных верхнего уровня, Уменьшить хранилище. Вы можете рассматривать его как папку файловой системы. Если вы удалите его, вы удалите все файлы внутри ведра. Также он имеет общие настройки для всех записей, таких как квота или максимальный размер блока.

Вы можете создать, удалить или просмотреть сегмент, используя:

  1. HTTP API с завитком
  2. питон, JavaScriptили же С++ SDK
  3. Веб-консоль
  4. CLI-клиент

В этом посте я покажу вам, как мы можем использовать клиент CLI для типичных операций с ведром.


Установка

Клиент CLI является кроссплатформенным и написан на чистом Python. Самый простой способ установить это pip:

pip install reduct-cli
Войти в полноэкранный режим

Выйти из полноэкранного режима

После установки проверьте версию:

rcli --version
Войти в полноэкранный режим

Выйти из полноэкранного режима

Это руководство было написано и протестировано для версии 0.2.0 и Reduct Storage 1.0.1.


Псевдоним

Чтобы не вводить учетные данные и URL-адрес сервера для каждой команды, клиент CLI использует псевдонимы. Итак, мы должны настроить его, прежде чем начать. Давайте запустим Уменьшить хранилище instance локально и добавьте к нему псевдоним:

rcli alias add local
  URL: 
  API Token []: # leav token empty if you don't use it
Войти в полноэкранный режим

Выйти из полноэкранного режима

Проверять:

rcli server status local
Status:     Ok
Version:    1.0.1
Uptime:     39 second(s)
Войти в полноэкранный режим

Выйти из полноэкранного режима

Если у вас нет ошибок, вы создаете правильный псевдоним.


Ведро управления

Теперь мы можем создать ведро:

rcli bucket create --quota-type FIFO --quota-size 30Mb local/my-data
Bucket 'my-data' created
Войти в полноэкранный режим

Выйти из полноэкранного режима

Здесь мы создали ведро с именем my-data и квота FIFO 30 МБ. Мы выбираем этот тип квоты корзины для удаления старых данных, когда размер корзины достигает 30 МБ.

Вы можете проверить все настройки:

rcli bucket show local/my-data --full

╭───────────────────── Info ─────────────────────╮╭───────── Settings ─────────╮
│ Entry count:         0                         ││ Quota Type:         FIFO   │
│ Size:                0 B                       ││ Quota Size:         30 MB  │
│ Oldest Record (UTC): ---                       ││ Max. Block Size:    64 MB  │
│ Latest Record (UTC): ---                       ││ Max. Block Records: 1024   │
│ History Interval:    ---                       ││                            │
│                                                ││                            │
│                                                ││                            │
│                                                ││                            │
│                                                ││                            │
│                                                ││                            │
╰────────────────────────────────────────────────╯╰────────────────────────────╯
                                    Entries                                     
┏━━━━━━┳━━━━━━━━━┳━━━━━━━━┳━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━┳━━━━━━━━━┓
┃      ┃         ┃        ┃      ┃ Oldest Record   ┃ Latest Record   ┃         ┃
┃ Name ┃ Records ┃ Blocks ┃ Size ┃ (UTC)           ┃ (UTC)           ┃ History ┃
┡━━━━━━╇━━━━━━━━━╇━━━━━━━━╇━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━╇━━━━━━━━━┩
└──────┴─────────┴────────┴──────┴─────────────────┴─────────────────┴─────────┘
Войти в полноэкранный режим

Выйти из полноэкранного режима

Вы также можете заметить, что ведро пусто. Мы можем записать туда некоторые данные с помощью CURL:

curl -X POST -d "Hey, I'm a blob string"  /api/v1/b/my-data/entry?ts=1667741359000000
Войти в полноэкранный режим

Выйти из полноэкранного режима

Если мы повторим предыдущий bucket show Команда, мы должны увидеть, что в корзине теперь есть некоторые данные:

rcli bucket show local/my-data --full
Войти в полноэкранный режим

Выйти из полноэкранного режима

Клиент CLI также предоставляет bucket ls команда для печати списка сегментов:

rcli bucket ls local
my-data
Войти в полноэкранный режим

Выйти из полноэкранного режима

Вы также можете добавить --full флаг, чтобы показать больше деталей:

rcli bucket ls local --full

┏━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━┳━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━┓
┃                  ┃             ┃      ┃ Oldest Record     ┃ Latest Record    ┃
┃             Name ┃ Entry Count ┃ Size ┃ (UTC)             ┃ (UTC)            ┃
┡━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━╇━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━┩
│          my-data │ 1           │ 22 B │ 2022-11-06T13:29… │ 2022-11-06T13:2… │
├──────────────────┼─────────────┼──────┼───────────────────┼──────────────────┤
│      Total for 1 │ 1           │ 22 B │ 2022-11-06T13:29… │ 2022-11-06T13:2… │
│          buckets │             │      │                   │                  │
└──────────────────┴─────────────┴──────┴───────────────────┴──────────────────┘
Войти в полноэкранный режим

Выйти из полноэкранного режима

В конце концов, вы можете удалить свое ведро и все его данные. Вы должны использовать bucket rm команда для этого:

rcli bucket rm local/my-data
All data in bucket 'my-data' will be REMOVED.
Do you want to continue? [y/N]: y
Bucket 'my-data' was removed
Войти в полноэкранный режим

Выйти из полноэкранного режима

Я надеюсь, что это было полезно. Проект Reduct Storage — это программное обеспечение с открытым исходным кодом. Вы можете найти исходный код механизма хранения и всех его библиотек и инструментов на нашем Организация GitHub. Пожалуйста, создайте тему или обсуждение там, если вам нужна помощь.