Микросервис media-orchestration
Микросервис media-orchestration предоставляет функционал для загрузки и получения медиа файлов.
Доступ к сервису предоставляется по запросу.
Логика работы
В работе микросервиса используется сущность MediaRequest, которая содержит данные о запросе медиа (название стенда; название сервиса; название папки, где хранится медиа; список медиа файлов; флаг о наличии/отсутствии необходимости изменения размера медиа файла и др.).
Аутентификация и авторизация
При обращении к сервису аутентификация и авторизация не нужны.
Service context path
/api/media-orchestration/
Настройки и параметры конфигурации
Параметры конфигурации указываются в Vault.
Vault используется на нашей платформе в качестве хранилища всех конфигураций развертывания. Инструмент может быть выбран другой.
{
"env": {
"JAVA_XMS": "XXm",
"JAVA_XMX": "YYYm"
}
}
// пример взят с тестового стенда
{
"env": {
"OAUTH_ECOM_CLIENT_ID": "токен_приложения_ECOM_OAuth",
"OAUTH_ZITADEL_CLIENT_ID": "токен_приложения_Zitadel",
"OAUTH_ZITADEL_ISSUER_URI": "url_Zitadel"
}
}
Методы микросервиса
- Создание медиа - POST запрос, /v1/media
standName - название стенда
serviceName - название сервиса
folder - название папки
files - список медиа файлов
fileMap - карта файлов с указанием их названия и медиа-ключа
withResizing - флаг для активации изменения размера изображения
originalFileName - оригинальное название файла
originalFileNameMediaKey - оригинальный медиа-ключ названия медиа файла
mediaKey - строковое значение, если медиа успешно создано
- 200 - медиа файл создан, возвращен медиа-ключ файла
- 422 - ошибка, отсутствуют обязательные параметры
- Публикация медиа файла - PUT запрос, /v1/media
{
"standName": "master",
"serviceName": "catalog",
"folder": "images",
"fileMap":
{
"1-pinot-grigio-640x294.jpg": "1716034828389-1882559365.jpg"
},
"withResizing":
"false"
}
{
"1-pinot-grigio-640x294.jpg":
"master/catalog/images/1716034828389-1882559365.jpg"
}
- 200 - операция успешно выполнена, медиа файл опубликован
- 404 - ошибка, медиа файл не найден
- Удаление медиа файла - DELETE запрос, /v1/media/{standName}/{serviceName}/{folder}/{fileName}
standName - path-параметр, обязательный: название стенда
serviceName - path-параметр, обязательный: название сервиса
folder - path-параметр, обязательный: название папки
fileName
- path-параметр, обязательный: название файла
Отсутствует. В ответе приходит только код операции, например, 204.
- 204 - медиа файл успешно удален
- 404 - ошибка, медиа файл не
найден
- Создание медиа по пути - POST запрос, /v1/media/{standName}/{serviceName}/{folder}
standName - path-параметр, обязательный: название стенда
serviceName - path-параметр, обязательный: название сервиса
folder - path-параметр, обязательный: название папки
withResizing - флаг для активации изменения размера изображения
file (MultipartFile) - файл для загрузки
mediaKey - сгенерированный медиа-ключ файла
- 201 - медиа файл создан, возвращен медиа-ключ файла
- 422 - ошибка, отсутствуют обязательные параметры
- Публикация медиа (перенос медиа в публичный бакет) - PUT запрос, /v1/media/{standName}/{serviceName}/{folder}/{fileName}
standName - наименование стенда (обязательный параметр)
serviceName - наименование сервиса (обязательный параметр)
folder - наименование папки (обязательный параметр)
fileName - наименование файла
withResizing - флаг для активации изменения размера изображения
Отсутствует.
- 200 - медиа файл успешно опубликован
- 404 - ошибка, медиа файл не найден