Доступ к FTP через netsuite

Я хочу запланировать сценарий в NetSuite для загрузки и скачивания текстового файла с FTP-сервера. Я могу создать файл и сохранить его в картотеке, но это все, что я могу.

Я немного новичок и не знаю, возможно ли вообще запланировать FTP из NetSuite?


person Nitin Chhajer    schedule 25.04.2015    source источник


Ответы (2)


К сожалению, FTP-доступ к NetSuite отсутствует.

Однако вы можете обойти это ограничение с помощью запланированного сценария или веб-служб.

Вот предыдущий пост с примером кода о том, как запустить запланированный сценарий: Как автоматически загрузить файл в картотеку Netsuite?

  1. Поместите ваш CSV-файл в публично видимое место (очевидно, это работает, только если это не конфиденциальная информация! ПОЖАЛУЙСТА, ПОЖАЛУЙСТА, не делайте этого, если вы не хотите, чтобы его увидел весь мир!)
  2. Создайте запланированный сценарий в NetSuite. Установите ежедневное развертывание в любое удобное для вас время.
  3. В запланированном сценарии используйте nlapiRequestUrl (справочный документ NS), чтобы получить файл из того места, где вы его разместили (обратите внимание, что существует ограничение на размер 5 МБ!)
  4. Используйте nlapiCreateFile (справочный документ NS) для создания файла
  5. Используйте nlapiSubmitFile (справочный документ NS), чтобы отправить его в файловый кабинет. Пример кода:

    var response = nlapiRequestURL ('http://yourserver.yourcompany.com/somecsvfile.csv' ); var csvDataInBase64 = response.getBody (); var file = nlapiCreateFile ('mycsv.csv', 'CSV', csvDataInBase64); nlapiSubmitFile (файл);

В этом образце нет проверки ошибок или чего-то еще, но это должно помочь вам начать работу.

person xengravity    schedule 25.04.2015
comment
К сожалению, в JavaScript или NS нет собственного механизма для протокола FTP. Вместо этого вам нужно будет использовать протокол HTTP, как указано в @xengravity. - person erictgrubaugh; 27.04.2015

В SuiteScript 2.0 вы можете выгружать / скачивать в места SFTP с помощью модуля N / sftp. Вот фрагмент кода, который я использовал для клиента.

            var csvfile = file.create({
                'name': 'transactions.csv',
                'fileType': file.Type.CSV,
                'contents': filecontents
            });

            var conn = sftp.createConnection({
                'username': username,
                'passwordGuid': passwordGuid,
                'url': url,
                'directory': directory,
                'hostKey': hostkey
            });

            conn.upload({
                'file': csvfile,
                'replaceExisting': true
            });
person Adam    schedule 14.03.2019