Кросс-платформенное решение для прямой выгрузки заказов из облачного хранилища S3

Материал из PODS Wiki
Перейти к: навигация, поиск

В рамках техпроцесса выгрузки готовых к печати заказов выполняются две группы операций -

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.php)

Настройка выгрузки в панели управления PODS

    • В разделе панели управления Справочник FTP создать новую запись, выбрать тип выгрузке "AzureBlob", задать произвольное название для данного сервера выгрузки.
    • В разделе панели управления Настройки - Интеграция - в поле "Адрес API для уведомления об успешном рендеринге" прописать
    • В настройках продуктов/форматов книг указать созданный ранее AzureBlob сервер выгрузки.