Хранилище
Хранилище в SHM предназначено для хранения произвольных данных в БД SHM.
Данные в хранилище сохраняются под произвольными именами. Имена должны быть уникальными для каждого пользователя.
Типы хранимой информации:
- JSON
- Binary
Максимальный объем записи для одного ключа: 16 Mb.
К данным, сохраненным в формате JSON можно обращаться по ключам (см. примеры ниже).
Работать с данными можно как через HTTP, так и с помощью Шаблонов.
Работа через HTTP
Для работы с хранилищем используйте следующие данные:
URL
/shm/v1/storage/manage/NAME
, где NAME
- имя записи
Методы
- GET - чтение записи
- PUT - создание новой записи
- POST - редактирование существующией записи
- DELETE - удаление записи
Заголовок Content-Type
application/json
для сохранения данных JSONtext/html
- для хранения текстовых данныхapplication/octet-stream
- для хранения двоичных данных
Примеры
Сохранение данных в хранилище
Сохраним содержимое файла: my_file.txt
в SHM с ключом my_file
для пользователя: user
:
curl -s -u "user:pass" \
-X "PUT" \
-H "Content-Type: text/html; charset=utf-8" \
https://admin.DOMAIN/shm/v1/storage/manage/my_file \
--data-binary @my_file.txt
Сохраним JSON данные в SHM с ключом data
для пользователя: user
:
curl -s -u "user:pass" \
-X "PUT" \
-H "Content-Type: application/json; charset=utf-8" \
https://admin.DOMAIN/shm/v1/storage/manage/data \
-d '{"user_key":123}'
Чтение данных
Чтение файла my_file
из SHM и сохранение его в my_file.txt
:
curl -s -u 'user:pass' https://admin.DOMAIN/shm/v1/storage/manage/my_file > my_file.txt
Чтение JSON данных, получение значения ключа user_key
:
curl -s -u 'user:pass' https://admin.DOMAIN/shm/v1/storage/manage/data | jq .user_key