Кросс-платформенное решение для прямой выгрузки заказов из облачного хранилища S3 — различия между версиями
Wikiadmin (обсуждение | вклад) |
Wikiadmin (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
+ | == Прямая выгрузка из PrintOnDemandSolution AzureBlob == | ||
+ | |||
В рамках техпроцесса выгрузки готовых к печати заказов выполняются две группы операций - | В рамках техпроцесса выгрузки готовых к печати заказов выполняются две группы операций - | ||
Строка 6: | Строка 8: | ||
Операция №2 - т.е. выгрузка файлов на сервер, в стандартном исполнении происходит с использованием FTP протокола. Это классический, надежный протокол, однако при выгрузке большого количества заказов/файлов, общая скорость выгрузки может быть недостаточно быстрой. Для крупных печатных домов, с большим количеством обрабатываемых заказов, предложено кросс-платформенное решение для прямой выгрузки файлов из облачного хранилища PrintOnDemandSolution AzureBlob. | Операция №2 - т.е. выгрузка файлов на сервер, в стандартном исполнении происходит с использованием FTP протокола. Это классический, надежный протокол, однако при выгрузке большого количества заказов/файлов, общая скорость выгрузки может быть недостаточно быстрой. Для крупных печатных домов, с большим количеством обрабатываемых заказов, предложено кросс-платформенное решение для прямой выгрузки файлов из облачного хранилища PrintOnDemandSolution AzureBlob. | ||
− | + | == Установка и настройка ПО == | |
− | + | Для настройки выгрузки из AzureBlob на сервере печатного дома необходимо установить следующее программное обеспечение: | |
− | + | ||
− | + | * .NET Core Runtime. Инструкция по установке для разных ОС https://www.microsoft.com/net/download/core | |
+ | * PrintOnDemandSolution AzureBlob Downloader [ссылка] для загрузки файлов из Azure. | ||
Порядок установки PrintOnDemandSolution AzureBlob Downloader: | Порядок установки PrintOnDemandSolution AzureBlob Downloader: | ||
− | + | * Распаковать архив в директорию на сервере печатного | |
− | + | * В файле settings.json нужно прописать: | |
− | + | ** DownloadPath - директория в которую будут загружаться скачанные файлы (должна быть доступна на запись пользователю от имени которого работает web-сервер) | |
− | + | ** DownloadLimit - максимальное количество потоков загрузки | |
− | + | ** PodsUrl - ссылка на титульную страницу PODS-сайта WL | |
− | + | ** SecretKey - секретный ключ для входящих запросов | |
− | + | ** В файле NLog.config нужно прописать путь, куда будут сохранятся логи загрузчика. Level на этапе отладки лучше оставить на уровне Debug, потом можно будет поменять на Error. | |
− | Скрипт для работы с API PODS | + | == Скрипт для работы с API PODS == |
− | + | * На веб-сервер печатного дома необходимо разместить скрипт, который будет обрабатывать уведомления платформы PODS о завершении рендеринга. [[API#Уведомление о завершении рендеринга проекта (для выгрузки из Blob Azure)]] | |
− | + | * Для старта выгрузки, надо передавать приложению ID заказа в качестве параметра. Команда для запуска "dotnet PodsDownloader.dll {orderId}". | |
Пример скрипта в приложении (pods.php) | Пример скрипта в приложении (pods.php) | ||
− | Настройка выгрузки в панели управления PODS | + | == Настройка выгрузки в панели управления PODS == |
− | + | * В разделе панели управления Справочник FTP создать новую запись, выбрать тип выгрузке "AzureBlob", задать произвольное название для данного сервера выгрузки. | |
− | + | * В разделе панели управления Настройки - Интеграция - в поле "Адрес API для уведомления об успешном рендеринге" прописать | |
− | + | * В настройках продуктов/форматов книг указать созданный ранее AzureBlob сервер выгрузки. |
Версия 15:08, 23 августа 2017
Содержание
Прямая выгрузка из PrintOnDemandSolution AzureBlob
В рамках техпроцесса выгрузки готовых к печати заказов выполняются две группы операций -
- №1 рендеринг проекта пользователя в печатный формат (PDF/JPEG/etc...)
- №2 выгрузка файлов для печати на сервер печатного дома.
Операция №2 - т.е. выгрузка файлов на сервер, в стандартном исполнении происходит с использованием FTP протокола. Это классический, надежный протокол, однако при выгрузке большого количества заказов/файлов, общая скорость выгрузки может быть недостаточно быстрой. Для крупных печатных домов, с большим количеством обрабатываемых заказов, предложено кросс-платформенное решение для прямой выгрузки файлов из облачного хранилища PrintOnDemandSolution AzureBlob.
Установка и настройка ПО
Для настройки выгрузки из AzureBlob на сервере печатного дома необходимо установить следующее программное обеспечение:
- .NET Core Runtime. Инструкция по установке для разных ОС https://www.microsoft.com/net/download/core
- PrintOnDemandSolution AzureBlob Downloader [ссылка] для загрузки файлов из Azure.
Порядок установки PrintOnDemandSolution AzureBlob Downloader:
- Распаковать архив в директорию на сервере печатного
- В файле settings.json нужно прописать:
- DownloadPath - директория в которую будут загружаться скачанные файлы (должна быть доступна на запись пользователю от имени которого работает web-сервер)
- DownloadLimit - максимальное количество потоков загрузки
- PodsUrl - ссылка на титульную страницу PODS-сайта WL
- SecretKey - секретный ключ для входящих запросов
- В файле NLog.config нужно прописать путь, куда будут сохранятся логи загрузчика. Level на этапе отладки лучше оставить на уровне Debug, потом можно будет поменять на Error.
Скрипт для работы с API PODS
- На веб-сервер печатного дома необходимо разместить скрипт, который будет обрабатывать уведомления платформы PODS о завершении рендеринга. API#Уведомление о завершении рендеринга проекта (для выгрузки из Blob Azure)
- Для старта выгрузки, надо передавать приложению ID заказа в качестве параметра. Команда для запуска "dotnet PodsDownloader.dll {orderId}".
Пример скрипта в приложении (pods.php)
Настройка выгрузки в панели управления PODS
- В разделе панели управления Справочник FTP создать новую запись, выбрать тип выгрузке "AzureBlob", задать произвольное название для данного сервера выгрузки.
- В разделе панели управления Настройки - Интеграция - в поле "Адрес API для уведомления об успешном рендеринге" прописать
- В настройках продуктов/форматов книг указать созданный ранее AzureBlob сервер выгрузки.