Показать сообщение отдельно
Старый 23.10.2018, 03:01   #1  
pedrozzz is offline
pedrozzz
Молодой, подающий надежды
Аватар для pedrozzz
MCBMSS
Лучший по профессии 2015
 
164 / 218 (8) ++++++
Регистрация: 18.02.2010
Адрес: Краснодар
D365FO - импорт файлов периодической операцией через BULK INSERT
Процесс:
  1. Некая сторонняя система или человек выкладывает файл в некий каталог
  2. Периодическая операция в аксапте видит новые файлы и вызывает хранимую процедуру на SQL, в которую параметром передается путь к файлу
  3. SQL засасывает содержимое через BULK INSERT и возвращает либо Ок, либо ошибку
  4. В зависимости от ответа файл перемещается либо в каталог архива, либо в ошибки
На Ax2012 задача решалась просто, через сетевую шару и настройку доступа к каталогам всем, кому надо.

В D365FO насколько я понял аналог сетевой шары можно сделать через Azure File Storage, который можно замаунтить и использовать, как диск. Но во всех примерах с Azure BULK INSERT используется Blob storage, который, как я понял, замаунтить нельзя.

Вопросы к тем, кто, может быть, уже решал аналогичную задачу.
  1. Можно ли на SQL использовать в качестве external datasource не Blob, а File storage?
  2. Если нет, то как быть?

На второй вопрос пока вижу ответ, средствами Ах копировать из File в Blob, передавать на SQL Blob, после успешной/неуспешной вставки данных этот Blob удалять и манипулировать дальше с File опять из Ах. Но как-то сложно это всё выглядит Может есть путь проще? Размеры файлов, кстати, от 4 до 10 Гб, как там с копированием File -> Blob? Оно в облаках выполняется или сначала скачивается файл, а потом закачивается обратно?
__________________
Кононов Пётр