1

我在 SuiteScript 2.0 中使用 N/sftp 模块,并且可以成功地将文件发送到我的 SFTP 位置。但是,我的 SFTP 位置出现问题,因为来自 NetSuite 的连接似乎从未关闭。这意味着时不时地,我的 SFTP 服务器上的最大连接数已达到并且不允许进一步的连接 - 迫使我重新启动我的 SFTP 服务(在我自己的服务器上)。

这是我的代码:

var connection = sftp.createConnection({
        username: 'username',
        passwordGuid: '123456789',
        url: 'url.server.com',
        hostKey: ''
    });
    //log.error('CONNECTION',connection);

    var myFileToUpload = file.create({
        name: internalID + '.json',
        fileType: file.Type.JSON,
        contents: postData,
        description: 'SO', 
        encoding: file.Encoding.UTF8
    });


    connection.upload({
    directory: username + '/',
    filename: internalID + '.json',
    file: myFileToUpload,
    replaceExisting: false
   });

SuiteScript 文档不提供任何关闭连接的函数。有没有办法关闭它?

如果没有,我正在考虑尝试关闭我的 SFTP 服务上已打开超过一定时间的连接。我不认为这是处理这种情况的最佳方式。对此或替代解决方案的任何输入也将不胜感激。

先感谢您。

4

1 回答 1

1

当 NS 宣布支持 SFTP 时,大家非常高兴。我报告了你去年写的问题,显然还没有解决。

这一点,再加上 N/sftp 无法列出远程目录中的文件,导致我放弃了 N/sftp 作为生产就绪模块。启动外部服务来管理 sftp 连接真的很容易。我使用带有简单承载令牌的快递和护照来验证入站连接。

我还按照计划的 cron/windows 调度程序作业完成了传输。

我已经在 AWS Lambda、Azure 和 Heroku 上完成了这项工作。

密钥传输当然是一个问题。AWS 允许您加密您的静态属性。我的偏好是这样,但没有什么比 Netsuite 对密钥的预期使用更安全了。

于 2018-04-17T18:27:49.870 回答