我们可以使用NetSuite suitescript从SFTP文件夹中读取数据吗?

时间:2015-01-30 21:41:24

标签: netsuite

我需要将支付文件从NetSuite导出到安全的ftp文件夹,并从安全的ftp文件夹中读取支付回NetSuite的状态。

我不想在外部系统中维护任何代码。有谁知道,我如何使用Netsuite中的Suite脚本实现这一目标?

非常感谢!

3 个答案:

答案 0 :(得分:4)

我制作了一个工具和视频教程,介绍如何使用2016.2 Suitescript API的新SFTP模块。它拥有启动脚本项目所需的一切,例如获取passwordGUID和sftp服务器的主机密钥。

Connecting to SFTP

Check the code here

答案 1 :(得分:2)

单独使用SuiteScript是不可能的。您需要创建一个外部应用程序,它将通过Web服务/ suitetalk从NetSuite读取文件,并将其上传到FTP,反之亦然。

答案 2 :(得分:2)

我知道这个反应有点晚了但是NetSuite刚刚取代了SFTP。

如果您有权访问NetSuite SuiteAnswers,请查看以下链接。 https://netsuite.custhelp.com/app/answers/detail/a_id/51361

/**
*@NApiVersion 2.x
*/
require(['N/sftp', 'N/file'],
function(sftp, file) {
    var myPwdGuid = "B34672495064525E5D65032D63B52301";
    var myHostKey = "AAA1234567890Q=";

    var connection = sftp.createConnection({
        username: 'myuser',
        passwordGuid: myPwdGuid,
        url: 'host.somewhere.com',
        directory: 'myuser/wheres/my/file',
        hostKey: myHostKey
    });

    var myFileToUpload = file.create({
        name: 'originalname.js',
        fileType: file.fileType.PLAINTEXT,
        contents: 'I am a test file. Hear me roar.'
    });

    connection.upload({
        directory: 'relative/path/to/remote/dir',
        filename: 'newFileNameOnServer.js',
        file: myFileToUpload,
        replaceExisting: true
    });

    var downloadedFile = connection.download({
        directory: 'relative/path/to/file',
        filename: 'downloadMe.js'
    });
});