Загрузка файлов из директории, находящейся на FTP сервере

В этом примере мы разберем пример загрузки файлов из директории /outgoing/ находящейся на FTP сервере localhost (127.0.0.1)

в директорию на локальном компьютере C:\Atlas365\data\ftp_download\.
Файлы к этому примеру находятся в директории C:\Atlas365\examples\FTP\.
Данный пример является общим руководством и может быть применен к Вашему FTP-серверу.

Шаг 1

Сформируем файл процесса, который будет проверять директорию outgoing на FTP сервере localhost на предмет нахождения файлов формата Excel (xls, xlsx). В файле процесса укажем эту директорию, а также директорию C:\Atlas365\data\ftp_download\ в которую будут сохраняться файлы. Данный файл был создан (ProcessFTPDownload.xml) и находится: C:\Atlas365\examples\FTP\. Ниже мы разберем пошаговое создание этого файла.
  1. Откройте редактор процессов Atlas365 (Пуск -> Все программы -> Atlas365 –> Edit Atlas365 processes).
  2. Создайте стартовое (кнопка «Start event») и конечное (кнопка «End event») события:
  3. Откройте настройки стартового события («Start»).
  4. На панели FTP files установим следующие параметры:
    Name of FTP server: localhost
    Path to the file: /outgoing/*.xls*
    Check every: PT10S
    И нажмем кнопку «Select this trigger».
  5. Добавим две задачи (кнопка «Task»), расположим их одну под другой, так, как показано на рисунке ниже. Верхнюю задачу назовем «Загрузить файл с FTP-сервера», а нижнюю – «Копировать файл».
  6. Войдем в настройки задачи загрузки файла с FTP-сервера:

    В разделе «FTP functions» в подразделе «Download file» укажем «C:\Atlas365\data\» в качестве директории для загрузки файлов. Эта директория будет представлять собой временное хранилище файлов, которые впоследствии будут перемещены в директорию «C:\Atlas365\data\ftp_download» (см. ниже). Нажмем кнопку «Select this task» и сохраним изменения.
  7. Войдем в свойства задачи «Копировать файл»:

    В разделе «File functions» в подразделе «File copy» установим следующее значение директории в которую будут скопированы (с перемещением) файлы: «C:\Atlas365\data\ftp_download\». Нажмем кнопку «Select this task» и сохраним изменения.
  8. Соединим все элементы соединительными линиями. Чтобы соединить два элемента, первый из них (источник) необходимо выделить:

    Затем нажать на кнопку «Select element and press me», при этом появится следующая подсказка, говорящая о том, что необходимо выбрать второй соединяемый элемент (т.е. приемник):

    Выберем второй элемент, появится соединительная линия:

    Далее таким же образом соединим остальные элементы, чтобы получилось так, как на рисунке ниже:
  9. Проверим только что созданную структуру на наличие ошибок, нажав на кнопку «Validate structure». Если есть ошибки, то будет выдано соответствующее сообщение.
  10. Сохраним созданный процесс в файл при помощи кнопки «Save as» под именем «ProcessFTPDownload.xml» в директории C:\Atlas365\examples\FTP.
  11. Закроем редактор процессов. На этом этапе пример создания файла процесса с помощью редактора процессов завершен.
    На рисунке ниже показана основная часть сформированного xml – файла процесса:
 <process id="processID20160509">
<startEvent name="Start" id="StartEvent0001" parallelMultiple="false" isInterrupting="true">
<extensionElements>
<atlas:FTPFile>
<Path Identity="localhost">/outgoing/*.xls*</Path>
<Interval>PT10S</Interval>
</atlas:FTPFile>
</extensionElements>
</startEvent>
<endEvent name="End" id="EndEvent0003"/>
<task name="Загрузить файл с FTP-сервера " id="Task0002" completionQuantity="1" startQuantity="1" isForCompensation="false">
<extensionElements>
<atlas:action do="FTPDownloadMoveToDir">
<param1 type="text">C:\Atlas365\data\</param1>
<param2 type="text"/>
</atlas:action>
</extensionElements>
</task>
<task name="Копировать файл" id="Task0006" completionQuantity="1" startQuantity="1" isForCompensation="false">
<extensionElements>
<atlas:action do="FileCopyToDir">
<param1 type="text">C:\Atlas365\data\ftp_download</param1>
</atlas:action>
</extensionElements>
</task>
<sequenceFlow name="" id="SequenceFlow0009" targetRef="Task0002" sourceRef="StartEvent0001" isImmediate="false"/>
<sequenceFlow name="" id="SequenceFlow0010" targetRef="Task0006" sourceRef="Task0002" isImmediate="false"/>
<sequenceFlow name="" id="SequenceFlow0011" targetRef="EndEvent0003" sourceRef="Task0006" isImmediate="false"/>
</process>

Шаг 2

Настроим файл конфигурации программы. Для этого запустим ConfigEditor, создадим сервер процессов, настроим FTP сервер, и подключим созданный на предыдущем шаге файл процесса. Этот конфигурационный файл находится по следующему адресу: C:\Atlas365\examples\FTP\ ExampleFTPConfig.xml:
Необходимо удостовериться в правильности параметров FTP сервера:
Подключим файл процесса (ProcessFTPDownload.xml) (сделаем его активным):

Шаг 3

Запустим программу и проверим, что всё работает. Программа запускается нажатием на кнопку «Запуск»:
Проверим, что файл «Пример.xls» скачался и находится в директории C:\Atlas365\data\ftp_download:
На этом мы заканчиваем пример загрузки файла из директории на FTP – сервере.
С уважением,
Коллектив разработчиков программы Atlas365.